Trackformer 1.2 · Public Data API
Public, read-only JSON for forecasts, physical pressure, observed winds/radii and provenance. Cross-origin GET is enabled for GitHub Pages and other clients. No token or visitor-side model download is required. API contract 1.1.
Discover all published data
/api/history/v1/resources — machine-readable endpoint and scientific contract. /api/data/v1/catalog — all public static data assets with SHA-256, CORS-enabled file URLs and pagination. Use ?prefix=history/&limit=100 and follow next. Dynamic cloud forecast issues are discoverable through the continually refreshed History catalogue below. Only already-public data is exposed, never credentials, server environment variables or an arbitrary URL proxy.
Forecasts and physical pressure
- /api/history/v1/catalog — available storms, exact issue times and member counts.
/api/history/v1/storms/{storm_id}— one storm and its saved issues./api/history/v1/forecasts/{id}— model route, member-mean central pressure, separate observations, source hashes and data links./api/history/v1/fields/{id}— original physical basin arrays, geographic coordinates and exact valid times, plus matching recovered core grids incore_reconstructionwhen available./api/history/v1/cores/{id}— decoded moving-core fields, +0 issue state, +6…+120 h frames and replay provenance. Missing exports return 404; source outages return 503./api/history/v1/issues/{id}— one response containing bothforecastandfield.- /api/history/live — current JMA Analysis with valid UTC and separate official forecast points. Official future points are comparisons, never model inputs.
Core grids already contain basin + actual moving anomaly. Use the matching core inside its geographic bounds and basin outside; never add the basin a second time. core_availability reports missing/pending cores explicitly. Isobars are 2 hPa with 4 hPa major labels; blue denotes lows and red highs. No scalar insertion or field shift is used.
Verified Fung-wong issue + pressure JSON · 7 Nov 2025 12 UTC · at +42 h the original core readout and map sample both round to 957.5 hPa. This historical issue is one member, not the separate 50-member film.
Complete observed tracks, wind and radius
- /api/history/v1/observations/catalog — complete browsable IBTrACS catalogue, source hashes and seasons.
/api/history/v1/observations/seasons/{year}— every published observed storm in a season./api/history/v1/observations/storms/{storm_id}— the full observed track, pressure, winds, agency averaging periods and available quadrant radii.- /api/history/v1/coastlines — the same map geometry used by History.
Observed data are separate from forecasts. Missing wind/radius remains null or absent, never zero. Preserve units, agency, averaging period and radius definition; circular pressure-derived R34 is not an official quadrant radius. A recovered pressure core alone does not establish a valid wind or radius forecast.
Progress and audit receipts
Original job status · Original archive audit · Core recovery status · Core-field audit · Coverage and exclusions. The original 32,230-issue archive and the continuing core recovery are audited separately. Completed routes do not mean every core has been exported.
Use from GitHub Pages
const base = "https://trackformer-weatherlab.rudin-euler-8253.chatgpt.site";
const read = async path => {
const r = await fetch(base + path);
if (!r.ok) throw new Error("Forecast unavailable: " + r.status);
return r.json();
};
const catalog = await read("/api/history/v1/catalog");
const issue = catalog.storms[0].issues[0];
const forecast = await read("/api/history/v1/forecasts/" + issue.id);
const pressure = await read(forecast.field_url);
const core = pressure.core_reconstruction; // null if not yet exported/unavailable
// Or fetch /api/history/v1/issues/{id} for forecast + field in one response.
// Core already includes basin + moving anomaly; do not add it twice.
// Match route and pressure by valid_time_utc, never by array offset.
// Preserve forecast.issue_time_utc, members, kind and source_note.Scientific contract
Coordinates are degrees; pressure is hPa; all times are UTC. Forecasts begin at their recorded issue location and are never re-anchored to later observations. Lead zero is an issue state, not a predicted future pressure field. Member counts are explicit: daily ensemble hindcasts and live ensemble issues use 50 smoothly perturbed causal inputs; the automatic historical tick backfill uses one member. Fields are genuine model-generated geographic means rounded to 0.01 hPa for display. Central pressure averages member core readouts and need not equal the displayed field minimum.
Experimental wind and radius estimates
Future route points may include wind_kt_auxiliary, the existing neural maximum-wind scalar in knots, and wind_estimation. The latter contains pressure-derived ocean-balance wind and circular RMW/R34/R50/R64 estimates in kilometres. Each actual member is diagnosed separately before aggregation. Every estimate reports mean, p10, p90, valid_members and total_members; a complete-member mean is null if any member is unresolved. Null is unavailable, not zero. Estimates are not calibrated wind skill, official quadrant radii, or confidence intervals, and have no agency-matched averaging period. Land and storm-motion effects are not modelled. Legacy records without saved member cores retain unavailable diagnostics; observed agency radii remain separate.
Historical learned-wind recovery is separate from pressure-derived estimates: /api/history/v1/winds/{id} exposes actual auxiliary model wind, exact +6…+120 h times, original member count, missing-coverage masks and replay provenance. Forecast responses merge matching verified wind exports into their route points without modifying original route coordinates, central pressures or pressure fields. No observed future winds are substituted. wind_availability distinguishes available, pending and temporary source failure. The same cloud replay recovers wind and missing core fields, under one existing archive lock.
Wind recovery progress · Learned-wind audit receipt. The scope is the original 32,230 Western Pacific issues; older forecasts preserve their one-member identity. An exported issue may still have unsupported leads, which stay null. USA 1-minute and JMA 10-minute winds remain separate reference curves; the model averaging period is unvalidated.
New field documents may also include issue_pressure_hpa and issue_valid_time_utc, the causal model initial basin state for +0-hour playback. Never substitute a future +6-hour grid when an old record lacks that initial state. The pressure colors use one fixed physical hPa scale: blue lows and red highs, without modifying the arrays.
Saved pressure storage uses a version-pinned, SHA-256-verified archive in the existing Hugging Face model repository; cloud issues and their recovered moving cores use the existing GitHub forecast-data branch. This API returns ordinary hPa arrays, transparently decoding compressed storage. A pressure-source outage returns 503, not invented values. Core export provenance includes unchanged original forecast/basin hashes, causal input identity and measured replay differences.
Automatic exact-model CPU inference runs in the existing GitHub repository every six hours, independent of this Mac and visitors. It prioritizes current in-domain JMA storms, with separately labelled single-member and real 50-member live outputs, then the checksum-pinned historical plan. Historical backfill issues are single-member. Schedules can be delayed; consult job status and coverage classifications for current counts. Historical reanalyses are retrospective, may overlap fitting years, and are not independent operational tests.
For rolling playback, match issue_time_utc exactly to each six-hour timeline tick and show that issue at +0 h. One-issue playback separately animates its +6 through +120 h evolution. A missing tick must remain unavailable: never shift an earlier route or relabel a future issue. Cache upcoming issues for smooth playback. The API returns ordinary JSON even when cloud fields use lossless gzip storage.
Coverage is explicit: all observed storms remain browsable, but forecasts exist only for completed listed issues. Out-of-domain storms are not extrapolated. A current JMA storm does not imply that its latest issue has finished; prior issues keep their original time. Source failures return 503. Cache for five minutes and respect ETag when supplied; do not mass-poll every field. Your GitHub Pages can continue using the same merged API without deploying model weights.
1.2 checkpoint SHA-256: f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0. Research visualization only; follow official warnings.