Rusty Weather v0.3.0
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-storeor 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_DATEdecoding and adds a validatedXTIMErecovery 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
.rwsbinary codec remains version 1, and existingrw-store.run.v1stores remain readable without migration. - Exact-time runs use additive
rw-store.run.v2andrw-store.hour.v2metadata. 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.