Releases: FahrenheitResearch/rusty-weather
Releases · FahrenheitResearch/rusty-weather
Release list
Rusty Weather v0.4.1
Sounding Studio
- Fully movable and resizable SHARPpy panels, with persistent Stretch/Fit sizing and Dock/Float presentation.
- Customize the three diagnostic boards cell by cell: reorder, replace, remove, split sections, or insert the current Formula Lab result.
- Independent sounding typography with Space Grotesk, clean sans, and technical mono presets plus adjustable text scale.
- One shared presentation workspace across model, observation-adjusted, RAOB, and imported-file soundings; layout and table choices survive restarts.
Science and reliability
- Updated to the corrected native sharppyrs renderer, including native MPL support, broader SHARPpy numerical parity, and the corrected squared streamwiseness formulation (ratio² × 100).
- Formula Lab table entries now retain content-aware formula identity and exact store provenance, so renamed outputs or reused labels cannot silently change the science.
- Sounding layout persistence preserves unknown future settings across upgrades and downgrades.
All six platform bundles are built by the signed release workflow and include SHA-256 checksum files.
Rusty Weather v0.4.0
What's Changed
- Add SHARPmod native bridge binaries by @FahrenheitResearch in #2
- Replace native soundings with SHARPpyRS by @FahrenheitResearch in #3
Full Changelog: v0.3.0...v0.4.0
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.
Rusty Weather v0.2.3
Full Changelog: v0.2.2...v0.2.3
Rusty Weather v0.2.2
Full Changelog: v0.2.1...v0.2.2
Rusty Weather v0.2.1
Full Changelog: v0.2.0...v0.2.1
Rusty Weather v0.2.0
Full Changelog: v0.1.0...v0.2.0
rusty-weather v0.1.0
First public release of the all-Rust weather platform.
What's here
- rw-store — per-hour self-contained store: windowed 2D tile reads, column-chunked 3D volumes (0.19 ms warm soundings), build-hash provenance in every file
- rw-ingest — HRRR GRIB -> store: ~14 s/hour (all 29 derived products precomputed), ECAPE family behind
--heavy; peak RAM <4 GB; typed progress events + cancel tokens; profile presets (full|sounding|view) with calibrated size estimates (±5%) - rw-sat — continuous GOES ABI ingest: live follow with rolling time-window store, 8 composite recipes + 16 band palettes, pure-Rust NetCDF/HDF5 (no C deps)
- rw-ui — embeddable egui panels (run browser, field viewer with production colortables, sharprs skew-T soundings, download panel with live estimates, satellite follow + loop player); no eframe dependency, panels mount into any host
Ui - rusty-weather-ui — the desktop app over those panels
- Benchmarked: 3 forecast hours x ~250 products rendered + stored in ~57 s warm-cache (pixel-identical to the original rustwx render lane)
Consumers note: rw-sat dependents MUST add the [patch.crates-io] hdf5-reader line — see README.
983 tests. MIT.