Skip to content

Commit

Permalink
Merge branch 'main' into feat/mlflow
Browse files Browse the repository at this point in the history
  • Loading branch information
khintz committed Jan 21, 2025
2 parents 5fe9f84 + cfda1c9 commit 97e7bb3
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 15 deletions.
30 changes: 17 additions & 13 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/joeloskarsson/neural-lam/compare/v0.2.0...HEAD)
## [unreleased](https://github.com/mllam/neural-lam/compare/v0.3.0...HEAD)

## [v0.3.0](https://github.com/mllam/neural-lam/releases/tag/v0.3.0)

This release introduces Datastores to represent input data from different sources (including zarr and numpy) while keeping graph generation within neural-lam.

### Added

Expand All @@ -22,27 +26,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Fix bugs introduced with datastores functionality relating visualation plots [\#91](https://github.com/mllam/neural-lam/pull/91) @leifdenby

## [v0.2.0](https://github.com/joeloskarsson/neural-lam/releases/tag/v0.2.0)
## [v0.2.0](https://github.com/mllam/neural-lam/releases/tag/v0.2.0)

### Added
- Added tests for loading dataset, creating graph, and training model based on reduced MEPS dataset stored on AWS S3, along with automatic running of tests on push/PR to GitHub, including push to main branch. Added caching of test data to speed up running tests.
[\#38](https://github.com/mllam/neural-lam/pull/38) [\#55](https://github.com/mllam/neural-lam/pull/55)
@SimonKamuk

- Replaced `constants.py` with `data_config.yaml` for data configuration management
[\#31](https://github.com/joeloskarsson/neural-lam/pull/31)
[\#31](https://github.com/mllam/neural-lam/pull/31)
@sadamov

- new metrics (`nll` and `crps_gauss`) and `metrics` submodule, stddiv output option
[c14b6b4](https://github.com/joeloskarsson/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
[c14b6b4](https://github.com/mllam/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
@joeloskarsson

- ability to "watch" metrics and log
[c14b6b4](https://github.com/joeloskarsson/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
[c14b6b4](https://github.com/mllam/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
@joeloskarsson

- pre-commit setup for linting and formatting
[\#6](https://github.com/joeloskarsson/neural-lam/pull/6), [\#8](https://github.com/joeloskarsson/neural-lam/pull/8)
[\#6](https://github.com/mllam/neural-lam/pull/6), [\#8](https://github.com/mllam/neural-lam/pull/8)
@sadamov, @joeloskarsson

- added github pull-request template to ease contribution and review process
Expand All @@ -69,31 +73,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
@sadamov

- Updated scripts and modules to use `data_config.yaml` instead of `constants.py`
[\#31](https://github.com/joeloskarsson/neural-lam/pull/31)
[\#31](https://github.com/mllam/neural-lam/pull/31)
@sadamov

- Added new flags in `train_model.py` for configuration previously in `constants.py`
[\#31](https://github.com/joeloskarsson/neural-lam/pull/31)
[\#31](https://github.com/mllam/neural-lam/pull/31)
@sadamov

- moved batch-static features ("water cover") into forcing component return by `WeatherDataset`
[\#13](https://github.com/joeloskarsson/neural-lam/pull/13)
[\#13](https://github.com/mllam/neural-lam/pull/13)
@joeloskarsson

- change validation metric from `mae` to `rmse`
[c14b6b4](https://github.com/joeloskarsson/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
[c14b6b4](https://github.com/mllam/neural-lam/commit/c14b6b4323e6b56f1f18632b6ca8b0d65c3ce36a)
@joeloskarsson

- change RMSE definition to compute sqrt after all averaging
[\#10](https://github.com/joeloskarsson/neural-lam/pull/10)
[\#10](https://github.com/mllam/neural-lam/pull/10)
@joeloskarsson

### Removed

- `WeatherDataset(torch.Dataset)` no longer returns "batch-static" component of
training item (only `prev_state`, `target_state` and `forcing`), the batch static features are
instead included in forcing
[\#13](https://github.com/joeloskarsson/neural-lam/pull/13)
[\#13](https://github.com/mllam/neural-lam/pull/13)
@joeloskarsson

### Maintenance
Expand Down Expand Up @@ -137,7 +141,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[\#78](https://github.com/mllam/neural-lam/pull/78)
@joeloskarsson

## [v0.1.0](https://github.com/joeloskarsson/neural-lam/releases/tag/v0.1.0)
## [v0.1.0](https://github.com/mllam/neural-lam/releases/tag/v0.1.0)

First tagged release of `neural-lam`, matching Oskarsson et al 2023 publication
(<https://arxiv.org/abs/2309.17370>)
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ datastore:
training:
state_feature_weighting:
__config_class__: ManualStateFeatureWeighting
values:
weights:
u100m: 1.0
v100m: 1.0
```
Expand Down
8 changes: 8 additions & 0 deletions neural_lam/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Standard library
import importlib.metadata

# First-party
import neural_lam.interaction_net
import neural_lam.metrics
Expand All @@ -7,3 +10,8 @@

# Local
from .weather_dataset import WeatherDataset

try:
__version__ = importlib.metadata.version(__name__)
except importlib.metadata.PackageNotFoundError:
__version__ = "unknown"
5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
[project]
name = "neural-lam"
version = "0.2.0"
version = "0.3.0"
description = "LAM-based data-driven forecasting"
authors = [
{ name = "Joel Oskarsson", email = "joel.oskarsson@liu.se" },
{ name = "Simon Adamov", email = "Simon.Adamov@meteoswiss.ch" },
{ name = "Leif Denby", email = "lcd@dmi.dk" },
{ name = "Simon Kamuk Christiansen", email = "skc@dmi.dk" },
{ name = "Kasper Hintz", email = "kah@dmi.dk" },
{ name = "Erik Larsson", email = "erik.larsson@liu.se" },
]

# PEP 621 project metadata
Expand Down
1 change: 1 addition & 0 deletions tests/test_imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@
def test_import():
assert neural_lam is not None
assert neural_lam.vis is not None
assert neural_lam.__version__ is not None

0 comments on commit 97e7bb3

Please sign in to comment.