Skip to content

v0.19.0

Latest

Choose a tag to compare

@NickGeneva NickGeneva released this 30 Sep 22:08
1a6e366

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 GOESGLM data source
  • Added footprint size variables to the optical lightning imager vocabulary: lightning_group_area and lightning_flash_area for GOESGLM (native GLM footprint area in square meters) and lightning_group_footprint_pixels for MeteosatLI, complementing the existing lightning_flash_footprint_pixels. These give group and flash detections a footprint size for extent-density gridding
  • Added eager_sessions option 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.regions takes named coordinate boxes and adds a labeled region axis 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
  • NNJAObsConv gains exclude_message_types to skip PrepBUFR message families at decode, e.g. ("SATWND",) when AMVs come from NNJAObsSatwnd
  • Added gps_refractivity to NNJAObsConv and NomadsGDASObsConv exposing the GPS-RO refractivity levels (ARFR, N-units) with elev set to the level height (HEIT), plus radius_curvature (ELRC) and geoid_undulation (GEODU) columns on GPS-RO rows

鈿欙笍 Changed

  • Renamed the ERA5 data sources ARCO and CDS to ARCO_ERA5 and CDS_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, plus lightning_flash_duration and lightning_flash_footprint_pixels. GOESGLM variable ids flashe and flashc are renamed to lightning_event_energy and lightning_event_count respectively.
  • 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_array now 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 instead
  • StormScope now raises if its normalized state or conditioning contains non-finite values not sanitized by valid_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.
  • NNJAObsSat warns and skips a missing aggregate cycle file instead of failing the whole request, matching NNJAObsConv and the UFS sources
  • NNJAObsConv / NNJAObsSat download 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 file
  • NNJAObsConv / NomadsGDASObsConv GPS-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_rng has no reset argument (for example Aurora1p5Ensemble)
  • CorrDiffCosmoEra5SDA: retuned the default DPS guidance (sda_std_obs, 0.5 -> 0.75, sda_gamma 5e-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, matching StormCastCONUS
  • 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