This release introduces new features including GIF animation support, wandb run resumption, and improved ensemble loading, alongside a large number of bug fixes and maintenance updates.
Added
-
Add support for GIF animation generation for model predictions #218 @kartikangiras
-
Add
AGENTS.mdfile to the repo to give agents more information about the codebase and the contribution culture.#416 @sadamov -
Enable
pin_memoryin DataLoaders when GPU is available for faster async CPU-to-GPU data transfers #236 @abhaygoudannavar -
Expose
--wandb_idCLI argument to allow resuming an existing W&B run by
ID. When provided,resume="allow"is set automatically so the same job
script works for both the initial submission and all resubmissions, making
it suitable for HPC systems with limited job runtimes or that may crash.
#197 @Mani212005
Changed
-
Change the default ensemble-loading behavior in
WeatherDataset/WeatherDataModuleto use all ensemble members as independent samples for ensemble datastores (with matching ensemble-member selection for forcing when available); single-member behavior now requires explicitly opting in via--load_single_member#332 @kshirajahere -
Refactor graph loading: move zero-indexing out of the model and update plotting to prepare using the research-branch graph I/O #184 @zweihuehner
-
Replace
print()-basedrank_zero_printwithlogurulogger.info()for structured log-level control #33
Fixed
-
Fix validation crash in
plot_error_mapand resolve DDP NCCL initialization error on single-device setups #193 @AdityaKumarSethia -
Fix
--metrics_watchhandling to avoid AttributeError when unset and improve warning behavior during evaluation #420 @archit7-beep -
Standardize all script references to use
create_graphinstead of the legacycreate_meshname in README andpyproject.toml, and fix minor README typos #426 @GiGiKoneti -
Initialize
da_forcing_meanandda_forcing_stdtoNonewhen forcing data is absent, fixingAttributeErrorinWeatherDatasetwithstandardize=True#369 @Sir-Sloth-The-Lazy -
Ensure proper sorting of
analysis_timeinNpyFilesDatastoreMEPS._get_analysis_timesindependent of the order in which files are processed with glob #386 @Gopisokk -
Switch to lat/lon-based plotting with
pcolormeshandcartopyfor accurate spatial visualisation regardless of underlying projection. #168 @sadamov -
Replace
shell=Truesubprocess call incompute_standardization_stats.pywith a safe argument list and Python-side hostname parsing to prevent command injection viaSLURM_JOB_NODELIST#264 @ashum9 -
Avoid NaN when standardizing fields with zero std #189 @varunsiravuri
-
Replaces multiple
assertstatements used for runtime input validation with explicitValueError#279 @Sir-Sloth-The-Lazy -
Fix README image paths to use absolute GitHub URLs so images display correctly on PyPI #188 @bk-simon
-
Fix typo in
ar_model.pythat causesAttributeErrorduring evaluation #204 @Ritinikhil -
Changed the hardcoded True to a conditional check "persistent_workers=self.num_workers > 0" #235 @santhil-cyber
-
Avoid eager download of the MEPS example dataset during pytest collection by lazily initializing it in
tests/conftest.py, allowing tests to run without triggering a dataset download at import time. #391 @Saptami191 -
fractional_plot_bundlenow correctly multiplies by fraction instead of dividing #222 @santhil-cyber -
Fix
all_gather_catproducing wrong shapes on single-device runs by only flattening whenall_gatheractually introduces a new leading dimension #424 @RajdeepKushwaha5 -
Infer spatial coordinate names for MDPDatastore (rather than assuming names
xandy), allows for e.g. lat/lon regular grids #169 @leifdenby
Maintenance
-
Update PR template to clarify milestone/roadmap requirement and maintenance changes #186 @joeloskarsson
-
Update CI/CD to use python 3.13 for testing and full range of current python versions for linting (3.10 - 3.14) #173 @observingClouds
-
Move development dependencies to dependency-group #174 @observingClouds
-
Update CI/CD to use only uv for full test suite and drop pdm #178 @observingClouds
-
Fix caching of MEPS example data in CI/CD #181 @observingClouds
-
Migrated build backend from PDM to Hatchling with hatch-vcs and added uv build in deploy CI
-
Warn when running with
--evalwithout--loadto avoid accidentally evaluating randomly initialized weights #190 @varunsiravuri