meteolibre-dev/global_sat_metar_v3
global_sat_metar_v3 Corrected republish of meteolibre-dev/global_sat_metar_v2. Same shards, schema, patch grid and satellite/radar/elevation bytes; only the rasterized METAR/SYNOP channel was fixed. What was fixed The v2 rasterizer used a closed 1-hour window [t-1h, t], so every observation stamped at exactly HH:00:00 (all SYNOP/FM-12 reports, and any station with reporting gaps > 1h) was written into two consecutive hourly frames. ~20-40% of consecutive obs pairs… See the full description on the dataset page: https://huggingface.co/datasets/meteolibre-dev/global_sat_metar_v3.
globalsatmetar_v3
Corrected republish of `meteolibre-dev/global_sat_metar_v2`. Same shards, schema, patch grid and satellite/radar/elevation bytes; only the rasterized METAR/SYNOP channel was fixed.
What was fixed
The v2 rasterizer used a closed 1-hour window [t-1h, t], so every observation stamped at exactly HH:00:00 (all SYNOP/FM-12 reports, and any station with reporting gaps > 1h) was written into two consecutive hourly frames. ~20-40% of consecutive obs pairs in v2 were exact copies of the same report, which trains a copy-prior ("next frame = last frame") into sequence models.
In v3, a frame t+1 whose tmpc, dwpc and mslp are all bit-exact equal to frame t (at least one finite) is treated as the same report leaked across the hour boundary and is set to NaN on all 7 obs channels. Boundary duplicate rate: ~43% -> ~10% (residual = genuine value repeats).
Known limitations
- A minority of genuine value repeats (temperature unchanged AND pressure AND dewpoint bit-identical) are also NaN'd; obs are slightly sparser than a full regeneration from source would produce.
- Stations reporting only wind/precip (no tmpc/dwpc/mslp) are not corrected (rare).
- The underlying METAR scrape ends 2025-05-30 23:59 UTC; later shards are SYNOP-only (3-hourly cadence at synoptic hours) in v2 and v3 alike.
The generator itself was fixed (half-open window (t-1h, t]) in src/generate/generate_satellite_metar_dataset_v2.py; future generations do not need this post-processing.
