diff --git a/CHANGELOG.md b/CHANGELOG.md index bf462c07a..2a3a3fca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [unreleased](https://github.com/mllam/neural-lam/compare/v0.5.0...HEAD) +## [unreleased](https://github.com/mllam/neural-lam/compare/v0.6.0...HEAD) + +## [v0.6.0](https://github.com/mllam/neural-lam/releases/tag/v0.6.0) + +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 @@ -15,15 +19,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Enable `pin_memory` in DataLoaders when GPU is available for faster async CPU-to-GPU data transfers [\#236](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/184) @zweihuehner -- Replace `print()`-based `rank_zero_print` with `loguru` `logger.info()` for structured log-level control ([#33](https://github.com/mllam/neural-lam/issues/33)) + +- Replace `print()`-based `rank_zero_print` with `loguru` `logger.info()` for structured log-level control [\#33](https://github.com/mllam/neural-lam/issues/33) + +- Switch to lat/lon-based plotting with `pcolormesh` and `cartopy` for accurate spatial visualisation regardless of underlying projection. [\#168](https://github.com/mllam/neural-lam/pull/168) @sadamov + +- Infer spatial coordinate names for MDPDatastore (rather than assuming names `x` and `y`), allows for e.g. lat/lon regular grids [\#169](https://github.com/mllam/neural-lam/pull/169) @leifdenby ### Fixed -- Fix validation crash in `plot_error_map` and resolve DDP NCCL initialization error on single-device setups -[\#193](https://github.com/mllam/neural-lam/pull/193) @AdityaKumarSethia + +- Fix validation crash in `plot_error_map` and resolve DDP NCCL initialization error on single-device setups [\#193](https://github.com/mllam/neural-lam/pull/193) @AdityaKumarSethia - Fix `--metrics_watch` handling to avoid AttributeError when unset and improve warning behavior during evaluation [#420](https://github.com/mllam/neural-lam/pull/420) @archit7-beep @@ -33,8 +49,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Ensure proper sorting of `analysis_time` in `NpyFilesDatastoreMEPS._get_analysis_times` independent of the order in which files are processed with glob [\#386](https://github.com/mllam/neural-lam/pull/386) @Gopisokk -- Switch to lat/lon-based plotting with `pcolormesh` and `cartopy` for accurate spatial visualisation regardless of underlying projection. [\#168](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/264) @ashum9 - Avoid NaN when standardizing fields with zero std [#189](https://github.com/mllam/neural-lam/pull/189) @varunsiravuri @@ -48,35 +62,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - 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](https://github.com/mllam/neural-lam/pull/391) @Saptami191 -- `fractional_plot_bundle` now correctly multiplies by fraction instead of dividing -[\#222](https://github.com/mllam/neural-lam/pull/222) @santhil-cyber +- `fractional_plot_bundle` now correctly multiplies by fraction instead of dividing [\#222](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/424) @RajdeepKushwaha5 -### Added - -- 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](https://github.com/mllam/neural-lam/pull/197) @Mani212005 - - - - Fix Slack domain link [\#288](https://github.com/mllam/neural-lam/pull/288) @sadamov -### Fixed - -- Infer spatial coordinate names for MDPDatastore (rather than assuming names `x` and `y`), allows for e.g. lat/lon regular grids [\#169](https://github.com/mllam/neural-lam/pull/169) @leifdenby - - ### Maintenance - Update PR template to clarify milestone/roadmap requirement and maintenance changes [\#186](https://github.com/mllam/neural-lam/pull/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](https://github.com/mllam/neural-lam/pull/173) @observingClouds -- Move development dependencies to dependency-group [#\174](https://github.com/mllam/neural-lam/pull/174) @observingClouds +- Move development dependencies to dependency-group [\#174](https://github.com/mllam/neural-lam/pull/174) @observingClouds - Update CI/CD to use only uv for full test suite and drop pdm [\#178](https://github.com/mllam/neural-lam/pull/178) @observingClouds