anemoi-datasets 0.5.6__tar.gz → 0.5.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/CODEOWNERS +3 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/ISSUE_TEMPLATE/bug_report.md +6 -14
- anemoi_datasets-0.5.10/.github/ci-config.yml +3 -0
- anemoi_datasets-0.5.10/.github/ci-hpc-config.yml +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/changelog-release-update.yml +13 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/ci.yml +17 -9
- anemoi_datasets-0.5.10/.github/workflows/push-to-private.yml +33 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/python-publish.yml +5 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/python-pull-request.yml +8 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.pre-commit-config.yaml +6 -12
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/CHANGELOG.md +56 -1
- anemoi_datasets-0.5.10/CONTRIBUTORS.md +13 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/PKG-INFO +11 -29
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/README.md +1 -1
- anemoi_datasets-0.5.10/docs/building/filters/rename.rst +20 -0
- anemoi_datasets-0.5.10/docs/building/filters/yaml/rename.yaml +11 -0
- anemoi_datasets-0.5.10/docs/building/sources/xarray-zarr.rst +18 -0
- anemoi_datasets-0.5.10/docs/building/sources/yaml/xarray-zarr.yaml +22 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/conf.py +6 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/index.rst +1 -0
- anemoi_datasets-0.5.10/docs/using/code/fill_missing_dates1_.py +1 -0
- anemoi_datasets-0.5.10/docs/using/code/fill_missing_dates2_.py +1 -0
- anemoi_datasets-0.5.10/docs/using/code/set_missing_dates_.py +1 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/missing.rst +31 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/pyproject.toml +12 -32
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/__init__.py +11 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/__main__.py +2 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/_version.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/__init__.py +2 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/cleanup.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/compare.py +3 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/copy.py +38 -68
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/create.py +20 -5
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/finalise-additions.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/finalise.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/init-additions.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/init.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/inspect.py +7 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/load-additions.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/load.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/patch.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/publish.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/scan.py +9 -0
- {anemoi_datasets-0.5.6/src/anemoi/datasets/create/functions/filters → anemoi_datasets-0.5.10/src/anemoi/datasets/compute}/__init__.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/compute/recentre.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/__init__.py +64 -48
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/check.py +4 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/chunks.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/config.py +5 -5
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/__init__.py +22 -7
- anemoi_datasets-0.5.10/src/anemoi/datasets/create/functions/filters/__init__.py +9 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/empty.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/noop.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/pressure_level_relative_humidity_to_specific_humidity.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/pressure_level_specific_humidity_to_relative_humidity.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/rename.py +16 -10
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/rotate_winds.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_dewpoint_to_relative_humidity.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_relative_humidity_to_dewpoint.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_relative_humidity_to_specific_humidity.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_specific_humidity_to_relative_humidity.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/speeddir_to_uv.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/unrotate_winds.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/uv_to_speeddir.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/__init__.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/accumulations.py +10 -4
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/constants.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/empty.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/forcings.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/grib.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/hindcasts.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/mars.py +97 -17
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/netcdf.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/opendap.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/recentre.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/source.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/tendencies.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/__init__.py +8 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/coordinates.py +5 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/field.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/fieldlist.py +12 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/flavour.py +21 -16
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/grid.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/metadata.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/time.py +39 -4
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/variable.py +6 -6
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray_kerchunk.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray_zarr.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/zenodo.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/__init__.py +3 -17
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/action.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/concat.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/context.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/data_sources.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/empty.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/filter.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/function.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/join.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/misc.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/pipe.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/repeated_dates.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/result.py +187 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/step.py +4 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/template.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/trace.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/patch.py +9 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/persistent.py +7 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/size.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/statistics/__init__.py +7 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/statistics/summary.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/utils.py +15 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/writer.py +3 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/zarr.py +8 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/__init__.py +27 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/concat.py +5 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/dataset.py +216 -37
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/debug.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/ensemble.py +4 -1
- anemoi_datasets-0.5.10/src/anemoi/datasets/data/fill_missing.py +165 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/forwards.py +27 -2
- anemoi_datasets-0.5.10/src/anemoi/datasets/data/grids.py +431 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/indexing.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/interpolate.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/join.py +17 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/masked.py +36 -10
- anemoi_datasets-0.5.10/src/anemoi/datasets/data/merge.py +180 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/misc.py +18 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/missing.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/rescale.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/select.py +15 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/statistics.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/stores.py +70 -3
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/subset.py +6 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/unchecked.py +9 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/xy.py +20 -5
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/dates/__init__.py +9 -7
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/dates/groups.py +3 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/fields.py +3 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/grids.py +86 -2
- anemoi_datasets-0.5.10/src/anemoi/datasets/testing.py +60 -0
- anemoi_datasets-0.5.10/src/anemoi/datasets/utils/__init__.py +8 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/utils/fields.py +2 -2
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/PKG-INFO +11 -29
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/SOURCES.txt +17 -3
- anemoi_datasets-0.5.10/src/anemoi_datasets.egg-info/requires.txt +43 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/test_create.py +35 -20
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_chunks.py +3 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_data.py +8 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_dates.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_indexing.py +3 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_kerchunk.py +4 -1
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_netcdf.py +16 -7
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_opendap.py +6 -5
- anemoi_datasets-0.5.10/tests/xarray/test_samples.py +73 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_zarr.py +66 -26
- anemoi_datasets-0.5.10/tools/grids/grids3.yaml +42 -0
- anemoi_datasets-0.5.10/tools/grids/grids4.yaml +41 -0
- anemoi_datasets-0.5.10/tools/grids/grids5.yaml +41 -0
- anemoi_datasets-0.5.10/tools/grids/grids6.yaml +41 -0
- anemoi_datasets-0.5.10/tools/grids/grids7.yaml +41 -0
- anemoi_datasets-0.5.10/tools/grids/grids_multilam.ipynb +1032 -0
- anemoi_datasets-0.5.10/tools/make-sample-dataset.py +37 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/upload-sample-dataset.py +13 -2
- anemoi_datasets-0.5.6/.github/ci-config.yml +0 -9
- anemoi_datasets-0.5.6/.github/ci-hpc-config.yml +0 -18
- anemoi_datasets-0.5.6/docs/building/filters/rename.rst +0 -6
- anemoi_datasets-0.5.6/docs/building/filters/yaml/rename.yaml +0 -4
- anemoi_datasets-0.5.6/docs/building/sources/xarray-zarr.rst +0 -6
- anemoi_datasets-0.5.6/docs/building/sources/yaml/xarray-zarr.yaml +0 -3
- anemoi_datasets-0.5.6/docs/using/code/missing_dates_.py +0 -1
- anemoi_datasets-0.5.6/src/anemoi/datasets/compute/__init__.py +0 -0
- anemoi_datasets-0.5.6/src/anemoi/datasets/data/grids.py +0 -253
- anemoi_datasets-0.5.6/src/anemoi/datasets/utils/__init__.py +0 -0
- anemoi_datasets-0.5.6/src/anemoi_datasets.egg-info/requires.txt +0 -62
- anemoi_datasets-0.5.6/tests/create/data_sources.yaml +0 -28
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.gitattributes +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/changelog-pr-update.yml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/label-public-pr.yml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/readthedocs-pr-update.yml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.gitignore +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.readthedocs.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.vscode/spellright.dict +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/LICENSE +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/Makefile +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_static/logo.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_static/style.css +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_templates/.gitkeep +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/apply-fmt.sh +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/advanced-options.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/empty.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/noop.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/rotate_winds.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/select.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/unrotate_winds.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/handling-missing-dates.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/handling-missing-values.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/incremental.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/introduction.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/naming-variables.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/operations.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/accumulations.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/forcings.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/grib.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/hindcasts.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/mars.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/netcdf.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/opendap.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/recentre.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/repeated_dates.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-based.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-kerchunk.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-kerchunk.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/accumulations1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/accumulations2.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/forcings.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib2.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib3.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib4.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/mars1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/mars2.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/netcdf.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/opendap.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/recentre.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates2.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates3.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates4.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/xarray-based.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/xarray-kerchunk.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/zenodo.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/zenodo.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/statistics.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/syntax.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/Makefile +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building1.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building2.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building2.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building3.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building3.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/concat.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/input.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/missing_dates.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/nan.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/pipe.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/check-index.sh +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/compare.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/copy.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/create.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/inspect.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/introduction.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/scan.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/images.pptx +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/installing.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/overview.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/overview_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/matrix.excalidraw +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/matrix.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/overview.excalidraw +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/overview.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/recipe.excalidraw +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/recipe.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/area1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/area2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/chain_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/combine_example.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/concat1.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/cutout_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/drop_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/end_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/ensembles1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/fill_missing_gaps_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/frequency1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/frequency2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/grids1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates3_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/join1.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching0_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching3_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching4_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/misc1.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/misc2.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/missing_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_cloud.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_combine1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_combine2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_complex.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_dict_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_first_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_list_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_name.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_other.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_path.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_yaml_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/rename_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/reorder1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/reorder2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/rescale_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/select1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/select2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/shuffle_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/some_attributes_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/start_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/statistics_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/subset_example.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/thinning_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/xy1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/xy2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip1_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip2_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip_xy_.py +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/combining.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/configuration.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/configuration.toml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/grids.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/area-1.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/concat.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-1.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-2.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-3.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-4.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-5.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-6.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/join.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/overlay.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/skip-missing.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/thinning-after.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/thinning-before.png +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/introduction.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/matching.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/methods.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/miscellaneous.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/opening.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/other.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/selecting.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/statistics.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/subsetting.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/zip.rst +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/setup.cfg +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/debug.css +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/concat.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/join.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/missing.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/nan.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/pipe.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/recentre.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/run.sh +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create-perturbations-full.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create-shift.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/.gitignore +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/examples/Makefile +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/Makefile +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids.ipynb +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids1.yaml +0 -0
- {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids2.yaml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CODEOWNERS file
|
|
2
2
|
|
|
3
3
|
# Protect workflow files
|
|
4
|
-
/.github/ @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
|
|
5
|
-
/.pre-commit-config.yaml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
|
|
6
|
-
/pyproject.toml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
|
|
4
|
+
/.github/ @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
|
|
5
|
+
/.pre-commit-config.yaml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
|
|
6
|
+
/pyproject.toml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
|
|
@@ -9,12 +9,15 @@ assignees: ''
|
|
|
9
9
|
**Describe the bug**
|
|
10
10
|
A clear and concise description of what the bug is.
|
|
11
11
|
|
|
12
|
+
** Version number **
|
|
13
|
+
I am using the following versions/branch/sha1 of the anemoi packages
|
|
14
|
+
(alternatively the output of `pip freeze`)
|
|
15
|
+
|
|
12
16
|
**To Reproduce**
|
|
13
17
|
Steps to reproduce the behavior:
|
|
14
18
|
1. Go to '...'
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
17
|
-
4. See error
|
|
19
|
+
2. Run this '....'
|
|
20
|
+
3. See error
|
|
18
21
|
|
|
19
22
|
**URL to sample input data**
|
|
20
23
|
Provide a URL to a sample input data, or attach a file to that report if it is small enough.
|
|
@@ -25,16 +28,5 @@ A clear and concise description of what you expected to happen.
|
|
|
25
28
|
**Screenshots**
|
|
26
29
|
If applicable, add screenshots to help explain your problem.
|
|
27
30
|
|
|
28
|
-
**Desktop (please complete the following information):**
|
|
29
|
-
- OS: [e.g. iOS]
|
|
30
|
-
- Browser [e.g. chrome, safari]
|
|
31
|
-
- Version [e.g. 22]
|
|
32
|
-
|
|
33
|
-
**Smartphone (please complete the following information):**
|
|
34
|
-
- Device: [e.g. iPhone6]
|
|
35
|
-
- OS: [e.g. iOS8.1]
|
|
36
|
-
- Browser [e.g. stock browser, safari]
|
|
37
|
-
- Version [e.g. 22]
|
|
38
|
-
|
|
39
31
|
**Additional context**
|
|
40
32
|
Add any other context about the problem here.
|
{anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/changelog-release-update.yml
RENAMED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
name: "Update Changelog"
|
|
3
3
|
|
|
4
4
|
on:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
workflow_run:
|
|
6
|
+
workflows:
|
|
7
|
+
- Upload Python Package
|
|
8
|
+
types:
|
|
9
|
+
- completed
|
|
8
10
|
|
|
9
11
|
permissions:
|
|
10
12
|
pull-requests: write
|
|
@@ -13,6 +15,7 @@ permissions:
|
|
|
13
15
|
jobs:
|
|
14
16
|
update:
|
|
15
17
|
runs-on: ubuntu-latest
|
|
18
|
+
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
16
19
|
|
|
17
20
|
steps:
|
|
18
21
|
- name: Checkout code
|
|
@@ -25,11 +28,18 @@ jobs:
|
|
|
25
28
|
with:
|
|
26
29
|
latest-version: ${{ github.event.release.tag_name }}
|
|
27
30
|
heading-text: ${{ github.event.release.name }}
|
|
31
|
+
release-notes: ${{ github.event.release.body }}
|
|
28
32
|
|
|
29
33
|
- name: Create Pull Request
|
|
30
34
|
uses: peter-evans/create-pull-request@v6
|
|
31
35
|
with:
|
|
32
36
|
branch: docs/changelog-update-${{ github.event.release.tag_name }}
|
|
37
|
+
base: develop
|
|
33
38
|
title: '[Changelog] Update to ${{ github.event.release.tag_name }}'
|
|
39
|
+
body: |
|
|
40
|
+
This PR updates the changelog to include the changes in the latest release.
|
|
41
|
+
|
|
42
|
+
> [!CAUTION]
|
|
43
|
+
> Merge DO NOT squash to correctly update the tag version of `develop` branch.
|
|
34
44
|
add-paths: |
|
|
35
45
|
CHANGELOG.md
|
|
@@ -35,19 +35,27 @@ on:
|
|
|
35
35
|
jobs:
|
|
36
36
|
# Run CI including downstream packages on self-hosted runners
|
|
37
37
|
downstream-ci:
|
|
38
|
+
|
|
38
39
|
name: downstream-ci
|
|
39
|
-
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
|
|
40
|
+
if: ${{ !contains(github.repository, 'private') && (!github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
|
|
40
41
|
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
|
|
41
42
|
with:
|
|
42
43
|
anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
|
|
43
44
|
codecov_upload: true
|
|
45
|
+
skip_matrix_jobs: |
|
|
46
|
+
gnu@debian-11
|
|
47
|
+
clang@rocky-8.6
|
|
48
|
+
gnu@debian-11
|
|
49
|
+
gnu@rocky-8.6
|
|
50
|
+
clang@rocky-8.6
|
|
51
|
+
gnu@fedora-37
|
|
44
52
|
secrets: inherit
|
|
45
53
|
|
|
46
|
-
# Build downstream packages on HPC
|
|
47
|
-
downstream-ci-hpc:
|
|
48
|
-
name: downstream-ci-hpc
|
|
49
|
-
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
|
|
50
|
-
uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
|
|
51
|
-
with:
|
|
52
|
-
anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
|
|
53
|
-
secrets: inherit
|
|
54
|
+
# # Build downstream packages on HPC
|
|
55
|
+
# downstream-ci-hpc:
|
|
56
|
+
# name: downstream-ci-hpc
|
|
57
|
+
# if: ${{ !contains(github.repository, 'private') && (!github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
|
|
58
|
+
# uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
|
|
59
|
+
# with:
|
|
60
|
+
# anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
|
|
61
|
+
# secrets: inherit
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Push to private repository
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- develop
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
push_changes:
|
|
10
|
+
if: ${{ !contains(github.repository, 'private') }}
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout source repository
|
|
15
|
+
uses: actions/checkout@v3
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
fetch-tags: true
|
|
19
|
+
|
|
20
|
+
- name: Set up Git configuration
|
|
21
|
+
run: |
|
|
22
|
+
git config user.name "github-actions[bot]"
|
|
23
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
24
|
+
|
|
25
|
+
- name: Setup SSH key
|
|
26
|
+
uses: webfactory/ssh-agent@v0.5.0
|
|
27
|
+
with:
|
|
28
|
+
ssh-private-key: ${{ secrets.KEY_TO_PRIVATE }}
|
|
29
|
+
|
|
30
|
+
- name: Push changes to private repository
|
|
31
|
+
run: |
|
|
32
|
+
git remote add private git@github.com:${{ github.repository }}-private.git
|
|
33
|
+
git push --set-upstream private develop
|
|
@@ -9,14 +9,18 @@ on:
|
|
|
9
9
|
|
|
10
10
|
jobs:
|
|
11
11
|
quality:
|
|
12
|
+
if: ${{ !contains(github.repository, 'private') }}
|
|
12
13
|
uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
|
|
13
14
|
with:
|
|
14
15
|
skip-hooks: "no-commit-to-branch"
|
|
15
16
|
|
|
16
17
|
checks:
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
python-version: ["3.9", "3.10", "3.11", "3.12"]
|
|
17
21
|
uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
|
|
18
22
|
with:
|
|
19
|
-
python-version:
|
|
23
|
+
python-version: ${{ matrix.python-version }}
|
|
20
24
|
|
|
21
25
|
deploy:
|
|
22
26
|
needs: [checks, quality]
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
# This workflow will upload a Python Package using Twine when a release is created
|
|
2
2
|
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
|
3
3
|
|
|
4
|
-
name:
|
|
4
|
+
name: Test PR
|
|
5
5
|
|
|
6
6
|
on:
|
|
7
|
-
push:
|
|
8
7
|
pull_request:
|
|
9
8
|
types: [opened, synchronize, reopened]
|
|
9
|
+
push:
|
|
10
|
+
branches:
|
|
11
|
+
- develop
|
|
12
|
+
schedule:
|
|
13
|
+
- cron: "9 2 * * 0" # at 9:02 on sunday
|
|
14
|
+
|
|
10
15
|
|
|
11
16
|
jobs:
|
|
12
17
|
quality:
|
|
@@ -17,7 +22,7 @@ jobs:
|
|
|
17
22
|
checks:
|
|
18
23
|
strategy:
|
|
19
24
|
matrix:
|
|
20
|
-
python-version: ["3.
|
|
25
|
+
python-version: ["3.11"]
|
|
21
26
|
uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
|
|
22
27
|
with:
|
|
23
28
|
python-version: ${{ matrix.python-version }}
|
|
@@ -5,12 +5,12 @@ repos:
|
|
|
5
5
|
- id: clear-notebooks-output
|
|
6
6
|
name: clear-notebooks-output
|
|
7
7
|
files: tools/.*\.ipynb$
|
|
8
|
-
stages: [commit]
|
|
8
|
+
stages: [pre-commit]
|
|
9
9
|
language: python
|
|
10
10
|
entry: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace
|
|
11
11
|
additional_dependencies: [jupyter]
|
|
12
12
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
13
|
-
rev:
|
|
13
|
+
rev: v5.0.0
|
|
14
14
|
hooks:
|
|
15
15
|
- id: check-yaml # Check YAML files for syntax errors only
|
|
16
16
|
args: [--unsafe, --allow-multiple-documents]
|
|
@@ -27,7 +27,7 @@ repos:
|
|
|
27
27
|
- id: python-check-blanket-noqa # Check for # noqa: all
|
|
28
28
|
- id: python-no-log-warn # Check for log.warn
|
|
29
29
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
30
|
-
rev: 24.
|
|
30
|
+
rev: 24.10.0
|
|
31
31
|
hooks:
|
|
32
32
|
- id: black
|
|
33
33
|
args: [--line-length=120]
|
|
@@ -40,16 +40,15 @@ repos:
|
|
|
40
40
|
- --force-single-line-imports
|
|
41
41
|
- --profile black
|
|
42
42
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
43
|
-
rev: v0.
|
|
43
|
+
rev: v0.7.2
|
|
44
44
|
hooks:
|
|
45
45
|
- id: ruff
|
|
46
|
-
# Next line if for documenation cod snippets
|
|
47
|
-
exclude: '.*/[^_].*_\.py$'
|
|
48
46
|
args:
|
|
49
47
|
- --line-length=120
|
|
50
48
|
- --fix
|
|
51
49
|
- --exit-non-zero-on-fix
|
|
52
50
|
- --preview
|
|
51
|
+
- --exclude=docs/**/*_.py
|
|
53
52
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
54
53
|
rev: v1.0.0
|
|
55
54
|
hooks:
|
|
@@ -60,13 +59,8 @@ repos:
|
|
|
60
59
|
hooks:
|
|
61
60
|
- id: rstfmt
|
|
62
61
|
exclude: 'cli/.*' # Because we use argparse
|
|
63
|
-
- repo: https://github.com/b8raoult/pre-commit-docconvert
|
|
64
|
-
rev: "0.1.5"
|
|
65
|
-
hooks:
|
|
66
|
-
- id: docconvert
|
|
67
|
-
args: ["numpy"]
|
|
68
62
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
69
|
-
rev: "
|
|
63
|
+
rev: "v2.5.0"
|
|
70
64
|
hooks:
|
|
71
65
|
- id: pyproject-fmt
|
|
72
66
|
|
|
@@ -8,7 +8,61 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
Please add your functional changes to the appropriate section in the PR.
|
|
9
9
|
Keep it human-readable, your future self will thank you!
|
|
10
10
|
|
|
11
|
-
## [Unreleased](https://github.com/ecmwf/anemoi-datasets/compare/0.5.
|
|
11
|
+
## [Unreleased](https://github.com/ecmwf/anemoi-datasets/compare/0.5.8...HEAD)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Call filters from anemoi-transform
|
|
17
|
+
- make test optional when adls is not installed Pull request #110
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## [0.5.8](https://github.com/ecmwf/anemoi-datasets/compare/0.5.7...0.5.8) - 2024-10-26
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- Bugfix in `auto_adjust`
|
|
25
|
+
- Fixed precommit CI errors
|
|
26
|
+
- Improve tests
|
|
27
|
+
- More verbosity
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
- Add anemoi-transform link to documentation
|
|
32
|
+
- Various bug fixes
|
|
33
|
+
- Control compatibility check in xy/zip
|
|
34
|
+
- Add `merge` feature
|
|
35
|
+
- Add support for storing `supporting_arrays` in checkpoint files
|
|
36
|
+
- Allow naming of datasets components
|
|
37
|
+
- Contributors file (#105)
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- Upload with ssh (experimental)
|
|
42
|
+
- Remove upstream dependencies from downstream-ci workflow (temporary) (#83)
|
|
43
|
+
- ci: pin python versions to 3.9 ... 3.12 for checks (#93)
|
|
44
|
+
- Fix `__version__` import in init
|
|
45
|
+
|
|
46
|
+
## [0.5.7](https://github.com/ecmwf/anemoi-datasets/compare/0.5.6...0.5.7) - 2024-10-09
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- Add support to fill missing dates
|
|
51
|
+
|
|
52
|
+
## [Allow for unknown CF coordinates](https://github.com/ecmwf/anemoi-datasets/compare/0.5.5...0.5.6) - 2024-10-04
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- Add `variables_metadata` entry in the dataset metadata
|
|
57
|
+
- Update documentation
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- Add `variables_metadata` entry in the dataset metadata
|
|
62
|
+
|
|
63
|
+
### Changed
|
|
64
|
+
|
|
65
|
+
- Add `variables_metadata` entry in the dataset metadata
|
|
12
66
|
|
|
13
67
|
## [0.5.5](https://github.com/ecmwf/anemoi-datasets/compare/0.5.4...0.5.5) - 2024-10-04
|
|
14
68
|
|
|
@@ -49,6 +103,7 @@ Keep it human-readable, your future self will thank you!
|
|
|
49
103
|
- Bug fix when creating dataset from zarr
|
|
50
104
|
- Bug fix with area selection in cutout operation
|
|
51
105
|
- add paths-ignore to ci workflow
|
|
106
|
+
- call provenance less often
|
|
52
107
|
|
|
53
108
|
### Removed
|
|
54
109
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## How to Contribute
|
|
2
|
+
|
|
3
|
+
Please see the [read the docs](https://anemoi-training.readthedocs.io/en/latest/dev/contributing.html).
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Contributors
|
|
7
|
+
|
|
8
|
+
Thank you to all the wonderful people who have contributed to Anemoi. Contributions can come in many forms, including code, documentation, bug reports, feature suggestions, design, and more. A list of code-based contributors can be found [here](https://github.com/ecmwf/anemoi-datasets/graphs/contributors).
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Contributing Organisations
|
|
12
|
+
|
|
13
|
+
Significant contributions have been made by the following organisations: [DWD](https://www.dwd.de/), [MET Norway](https://www.met.no/), [MeteoSwiss](https://www.meteoswiss.admin.ch/), [RMI](https://www.meteo.be/) & [ECMWF](https://www.ecmwf.int/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: anemoi-datasets
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.10
|
|
4
4
|
Summary: A package to hold various functions to support training of ML models on ECMWF data.
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
License: Apache License
|
|
@@ -219,11 +219,13 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
219
219
|
Classifier: Programming Language :: Python :: 3.10
|
|
220
220
|
Classifier: Programming Language :: Python :: 3.11
|
|
221
221
|
Classifier: Programming Language :: Python :: 3.12
|
|
222
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
222
223
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
223
224
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
224
225
|
Requires-Python: >=3.9
|
|
225
226
|
License-File: LICENSE
|
|
226
|
-
Requires-Dist: anemoi-
|
|
227
|
+
Requires-Dist: anemoi-transform>=0.0.5
|
|
228
|
+
Requires-Dist: anemoi-utils[provenance]>=0.4.2
|
|
227
229
|
Requires-Dist: cfunits
|
|
228
230
|
Requires-Dist: numpy
|
|
229
231
|
Requires-Dist: pyyaml
|
|
@@ -231,39 +233,16 @@ Requires-Dist: semantic-version
|
|
|
231
233
|
Requires-Dist: tqdm
|
|
232
234
|
Requires-Dist: zarr<=2.17
|
|
233
235
|
Provides-Extra: all
|
|
234
|
-
Requires-Dist:
|
|
235
|
-
Requires-Dist: earthkit-data[mars]>=0.9; extra == "all"
|
|
236
|
-
Requires-Dist: earthkit-geo>=0.2; extra == "all"
|
|
237
|
-
Requires-Dist: earthkit-meteo; extra == "all"
|
|
238
|
-
Requires-Dist: ecmwflibs>=0.6.3; extra == "all"
|
|
239
|
-
Requires-Dist: entrypoints; extra == "all"
|
|
240
|
-
Requires-Dist: gcsfs; extra == "all"
|
|
241
|
-
Requires-Dist: kerchunk; extra == "all"
|
|
242
|
-
Requires-Dist: pyproj; extra == "all"
|
|
243
|
-
Requires-Dist: requests; extra == "all"
|
|
236
|
+
Requires-Dist: anemoi-datasets[create,remote,xarray]; extra == "all"
|
|
244
237
|
Provides-Extra: create
|
|
245
|
-
Requires-Dist: earthkit-data[mars]>=0.
|
|
238
|
+
Requires-Dist: earthkit-data[mars]>=0.10.7; extra == "create"
|
|
246
239
|
Requires-Dist: earthkit-geo>=0.2; extra == "create"
|
|
247
240
|
Requires-Dist: earthkit-meteo; extra == "create"
|
|
248
|
-
Requires-Dist:
|
|
241
|
+
Requires-Dist: eccodes>=2.38.1; extra == "create"
|
|
249
242
|
Requires-Dist: entrypoints; extra == "create"
|
|
250
243
|
Requires-Dist: pyproj; extra == "create"
|
|
251
244
|
Provides-Extra: dev
|
|
252
|
-
Requires-Dist:
|
|
253
|
-
Requires-Dist: earthkit-data[mars]>=0.9; extra == "dev"
|
|
254
|
-
Requires-Dist: earthkit-geo>=0.2; extra == "dev"
|
|
255
|
-
Requires-Dist: earthkit-meteo; extra == "dev"
|
|
256
|
-
Requires-Dist: ecmwflibs>=0.6.3; extra == "dev"
|
|
257
|
-
Requires-Dist: entrypoints; extra == "dev"
|
|
258
|
-
Requires-Dist: gcsfs; extra == "dev"
|
|
259
|
-
Requires-Dist: kerchunk; extra == "dev"
|
|
260
|
-
Requires-Dist: nbsphinx; extra == "dev"
|
|
261
|
-
Requires-Dist: pandoc; extra == "dev"
|
|
262
|
-
Requires-Dist: pyproj; extra == "dev"
|
|
263
|
-
Requires-Dist: pytest; extra == "dev"
|
|
264
|
-
Requires-Dist: requests; extra == "dev"
|
|
265
|
-
Requires-Dist: sphinx; extra == "dev"
|
|
266
|
-
Requires-Dist: sphinx-rtd-theme; extra == "dev"
|
|
245
|
+
Requires-Dist: anemoi-datasets[all,docs,tests]; extra == "dev"
|
|
267
246
|
Provides-Extra: docs
|
|
268
247
|
Requires-Dist: nbsphinx; extra == "docs"
|
|
269
248
|
Requires-Dist: pandoc; extra == "docs"
|
|
@@ -278,3 +257,6 @@ Requires-Dist: pytest; extra == "tests"
|
|
|
278
257
|
Provides-Extra: xarray
|
|
279
258
|
Requires-Dist: gcsfs; extra == "xarray"
|
|
280
259
|
Requires-Dist: kerchunk; extra == "xarray"
|
|
260
|
+
Requires-Dist: pandas; extra == "xarray"
|
|
261
|
+
Requires-Dist: planetary-computer; extra == "xarray"
|
|
262
|
+
Requires-Dist: pystac-client; extra == "xarray"
|
|
@@ -22,7 +22,7 @@ $ pip install anemoi-datasets
|
|
|
22
22
|
## License
|
|
23
23
|
|
|
24
24
|
```
|
|
25
|
-
Copyright
|
|
25
|
+
Copyright 2024, Anemoi contributors.
|
|
26
26
|
|
|
27
27
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
28
28
|
you may not use this file except in compliance with the License.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
########
|
|
2
|
+
rename
|
|
3
|
+
########
|
|
4
|
+
|
|
5
|
+
When combining several sources, it is common to have different values
|
|
6
|
+
for a given attribute to represents the same concept. For example,
|
|
7
|
+
``temperature_850hPa`` and ``t_850`` are two different ways to represent
|
|
8
|
+
the temperature at 850 hPa. The ``rename`` filter allows to rename a key
|
|
9
|
+
to another key. It is a :ref:`filter <filters>` that needs to follow a
|
|
10
|
+
:ref:`source <sources>` or another filter in a :ref:`building-pipe`
|
|
11
|
+
operation.
|
|
12
|
+
|
|
13
|
+
.. literalinclude:: yaml/rename.yaml
|
|
14
|
+
:language: yaml
|
|
15
|
+
|
|
16
|
+
.. note::
|
|
17
|
+
|
|
18
|
+
The ``rename`` filter was mostly designed to rename the ``param``
|
|
19
|
+
attribute, but any key can be renamed. The ``rename`` filter can take
|
|
20
|
+
several renaming keys.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#############
|
|
2
|
+
xarray-zarr
|
|
3
|
+
#############
|
|
4
|
+
|
|
5
|
+
Here is an example recipe that builds a dataset using one of the many
|
|
6
|
+
regridded versions of ERA5 hosted by Google in Analysis-Ready, Cloud
|
|
7
|
+
Optimized format. See `here
|
|
8
|
+
<https://cloud.google.com/storage/docs/public-datasets/era5>`_ for more
|
|
9
|
+
information.
|
|
10
|
+
|
|
11
|
+
.. literalinclude:: yaml/xarray-zarr.yaml
|
|
12
|
+
:language: yaml
|
|
13
|
+
|
|
14
|
+
Note that unlike the ``mars`` examples, there is no need to include a
|
|
15
|
+
``grid`` specification. Also, in order to subselect the vertical levels,
|
|
16
|
+
it is necessary to use the :ref:`join <building-join>` operation to join
|
|
17
|
+
separate lists containing 2D variables and 3D variables. If all vertical
|
|
18
|
+
levels are desired, then it is OK to specify a single source.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
dates:
|
|
2
|
+
start: 2021-01-01T00:00:00
|
|
3
|
+
end: 2021-01-10T12:00:00
|
|
4
|
+
frequency: 6h
|
|
5
|
+
|
|
6
|
+
input:
|
|
7
|
+
join:
|
|
8
|
+
- xarray-zarr:
|
|
9
|
+
url: "gs://gcp-public-data-arco-era5/ar/1959-2022-6h-128x64_equiangular_conservative.zarr"
|
|
10
|
+
param:
|
|
11
|
+
- surface_pressure
|
|
12
|
+
- 2m_temperature
|
|
13
|
+
- 10m_u_component_of_wind
|
|
14
|
+
- 10m_v_component_of_wind
|
|
15
|
+
|
|
16
|
+
- xarray-zarr:
|
|
17
|
+
url: "gs://gcp-public-data-arco-era5/ar/1959-2022-6h-128x64_equiangular_conservative.zarr"
|
|
18
|
+
param:
|
|
19
|
+
- temperature
|
|
20
|
+
level:
|
|
21
|
+
- 1000
|
|
22
|
+
- 500
|
|
@@ -34,7 +34,7 @@ html_logo = "_static/logo.png"
|
|
|
34
34
|
|
|
35
35
|
project = "Anemoi"
|
|
36
36
|
|
|
37
|
-
author = "
|
|
37
|
+
author = "Anemoi contributors"
|
|
38
38
|
|
|
39
39
|
year = datetime.datetime.now().year
|
|
40
40
|
if year == 2024:
|
|
@@ -42,7 +42,7 @@ if year == 2024:
|
|
|
42
42
|
else:
|
|
43
43
|
years = "2024-%s" % (year,)
|
|
44
44
|
|
|
45
|
-
copyright = "%s,
|
|
45
|
+
copyright = "%s, Anemoi contributors" % (years,)
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
try:
|
|
@@ -107,6 +107,10 @@ intersphinx_mapping = {
|
|
|
107
107
|
"https://anemoi-registry.readthedocs.io/en/latest/",
|
|
108
108
|
("../../anemoi-registry/docs/_build/html/objects.inv", None),
|
|
109
109
|
),
|
|
110
|
+
"anemoi-transform": (
|
|
111
|
+
"https://anemoi-transform.readthedocs.io/en/latest/",
|
|
112
|
+
("../../anemoi-transform/docs/_build/html/objects.inv", None),
|
|
113
|
+
),
|
|
110
114
|
}
|
|
111
115
|
|
|
112
116
|
|
|
@@ -121,6 +121,7 @@ datasets <building-introduction>`.
|
|
|
121
121
|
*****************
|
|
122
122
|
|
|
123
123
|
- :ref:`anemoi-utils <anemoi-utils:index-page>`
|
|
124
|
+
- :ref:`anemoi-transform <anemoi-transform:index-page>`
|
|
124
125
|
- :ref:`anemoi-datasets <anemoi-datasets:index-page>`
|
|
125
126
|
- :ref:`anemoi-models <anemoi-models:index-page>`
|
|
126
127
|
- :ref:`anemoi-graphs <anemoi-graphs:index-page>`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ds = open_dataset(dataset, fill_missing_dates="interpolate")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ds = open_dataset(dataset, fill_missing_dates="closest")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ds = open_dataset(dataset, set_missing_dates=["2010-01-01T12:00:00", "2010-02-01T12:00:00"])
|
|
@@ -4,6 +4,35 @@
|
|
|
4
4
|
Managing missing dates
|
|
5
5
|
########################
|
|
6
6
|
|
|
7
|
+
*********************************************
|
|
8
|
+
Managing missing dates with anemoi-training
|
|
9
|
+
*********************************************
|
|
10
|
+
|
|
11
|
+
Anemoi-training has internal handling of missing dates, and will
|
|
12
|
+
calculate the valid date indices used during training using the
|
|
13
|
+
``missing`` property. Consequenctly, when training a model with
|
|
14
|
+
anemoi-training, you should `not` specify a method to deal with missing
|
|
15
|
+
dates in the dataloader configuration file.
|
|
16
|
+
|
|
17
|
+
**************************************************
|
|
18
|
+
Filling the missing dates with artificial values
|
|
19
|
+
**************************************************
|
|
20
|
+
|
|
21
|
+
When you have missing dates in a dataset, you can fill them with
|
|
22
|
+
artificial values. You can either fill them with values that are the
|
|
23
|
+
result of a linear interpolation between the two closest dates:
|
|
24
|
+
|
|
25
|
+
.. literalinclude:: code/fill_missing_dates1_.py
|
|
26
|
+
|
|
27
|
+
Or you can select the copy the value of the closest date:
|
|
28
|
+
|
|
29
|
+
.. literalinclude:: code/fill_missing_dates2_.py
|
|
30
|
+
|
|
31
|
+
if the missing date is exactly in the middle of two dates, the library
|
|
32
|
+
will choose that value of the largest date. You can change this behavior
|
|
33
|
+
by setting the ``closest`` parameter to ``'down'`` or ``'up'``
|
|
34
|
+
explicitly.
|
|
35
|
+
|
|
7
36
|
************************************************
|
|
8
37
|
Skipping missing when iterating over a dataset
|
|
9
38
|
************************************************
|
|
@@ -72,7 +101,7 @@ the datasets to make the dates contiguous.
|
|
|
72
101
|
Debugging
|
|
73
102
|
***********
|
|
74
103
|
|
|
75
|
-
You can set missing dates using the ``
|
|
104
|
+
You can set missing dates using the ``set_missing_dates`` option. This
|
|
76
105
|
option is for debugging purposes only.
|
|
77
106
|
|
|
78
|
-
.. literalinclude:: code/
|
|
107
|
+
.. literalinclude:: code/set_missing_dates_.py
|