Skip to content

v0.6.0

Latest

Choose a tag to compare

@joeloskarsson joeloskarsson released this 13 Apr 07:03
· 1 commit to main since this release
f42e10b

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.md file to the repo to give agents more information about the codebase and the contribution culture.#416 @sadamov

  • Enable pin_memory in DataLoaders when GPU is available for faster async CPU-to-GPU data transfers #236 @abhaygoudannavar

  • Expose --wandb_id CLI 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 / WeatherDataModule to 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()-based rank_zero_print with loguru logger.info() for structured log-level control #33

Fixed

  • Fix validation crash in plot_error_map and resolve DDP NCCL initialization error on single-device setups #193 @AdityaKumarSethia

  • Fix --metrics_watch handling to avoid AttributeError when unset and improve warning behavior during evaluation #420 @archit7-beep

  • Standardize all script references to use create_graph instead of the legacy create_mesh name in README and pyproject.toml, and fix minor README typos #426 @GiGiKoneti

  • Initialize da_forcing_mean and da_forcing_std to None when forcing data is absent, fixing AttributeError in WeatherDataset with standardize=True #369 @Sir-Sloth-The-Lazy

  • Ensure proper sorting of analysis_time in NpyFilesDatastoreMEPS._get_analysis_times independent of the order in which files are processed with glob #386 @Gopisokk

  • Switch to lat/lon-based plotting with pcolormesh and cartopy for accurate spatial visualisation regardless of underlying projection. #168 @sadamov

  • Replace shell=True subprocess call in compute_standardization_stats.py with a safe argument list and Python-side hostname parsing to prevent command injection via SLURM_JOB_NODELIST #264 @ashum9

  • Avoid NaN when standardizing fields with zero std #189 @varunsiravuri

  • Replaces multiple assert statements used for runtime input validation with explicit ValueError #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.py that causes AttributeError during 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_bundle now correctly multiplies by fraction instead of dividing #222 @santhil-cyber

  • Fix all_gather_cat producing wrong shapes on single-device runs by only flattening when all_gather actually introduces a new leading dimension #424 @RajdeepKushwaha5

  • Infer spatial coordinate names for MDPDatastore (rather than assuming names x and y), allows for e.g. lat/lon regular grids #169 @leifdenby

  • Fix Slack domain link #288 @sadamov

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 --eval without --load to avoid accidentally evaluating randomly initialized weights #190 @varunsiravuri