Changelog
0.4.0 — 2026-07-10
Tag v0.4.0.
PyPI ·
GitHub releases
Science audit wave 2
All 25 remaining science-audit findings are resolved: 12 fixed in this
release, 7 already resolved in the shipped 0.3.0 line, 4 resolved by
documentation, 2 refuted, 0 deferred. Value-moving corrections: the exported
SHIP helper now uses the most-unstable parcel's mixing ratio with SHARPpy
bounds and corrections (canonical case 0.5 → 1.2, 2.4×); the
exported DCP uses the 0–6 km mean wind with knot conversions
(1.09 → 2.36, +116.5%); registered SCP applies the current SPC MUCIN
factor (−50% / −75% at MUCIN −80 / −160 J/kg);
effective STP gains the SPC elevated-inflow zero gate (elevated case
1.0 → 0.0); TEHI follows the literal SPC term assignment
(2.4 → 1.6); relative humidity is computed as q/qs per NCAR
DCOMPUTERH; gravity is WRF's 9.81 m/s²; height-at-pressure
interpolates in log pressure; the dewpoint vapor-pressure floor matches NCAR;
updraft-helicity boundary handling matches DCALCUH; and
Southern-Hemisphere earth-rotation of winds matches wrf-python.
Full table with references and
magnitudes.
Compatibility
Two exported Rust helpers changed deliberately: the critical-angle helper
now requires the surface wind (the arity change prevents silent stale use),
and the exported DCP entry point is the explicit
derecho_composite_parameter_from_mean_wind. The Python API is
unchanged; WRF-Runner consumer compatibility was proven unaffected, with the
consumer unmodified, via the 45-probe runtime test (3 consumer-source, 36
literal getvar, 6 helper; 0 failures). wrf.__version__ now
reports the distribution version (previously stuck at 0.2.34).
Tests
Rust workspace suite: 724 passed, 0 failed, 22 ignored (0.3.0 baseline 693 / 0 / 22). wrf-python 1.3.4.1 differential: 16 / 16 required comparisons, 0 failures. SHARPpy 1.4.0a5 differential: 23 / 23, 0 failures, maximum absolute error 3.47 × 10−18. ECAPE goldens unchanged, 12 / 12 plus the pinned upstream golden.
0.3.0 — 2026-07-09
Tag v0.3.0 at commit 351b8f3.
PyPI ·
GitHub releases
Performance
The severe/diagnostic pipeline is ≈3.3× faster on large grids: effective-inflow-layer scans cached, depth-limited CAPE and EL grids parallelized, composites reuse cached CAPE/DCAPE, parallel HDF5 chunk decompression, reduced per-column allocations. Measured details.
Science corrections
Values change where the old ones were wrong: saturated parcel lifts above
1000 hPa no longer clamp to the 1000 hPa adiabat; sub-LCL CIN integrates every
level instead of one midpoint slab; CIN no longer accumulates negative buoyancy
above the LFC; AVO/PVO apply WRF map-scale factors; theta diagnostics return
registered Kelvin units; the helicity alias maps to
srh. Verified against wrf-python with a differential parity
harness (zero failures) and SPC definitions.
Corrections with magnitudes and citations.
Python
Strict wrf-python CAPE/SRH compatibility modes
(cape2d_wrfpython, cape3d_wrfpython,
srh_wrfpython and components), interplevel
compatibility, and analytic WRF coordinate transforms
(ll_to_xy/xy_to_ll).
Prior releases
Compact list from the repository's annotated tags.
| Version | Date | Summary |
|---|---|---|
0.2.35 | 2026-04-23 | Maintenance release |
0.2.34 | 2026-04-14 | Maintenance release |
0.2.33 | 2026-04-14 | Maintenance release |
0.2.32 | 2026-04-13 | Maintenance release |
0.2.31 | 2026-04-13 | Cache CAPE/Bunkers families; acknowledge Solarpower07 |
0.2.30 | 2026-04-13 | Maintenance release |
0.2.29 | 2026-04-13 | Maintenance release |
0.2.28 | 2026-04-12 | Maintenance release |
0.2.26 | 2026-04-12 | Maintenance release |
0.2.25 | 2026-03-25 | Clear intermediate cache after each getvar to reduce memory |
0.2.24 | 2026-03-25 | Time-slice HDF5 reads to reduce peak memory |
0.2.23 | 2026-03-22 | interplevel returns NaN for out-of-range levels instead of clamping |
0.2.22 | 2026-03-19 | Remove rayon to fix ProcessPoolExecutor hang |
0.2.21 | 2026-03-17 | Match wrf-python DBZ defaults; expose use_varint/use_liqskin |
0.2.20 | 2026-03-17 | DBZ variable intercepts; plot fixes |
0.2.19 | 2026-03-17 | Rewrite DBZ and UH to match Fortran reference exactly |
0.2.18 | 2026-03-17 | Fix reflectivity, UH, and SLP computations |
0.2.17 | 2026-03-17 | Prefer WRF native REFL_10CM and UP_HELI_MAX |
0.2.16 | 2026-03-17 | Full SHIP formula; stale lapse rates delegate to generic path |
0.2.15 | 2026-03-17 | Add tv2m (2-m virtual temperature) with lake_interp |
0.2.14 | 2026-03-17 | Lapse rate uses 2 m data at surface; supports lake_interp |
0.2.13 | 2026-03-17 | lake_interp flows through STP/SCP/EHI/SHIP/BRI |
0.2.12 | 2026-03-17 | interplevel supports 2-D target arrays; SRH exact match |
0.2.11 | 2026-03-17 | Match SRH exactly to Solarpower07's implementation |
0.2.10 | 2026-03-17 | Unify all SRH/Bunkers paths; fix 5 consistency issues |
0.2.9 | 2026-03-17 | SRH: switch to non-pressure-weighted mean wind (SHARPpy mean_wind_npw) |
0.2.8 | 2026-03-16 | Maintenance release |
0.2.7 | 2026-03-16 | Maintenance release |
0.2.6 | 2026-03-16 | Raw variable unit conversion for RAINNC/T2/PSFC and others |
0.2.5 | 2026-03-16 | Fix 7 bugs from code review; add dam unit |
0.2.4 | 2026-03-16 | Fix SRH sign convention; raw variable fallback; t2 |
0.2.3 | 2026-03-16 | Add t2; fix hybrid HDF5; interplevel/get_cartopy |
0.2.2 | 2026-03-16 | Fix hybrid HDF5; add interplevel/get_cartopy/latlon_coords |
0.2.1 | 2026-03-16 | Fix hybrid HDF5 files: v0 superblock + v2 object headers |
0.2.0 | 2026-03-16 | Self-contained: vendored math, lake interpolation, solar7 colormaps |
0.1.0 | 2026-03-16 | Pure-Rust reader default; fix Sync for PyO3; verify output matches |
Note: 0.2.27 was never tagged.