Skip to content

Rusty Weather v0.3.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 01:01
8e70a88

Rusty Weather v0.3.0 expands the desktop app from a forecast-store viewer into a broader model-processing and research workflow.

Highlights

Formula Lab

  • Build safe, unit-aware custom diagnostics from equations.
  • Evaluate against any compatible model in rw-store or directly against raw WRF files.
  • Raw WRF mode exposes geometry, map factors, physical heights, and exact time axes for horizontal, vertical, and temporal calculus.
  • Formula results immediately become plot-ready in-memory fields with a fitted neutral color scale; recolor or rescale without rerunning.

Expanded model and archive ingest

  • Import raw or postprocessed WRF NetCDF, ordinary NetCDF, and GRIB Edition 1.
  • Browse NSF NCAR GDEX/THREDDS catalogs in-app with lazy navigation, cancellation, caching, resumable downloads, NCSS subsetting, and importer handoff.
  • All-Rust ERA-20C/GRIB1 streaming import includes ECMWF table 128, Gaussian latitude, scan normalization, and global longitude handling.

WRF processing and exact time axes

  • Pins WRF-Rust v0.2.37 at 2550d4e2, retaining the designated v0.2.36 science line while adding Formula Lab and reader fixes.
  • Adds fast-core, default, heavy/ECAPE, raw-extra, and custom processing profiles.
  • Preserves minute, sub-hour, and irregular WRF lead times through browsing, maps, soundings, Formula Lab, and exports.
  • Fixes NetCDF4/HDF5 scalar fixed-string START_DATE decoding and adds a validated XTIME recovery path.
  • Rotates projected WRF winds before earth-relative canonical or kinematic use and withholds ambiguous products when required metadata is absent.

Plotting and UI

  • Adds bounded native batch rendering with product/timestep/domain selection, progress, cancellation, and per-item errors.
  • Adds common pressure-level maps backed by stored isobaric volumes.
  • Color Tables now supports colors-only application, full-preset application, and fitting a palette scale to the finite displayed range.
  • Persists WRF product settings, custom domains, storage paths, and color-table bindings.

Reliability

  • Multi-file imports are staged, validated, and published only after the complete run succeeds.
  • Source identity and revision are checked before publication to prevent mixed or partially written runs.
  • Import, Formula Lab, batch-render, and diagnostic work is bounded and isolated from the egui thread.
  • Satellite manifest/path validation and worker-start failure handling are hardened.

Storage and compatibility

  • The .rws binary codec remains version 1, and existing rw-store.run.v1 stores remain readable without migration.
  • Exact-time runs use additive rw-store.run.v2 and rw-store.hour.v2 metadata. Older v0.2.3 readers intentionally reject those runs rather than displaying incorrect forecast hours.
  • Source builds require Rust 1.92.

Current limitations

  • Generic local GRIB import currently supports GRIB1, not GRIB2.
  • GRIB-backed GDEX NCSS responses cannot yet be auto-imported; download the supported full GRIB1 file instead.
  • Production batch rendering is not yet enabled for exact-time v2 runs; direct viewing, Native Plot, soundings, and Formula Lab remain available.
  • Store-backed Formula Lab rejects calculus requiring missing geometry; use raw WRF mode for the complete calculus feature set.