Tip
Need help? Please let us know in the SUEWS Community.
Please report issues with the manual on GitHub Issues (or use Report Issue for This Page for page-specific feedback).
Please cite SUEWS with proper information from our Zenodo page.
11.1. Version 2026.4.3 (released on 3 April 2026)#
This release delivers a major backend migration to Rust FFI, RSL physics refinements, a new temperature attribution module, DTS enhancements, seasonal albedo adjustments, comprehensive validation improvements, and extensive bug fixes.
Major Features:
Rust FFI Bridge: Replaced f90wrap with a Rust FFI bridge as the sole simulation backend, improving build reliability and cross-platform support. (#1209)
Rust CLI Installation: Unified CLI interface with automatic PATH installation for the Rust-based
suews-runcommand. (#1215)T2 Attribution Module: Added module for diagnosing near-surface temperature, humidity, and wind speed changes by decomposing model output into physical process contributions, with diurnal cycle and heatmap visualisation helpers. (#918)
Dynamic RSL Coefficients: Compute momentum and heat transfer coefficients (c2m/c2h) dynamically from Harman and Finnigan (2007, 2008) RSL theory, replacing previous static lookup. (#1116)
Refined RSL Parameterisation: Explicit
R = beta * hd / elmparameterisation for c2m/c2h with improved numerical stability. (#1232)Seasonal Albedo Adjustment: Added seasonal adjustment of surface albedo (
alb_id) for vegetated surfaces based on phenology state. (#1211)Auto-initialise Vegetation Albedo: Vegetation albedo now auto-initialises from phenology state. (#1133)
STEBBS Profiles: Added support for Heating setpoints, Cooling setpoints, Appliance, Occupants, and Hot Water 10-minute profiles in STEBBS. (#1038)
Albedo Validation: Added
same_albedo_wallandsame_albedo_roofmodel options for roof and wall albedo consistency validation. (#1123)
DTS Enhancements:
Added
chunk_dayparameter for long DTS simulations. (#1172)Added
run_dts_multifor multi-grid DTS simulation support. (#1173)
Validation Improvements:
Added draft rules registry for structured validator rule management. (#1246)
Added conditional validation via
_is_physics_explicitly_configuredusing Pydantic v2model_fields_set. (#1247)Added upper limit to
nlayerto prevent run crashes. (#1206)Added
SUEWSOutputindex property. (#1178)Improved error message for timezone and
startdls/enddls. (#1174)Fixed optional
qn_surfsanddqndt_surfbut required in DyOHM settings. (#1189)Fixed biogenic parameters not required when carbon is switched off. (#1188)
Improved error message in
validate_albedo_ranges. (#1193)
Bug Fixes:
Fixed interpolation bounds error in RSL profiles. (#1228)
Fixed division-by-zero pitfalls in RSL/resistance chain. (#1229)
Guarded SPARTACUS LW solver against NaN from matrix singularity. (#1212)
Fixed SUEWS output packing overflow with fail-fast behaviour. (#1198)
Fixed Pydantic dict format handling in YAML numeric parser. (#1236)
Validated Rust output layout against Fortran metadata. (#1226)
Pinned pydantic>=2.12 to prevent OSGeo4W version conflict. (#1213)
Fixed STEBBS WWR extreme cases (
WWR = 0orWWR = 1). (#1261)Fixed biogenic CO2 to use local climate instead of global average temperature. (#1117)
Fixed missing STEBBS parameters in
sample_config.yml. (#1111)Retained
DatetimeIndex.freqafter concat in forcing data loading. (#1105)Extended nullification logic in validator for
stebbsmethod==0. (#1115)Serialised Pydantic models across multiprocessing spawn boundaries for DTS. (#1197)
Hardened parallel multi-grid DTS execution and unified return shape. (#1176)
Corrected DTS availability check and removed unsupported parameter. (#1187)
Auto-repair stale refs in fetch_origin conductor. (#1239)
Deduplicated Discourse-to-GitHub issue pipeline. (#1153)
Fixed Sphinx and docs dependencies for Sphinx 8 compatibility. (#1159)
Fixed missing import in orchestrator.py validator. (#1094)
Fixed error message in pressure range check. (#1090)
Fixed macOS UMEP wheel build by replacing sed with Python. (#1128)
Build System and CI:
Hardened CI and dependency supply chain after LiteLLM incident with startup hook auditing. (#1264)
Added Rust change detection and Cargo build caching across all platforms. (#1217, #1219)
Gated tag-triggered deployments on master ancestry. (#1162)
Pre-built documentation on CI, served from
rtdbranch. (#1167)Deprecated
env.ymland conda/mamba build pathway. (#1163)UMEP build filter for compiled extension ABI changes. (#1164)
Granular path filters and pyproject classification. (#1161)
Added GitHub workflow skills and pre-commit quality gate. (#1160)
Cleaned up Sphinx deps for Sphinx 8 compatibility. (#1157)
Other Improvements:
Bridge Discourse forum topics to GitHub issues with webhook sync. (#1138)
Added status tags for changelog entries (governance). (#1181)
Removed internal-only parameters from
sample_config.yml. (#1216)Cleaned up STEBBS outputs. (#1175)
Refactored land cover fraction check to use Phase B as single authority. (#1099)
Documentation:
Revised README as science-first landing page. (#1265)
Improved project branding with logo and favicon. (#1260)
Added anthropogenic emission defaults and parameter guidance. (#1231)
Linked community forum URLs to invite page. (#1201)
Added user workflow guide for getting started with SUEWS. (#1014)
Added executable documentation examples using sphinx-gallery. (#1057)
Specified precision requirements for pressure input. (#1107)
Breaking Changes:
f90wrap is no longer supported; the Rust FFI bridge is the sole simulation backend. (#1209)
Deprecated
env.ymland conda/mamba build pathway. (#1163)
For complete details, see the CHANGELOG.