Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 22 additions & 24 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand All @@ -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
Expand All @@ -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

Expand Down
Loading