Foundation model for S2S extreme-heat forecasting over Vietnam · session 2026-09-23 · scope: audit → target prototype, STOP before bulk download / training
api.ecmwf.int token is expired and S2S has migrated to ECDS
(2026-05-27). Nothing ran beyond Phase 0.
| Area | Result | Evidence |
|---|---|---|
| Compute | Slurm workq, 11×20 CPU, no GPU; PyTorch absent | config/training.yaml |
| Python / GRIB | 3.9.5; numpy/xarray/netCDF4/cdsapi/ecmwf-api-client present; cfgrib missing (eccodes/cdo CLI available) | node inspection |
| Gridded Tx | VnGAD tasmax °C, 61×31 @0.25°, 1961–2023, 586 valid cells, fill −999, 15 Feb-29 days | metadata/phase0_data_audit.json |
| Region mask | R1–R7 (codes 1–7) on the VnGAD grid; counts 51/105/37/88/63/96/101 | metadata/phase0_data_audit.json |
| Fixed P90 | 365×61×31, cyclic ±15 d, 2003–2022; 17.0–38.4 °C; 6.5% day-cells capped at 35 °C | data/processed/P90_2003_2022.nc |
| EHD threshold | min(P90, 35 °C) | data/processed/EHD_THRESHOLD_2003_2022.nc |
| Targets | mean daily EHD freq 0.1013 (per region 0.093–0.108) | outputs/metrics/target_event_frequency.csv |
| Target code | P90 leap/wrap, EHD/exceedance, weekly aggregates, episode detection, cross-week onset/active/days split, censoring — 11/11 tests | tests/test_targets.py |
| ECMWF structure | class s2 / dataset s2s / origin ecmf / stream enfh / type cf; 1.5° native; GRIB2; 34–65 d; 2015–2026 | metadata/ecmwf_reforecast_inventory.csv |
| ECMWF probe | node reached API; "Access token expired" | metadata/ecmwf_minimal_retrieval_status.json |
| # | Decision | Recommendation | |
|---|---|---|---|
| D1 | blocker | ECMWF credential expired | Refresh ECMWF/ECDS token in ~/.ecmwfapirc / ECDS config (never in chat/repo) |
| D2 | blocker | S2S migrated to ECDS (2026-05-27) | Confirm access path (ECDS client / cdsapi vs legacy MARS), then run the ready minimal retrieval |
| D3 | confirm | Two 0.25° grids present | Confirm VnGAD (61×31) target + mask7reg_VnGAD regions; Mask_VN_S2S_EC (65×41) out of scope |
| D4 | confirm | No GPU on the cluster | Provision a GPU resource or approve a CPU-sized prototype before Phase 3 |
| D5 | confirm | Station Tx absent | Provide station Tx file + station→grid provenance (independence caveat) |
| D6 | confirm | cfgrib missing | Install cfgrib/eccodes-python or standardise on cdo/eccodes-CLI + grib_to_netcdf |
| D7 | minor | 45 valid cells unclassified by region | Report separately vs assign nearest region |
date/hdate pairs covering 2003–2022 and true initializations/yr (do not assume 104).Generated from docs/PHASE0_AUDIT.md, metadata/phase0_data_audit.json,
outputs/metrics/target_event_frequency.csv and metadata/ecmwf_minimal_retrieval_status.json.
Locked definitions untouched · no original files modified, moved or deleted · leakage rule recorded in README.md and config/verification.yaml.