Repository navigation
Earth2Studio general release 0.19.0
馃毃 Breaking Changes 馃毃
- No notable breaks this release 馃帀
馃摃 Changelog
馃寧 Added
- Added the ERA5 -> HRRR CONUS generative downscaling model (
CorrDiffEra5Hrrr) - Added the NSF NCAR CAMulator CAM6 climate emulator prognostic model (
CAMulator), with its prescribed SST/sea-ice/insolation/CO2 forcing data aource (CAMulatorForcing) and the CREDIT conservation fixers and wind artifact filter applied at inference - Added Aurora 1.5 Ensemble, SFNO, Pangu, FengWu, FuXi, DLWP, and FCN to the docs scorecard
- Added the FuXi-S2S global daily prognostic model (
FuXiS2S) - Added WeatherNext 2 Cyclones operational and Mini prognostic model wrappers (
WeatherNext2Cyclones,WeatherNext2CyclonesMini) - Added HRRR land-sea mask and surface geopotential variables
- Added EUMETSAT MTG-I Lightning Imager (LI) Level-2 pointed lightning data source (
MeteosatLI), providing per-flash, per-group and per-event detections from the LFL, LGR and LEF collections as a data frame - Added group- and flash-level variables to the
GOESGLMdata source - Added footprint size variables to the optical lightning imager vocabulary:
lightning_group_areaandlightning_flash_areaforGOESGLM(native GLM footprint area in square meters) andlightning_group_footprint_pixelsforMeteosatLI, complementing the existinglightning_flash_footprint_pixels. These give group and flash detections a footprint size for extent-density gridding - Added
eager_sessionsoption to Pangu6 and Pangu3 to build the extra ONNX sessions at construction instead of on first use in a rollout - Added regional splits to evaluation recipe scoring, in both the online and store-then-score pathways:
scoring.regionstakes named coordinate boxes and adds a labeledregionaxis to the score stores. - New eval recipe optional per-member online metrics include MAE (
scoring.online.mae) and log spectral distance (scoring.online.lsd) - Scorecards gain regional, seasonal, monthly, per-init-hour and per-IC views with baseline overlays; GraphCast and Atlas CRPS added
- Added
NNJAObsSatwnd, a data source for the raw NCEP atmospheric motion vector dumps in the NNJA archive (1979-present), exposing satellite, subset, computation method, height assignment, zenith angle and quality indicators NNJAObsConvgainsexclude_message_typesto skip PrepBUFR message families at decode, e.g.("SATWND",)when AMVs come fromNNJAObsSatwnd- Added
gps_refractivitytoNNJAObsConvandNomadsGDASObsConvexposing the GPS-RO refractivity levels (ARFR, N-units) withelevset to the level height (HEIT), plusradius_curvature(ELRC) andgeoid_undulation(GEODU) columns on GPS-RO rows
鈿欙笍 Changed
- Renamed the ERA5 data sources
ARCOandCDStoARCO_ERA5andCDS_ERA5, respectively. The former names remain as deprecated aliases that emit a warning and will be removed in a future release. - Unified the lightning variable vocabulary across optical lightning imagers (GOES GLM, MTG LI) onto
lightning_{event,group,flash}_{count,energy, radiance}names, pluslightning_flash_durationandlightning_flash_footprint_pixels.GOESGLMvariable idsflasheandflashcare renamed tolightning_event_energyandlightning_event_countrespectively. - Pangu6 and Pangu3 build their extra ONNX sessions lazily and cache them on the model, instead of reconstructing them on every rollout call
GOES.fetch_arraynow logs a warning when a fetched variable has fill-valued (NaN) pixels on the Earth disk, indicating a real data quality issue at that timestamp; NaNs within 3px of the disk edge, where our geometry and NOAA's retrieval can disagree about visibility, are logged at debug level insteadStormScopenow raises if its normalized state or conditioning contains non-finite values not sanitized byvalid_mask/conditioning_valid_mask, instead of silently passing them to the diffusion sampler- Scorecard campaigns score online over 48 initial conditions and the score data moved to the HF Earth2Studio assets dataset
馃敤 Fixed
- Fixed Aurora 1.5 ensemble rollout noise-cache sizing and cleanup.
NNJAObsSatwarns and skips a missing aggregate cycle file instead of failing the whole request, matchingNNJAObsConvand the UFS sourcesNNJAObsConv/NNJAObsSatdownload cycle files as concurrent byte ranges (chunked=True) written atomically, so large aggregates no longer exceed the object store's per-request timeout and an interrupted download cannot leave a truncated cache fileNNJAObsConv/NomadsGDASObsConvGPS-RO decode keeps bending-angle levels without their own tangent point, placing them at the occultation's reference point instead of dropping them- Eval recipe: per-member seeding now works for models whose
set_rnghas noresetargument (for exampleAurora1p5Ensemble) CorrDiffCosmoEra5SDA: retuned the default DPS guidance (sda_std_obs,0.5->0.75,sda_gamma5e-5->7.5e-5) to keep the observation-guided analysis stable (the old defaults could diverge to non-finite output).- Fixed empty reduction dimensions in statistics, skipping for mean and rejecting as undefined for variance/std reductions.
StormCast.__call__no longer writes its output into the input tensor. The initial condition passed in is left untouched, matchingStormCastCONUS- Evaluation recipe: clearing resume markers no longer races between ranks. Concurrent removal of the same progress directory retries until the directory no longer exists
Special thank you to our external contributors:
Full Changelog: 0.18.0...0.19.0