anemoi-datasets 0.5.27__tar.gz → 0.5.29__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.27 → anemoi_datasets-0.5.29}/.github/workflows/downstream-ci-hpc.yml +2 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/python-pull-request.yml +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.gitignore +5 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.pre-commit-config.yaml +23 -28
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.readthedocs.yaml +3 -3
- anemoi_datasets-0.5.29/.release-please-manifest.json +3 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/CHANGELOG.md +50 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/CONTRIBUTORS.md +2 -2
- {anemoi_datasets-0.5.27/src/anemoi_datasets.egg-info → anemoi_datasets-0.5.29}/PKG-INFO +9 -6
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/README.md +18 -4
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/Makefile +1 -1
- anemoi_datasets-0.5.29/docs/building/filters.rst +10 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/introduction.rst +1 -1
- anemoi_datasets-0.5.29/docs/building/sources/accumulate.rst +158 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/repeated-dates.rst +1 -1
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-previous-step-mars-era5-1.yaml +12 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-previous-step-mars-era5-2.yaml +16 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-previous-step-mars-era5-3.yaml +14 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-start-mars-ecmwf-operational-forecast-1.yaml +12 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-start-mars-ecmwf-operational-forecast-2.yaml +16 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-start-mars-ecmwf-operational-forecast-3.yaml +14 -0
- anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-grib-index.yaml +7 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/create.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/grib-index.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/inspect.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/introduction.rst +3 -3
- anemoi_datasets-0.5.27/docs/usage/getting_started.rst → anemoi_datasets-0.5.29/docs/howtos/create/00-redo-sample-dataset.rst +4 -4
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/01-grib-data.rst +20 -5
- anemoi_datasets-0.5.29/docs/howtos/create/05-create-accumulations.rst +129 -0
- anemoi_datasets-0.5.29/docs/howtos/create/yaml/grib-recipe6.yaml +13 -0
- anemoi_datasets-0.5.29/docs/howtos/create/yaml/grib-recipe7.yaml +13 -0
- anemoi_datasets-0.5.29/docs/howtos/create/yaml/recipe-accumulate-era.yaml +17 -0
- anemoi_datasets-0.5.29/docs/howtos/create/yaml/recipe-accumulate-gribindex.yaml +18 -0
- anemoi_datasets-0.5.29/docs/howtos/create/yaml/recipe-accumulation-era.yaml +14 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/introduction.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/index.rst +4 -17
- anemoi_datasets-0.5.29/docs/installing.rst +18 -0
- anemoi_datasets-0.5.29/docs/modules/dataset.rst +8 -0
- anemoi_datasets-0.5.29/docs/scripts/Makefile +8 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/scripts/api_build.sh +1 -1
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/combining.rst +13 -13
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/grids.rst +22 -3
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/missing.rst +1 -1
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/opening.rst +1 -1
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/pyproject.toml +10 -7
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/_version.py +3 -3
- anemoi_datasets-0.5.29/src/anemoi/datasets/commands/recipe/__init__.py +93 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/commands/recipe/format.py +55 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/commands/recipe/migrate.py +555 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/__init__.py +46 -13
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/config.py +52 -53
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/__init__.py +85 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/action.py +317 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/context/__init__.py +71 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/context/field.py +54 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/data_sources.py +2 -1
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/misc.py +57 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/repeated_dates.py +0 -114
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/result/__init__.py +17 -0
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/result.py → anemoi_datasets-0.5.29/src/anemoi/datasets/create/input/result/field.py +10 -92
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/accumulate.py +517 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/accumulate_utils/__init__.py +8 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/accumulate_utils/covering_intervals.py +221 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/accumulate_utils/field_to_interval.py +149 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/accumulate_utils/interval_generators.py +321 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/anemoi_dataset.py +77 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/constants.py +52 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/empty.py +40 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/forcings.py +42 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/grib.py +166 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/grib_index.py +102 -54
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/hindcasts.py +94 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/legacy.py +46 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/mars.py +159 -154
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/netcdf.py +45 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/opendap.py +45 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/recentre.py +42 -41
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/repeated_dates.py +44 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/source.py +47 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/__init__.py +30 -24
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +1 -4
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/field.py +4 -4
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/flavour.py +2 -2
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/xarray_support/patch.py +305 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/xarray_zarr.py +44 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/create/sources/zenodo.py +71 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/utils.py +0 -42
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/complement.py +26 -17
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/dataset.py +12 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/grids.py +0 -152
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/masked.py +74 -13
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/missing.py +5 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/data/rolling_average.py +141 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/stores.py +7 -9
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/dates/__init__.py +2 -0
- anemoi_datasets-0.5.29/src/anemoi/datasets/dumper.py +76 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/grids.py +1 -178
- anemoi_datasets-0.5.29/src/anemoi/datasets/schemas/recipe.json +131 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29/src/anemoi_datasets.egg-info}/PKG-INFO +9 -6
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/SOURCES.txt +133 -112
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/requires.txt +7 -2
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-ea-enda.yaml +30 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-ea-oper-2.yaml +33 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-ea-oper.yaml +25 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-ecland.yaml +28 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-l5-oper.yaml +27 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-od-oper.yaml +31 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-reset.yaml +56 -0
- anemoi_datasets-0.5.29/tests/create/accumulate-mars-rr-oper.yaml +35 -0
- anemoi_datasets-0.5.29/tests/create/concat.yaml +35 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/join.yaml +11 -5
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/missing.yaml +3 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/nan.yaml +3 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/pipe.yaml +10 -3
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/recentre.yaml +20 -9
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/regrid.yaml +3 -0
- anemoi_datasets-0.5.29/tests/create/repeated-dates.yaml +31 -0
- anemoi_datasets-0.5.29/tests/create/test_covering_intervals.py +351 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/test_create.py +34 -13
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/test_sources.py +182 -6
- anemoi_datasets-0.5.29/tests/create/utils/checks.py +343 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/utils/create.py +1 -4
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_data.py +76 -0
- anemoi_datasets-0.5.27/.release-please-manifest.json +0 -3
- anemoi_datasets-0.5.27/docs/datasets/building/sources/accumulations.rst +0 -67
- anemoi_datasets-0.5.27/docs/datasets/building/sources/yaml/accumulations1.yaml +0 -6
- anemoi_datasets-0.5.27/docs/datasets/building/sources/yaml/accumulations2.yaml +0 -6
- anemoi_datasets-0.5.27/docs/datasets/introduction.rst +0 -21
- anemoi_datasets-0.5.27/docs/installing.rst +0 -85
- anemoi_datasets-0.5.27/docs/modules/dataset.rst +0 -10
- anemoi_datasets-0.5.27/docs/modules/filters.rst +0 -5
- anemoi_datasets-0.5.27/docs/modules/sources.rst +0 -5
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/filter.py +0 -47
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/__init__.py +0 -105
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/action.py +0 -257
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/concat.py +0 -161
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/context.py +0 -86
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/empty.py +0 -53
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/filter.py +0 -117
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/function.py +0 -232
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/join.py +0 -129
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/misc.py +0 -128
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/pipe.py +0 -66
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/step.py +0 -173
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/input/template.py +0 -161
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/accumulations.py +0 -1062
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/accumulations2.py +0 -647
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/anemoi_dataset.py +0 -73
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/constants.py +0 -51
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/empty.py +0 -36
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/forcings.py +0 -41
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/grib.py +0 -146
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/hindcasts.py +0 -93
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/legacy.py +0 -98
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/netcdf.py +0 -41
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/opendap.py +0 -41
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/source.py +0 -69
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/tendencies.py +0 -198
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/xarray_support/patch.py +0 -132
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/xarray_zarr.py +0 -40
- anemoi_datasets-0.5.27/src/anemoi/datasets/create/sources/zenodo.py +0 -67
- anemoi_datasets-0.5.27/tests/create/accumulation.yaml +0 -20
- anemoi_datasets-0.5.27/tests/create/concat.yaml +0 -32
- anemoi_datasets-0.5.27/tests/create/utils/compare.py +0 -219
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.gitattributes +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/CODEOWNERS +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/ci-hpc-config.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/dependabot.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/labeler.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/pull_request_template.md +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/pr-conventional-commit.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-ats.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-conventional-commits.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-file-based.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-public.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/push-to-private.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/python-publish.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/readthedocs-pr-update.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.github/workflows/release-please.yml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.release-please-config.json +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/.vscode/spellright.dict +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/LICENSE +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/2t_map_example.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/area-1.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/concat.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-1.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-2.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-3.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-4.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-5.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/cutout-6.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/join.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/logo.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/overlay.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/matrix.excalidraw +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/matrix.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/overview.excalidraw +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/overview.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/recipe.excalidraw +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/schemas/recipe.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/skip-missing.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/style.css +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/thinning-after.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_static/thinning-before.png +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_templates/.gitkeep +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/_templates/apidoc/package.rst.jinja +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/adr/adr-1.md +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/apply-fmt.sh +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/advanced-options.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/handling-missing-dates.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/handling-missing-values.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/incremental.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/naming-conventions.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/naming-variables.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/operations.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/anemoi-dataset.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/cds.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/eccc-fstd.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/forcings.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/grib-index.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/grib.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/hindcasts.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/mars.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/netcdf.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/opendap.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/recentre.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/xarray-based.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/xarray-kerchunk.py +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/xarray-kerchunk.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/xarray-zarr.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/anemoi-dataset.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/anemoi-zarr-dataset.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/eccc-fstd.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/forcings.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/grib1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/grib2.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/grib3.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/grib4.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/mars-cds.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/mars1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/mars2.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/netcdf.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/opendap.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/recentre.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/repeated-dates1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/repeated-dates2.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/repeated-dates3.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/repeated-dates4.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/xarray-based.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/xarray-kerchunk.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/xarray-zarr.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/yaml/zenodo.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/sources/zenodo.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/statistics.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/syntax.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/check-index.sh +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/compare-lam.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/compare.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/copy.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/patch.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/scan.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/cli/validate.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/conf.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/dev/contributing.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/02-cf-data.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/03-constant-fields.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/04-create-with-filter.rst +0 -0
- {anemoi_datasets-0.5.27/docs/usage → anemoi_datasets-0.5.29/docs/howtos/create}/yaml/aifs-ea-an-oper-0001-mars-o48-2020-2021-6h-v1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour3.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour4.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe3.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe4.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe5.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/netcdf1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/opendap1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/recipe-filter1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/recipe-filter2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-flavour1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-patch1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-patch2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/zarr1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/zarr2.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/01-interpolate-step-dataset-combination.rst +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/02-coutout-complement-combination.rst +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/code/cutout-complement1.py +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/code/interpolate1.py +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/code/interpolate2.py +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/yaml/cutout-complement1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/yaml/interpolate1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/howtos/usage → anemoi_datasets-0.5.29/docs/howtos/using}/yaml/interpolate2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/overview.rst +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/pptx/images.pptx +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/docs/using/code/trimedge1_.py +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/configuration.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/configuration.toml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/ensembles.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/introduction.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/matching.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/methods.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/miscellaneous.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/other.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/selecting.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/statistics.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/subsetting.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/using/zip.rst +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/Makefile +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building1.txt +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building1.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building2.txt +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building2.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building3.txt +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/building3.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/concat.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/input.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/missing_dates.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/nan.yaml +0 -0
- {anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/yaml/pipe.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/setup.cfg +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/__main__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/check.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/check.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/cleanup.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/compare-lam.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/compare.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/copy.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/create.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/finalise-additions.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/finalise.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/grib-index.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/init-additions.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/init.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/inspect.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/load-additions.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/load.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/patch.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/publish.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/scan.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/validate.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/compute/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/compute/recentre.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/check.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/chunks.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/trace.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/patch.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/persistent.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/size.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/source.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/eccc_fstd.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/fdb.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/patterns.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/planetary_computer.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_kerchunk.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/README.md +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/fieldlist.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/grid.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/metadata.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/time.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/variable.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/statistics/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/statistics/summary.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/testing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/typing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/writer.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/zarr.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/concat.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/debug.css +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/debug.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/ensemble.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/fill_missing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/forwards.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/indexing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/interpolate.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/join.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/merge.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/misc.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/legacy_obs_dataset.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/multi.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/padded.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/records/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/records/backends/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/rescale.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/select.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/statistics.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/subset.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/unchecked.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/xy.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/dates/groups.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/testing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi/datasets/validate.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/conftest.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/run.sh +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/utils/__init__.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create/utils/mock_sources.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create-perturbations-full.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/create-shift.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_chunks.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_data_gridded.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_dates.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_indexing.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_records.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/test_validate.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/xarray/test_flavour.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/xarray/test_netcdf.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/xarray/test_opendap.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/xarray/test_variable.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tests/xarray/test_zarr.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/.gitignore +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/build-obs.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/check-obs.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/examples/Makefile +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/Makefile +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids.ipynb +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids1.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids2.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids3.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids4.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids5.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids6.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids7.yaml +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/grids/grids_multilam.ipynb +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/make-sample-dataset.py +0 -0
- {anemoi_datasets-0.5.27 → anemoi_datasets-0.5.29}/tools/upload-sample-dataset.py +0 -0
|
@@ -20,19 +20,19 @@ repos:
|
|
|
20
20
|
- id: no-commit-to-branch # Prevent committing to main / master
|
|
21
21
|
- id: check-added-large-files # Check for large files added to git
|
|
22
22
|
- id: check-merge-conflict # Check for files that contain merge conflict
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
24
|
+
rev: v1.10.0 # Use the ref you want to point at
|
|
25
|
+
hooks:
|
|
26
|
+
- id: python-use-type-annotations # Check for missing type annotations
|
|
27
|
+
- id: python-check-blanket-noqa # Check for # noqa: all
|
|
28
|
+
- id: python-no-log-warn # Check for log.warn
|
|
29
29
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
30
|
-
rev: 25.
|
|
30
|
+
rev: 25.12.0
|
|
31
31
|
hooks:
|
|
32
32
|
- id: black
|
|
33
33
|
args: [--line-length=120]
|
|
34
34
|
- repo: https://github.com/pycqa/isort
|
|
35
|
-
rev:
|
|
35
|
+
rev: 7.0.0
|
|
36
36
|
hooks:
|
|
37
37
|
- id: isort
|
|
38
38
|
args:
|
|
@@ -41,7 +41,7 @@ repos:
|
|
|
41
41
|
- --profile black
|
|
42
42
|
- --project anemoi
|
|
43
43
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
44
|
-
rev: v0.
|
|
44
|
+
rev: v0.14.10
|
|
45
45
|
hooks:
|
|
46
46
|
- id: ruff
|
|
47
47
|
args:
|
|
@@ -50,35 +50,30 @@ repos:
|
|
|
50
50
|
- --exit-non-zero-on-fix
|
|
51
51
|
- --exclude=docs/**/*_.py
|
|
52
52
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
53
|
-
rev: v1.0.
|
|
53
|
+
rev: v1.0.2
|
|
54
54
|
hooks:
|
|
55
55
|
- id: sphinx-lint
|
|
56
|
-
# For now, we use it. But it does not support a lot of sphinx features
|
|
57
|
-
- repo: https://github.com/dzhu/rstfmt
|
|
58
|
-
rev: v0.0.14
|
|
59
|
-
hooks:
|
|
60
|
-
- id: rstfmt
|
|
61
|
-
exclude: '(cli|schemas)/.*' # Because we use argparse and pydantic sphinx directives
|
|
62
56
|
- repo: https://github.com/b8raoult/pre-commit-docconvert
|
|
63
57
|
rev: "0.1.5"
|
|
64
58
|
hooks:
|
|
65
59
|
- id: docconvert
|
|
66
60
|
args: ["numpy"]
|
|
67
61
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
68
|
-
rev: "v2.
|
|
62
|
+
rev: "v2.11.1"
|
|
69
63
|
hooks:
|
|
70
64
|
- id: pyproject-fmt
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
65
|
+
args: ["--max-supported-python", "3.12"]
|
|
66
|
+
- repo: https://github.com/jshwi/docsig # Check docstrings against function sig
|
|
67
|
+
rev: v0.74.0
|
|
68
|
+
hooks:
|
|
69
|
+
- id: docsig
|
|
70
|
+
args:
|
|
71
|
+
- --ignore-no-params # Allow docstrings without parameters
|
|
72
|
+
- --check-dunders # Check dunder methods
|
|
73
|
+
- --check-overridden # Check overridden methods
|
|
74
|
+
- --check-protected # Check protected methods
|
|
75
|
+
- --check-class # Check class docstrings
|
|
76
|
+
- --disable=SIG101,SIG102,SIG305 # Disable empty docstrings
|
|
82
77
|
ci:
|
|
83
78
|
autoupdate_schedule: monthly
|
|
84
79
|
autoupdate_commit_msg: "chore(deps): pre-commit.ci autoupdate"
|
|
@@ -8,6 +8,56 @@ 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
|
+
## [0.5.29](https://github.com/ecmwf/anemoi-datasets/compare/0.5.28...0.5.29) (2026-01-28)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* Abstracting accumulation ([#326](https://github.com/ecmwf/anemoi-datasets/issues/326)) ([57a2895](https://github.com/ecmwf/anemoi-datasets/commit/57a2895c30a7752c96dc2bf7d93de0262693dab6))
|
|
17
|
+
* Add id and location for point data ([#500](https://github.com/ecmwf/anemoi-datasets/issues/500)) ([8cf8a10](https://github.com/ecmwf/anemoi-datasets/commit/8cf8a10a8986d89d115fe87bcb9600f18c682d5e))
|
|
18
|
+
* Add xarray patches for changing time dimension and summing variables ([#494](https://github.com/ecmwf/anemoi-datasets/issues/494)) ([7c44d99](https://github.com/ecmwf/anemoi-datasets/commit/7c44d99329aba869022504d15e746f5ef25abd31))
|
|
19
|
+
* **apply mask:** Apply a boolean mask when opening a dataset ([#496](https://github.com/ecmwf/anemoi-datasets/issues/496)) ([820eb39](https://github.com/ecmwf/anemoi-datasets/commit/820eb39ce48124d274b5fe60c2c12235790fc456))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* '--test' changes grid/number ([#386](https://github.com/ecmwf/anemoi-datasets/issues/386)) ([71238c6](https://github.com/ecmwf/anemoi-datasets/commit/71238c69d307f2266e495f5c39f60d36fe9dcc76))
|
|
25
|
+
* Complement with max distance ([#469](https://github.com/ecmwf/anemoi-datasets/issues/469)) ([a8666fa](https://github.com/ecmwf/anemoi-datasets/commit/a8666fa26f97d32ccc43eb0a729c4773f5369523))
|
|
26
|
+
* Coordinate (multiple) indexing - check indices before comparison ([#506](https://github.com/ecmwf/anemoi-datasets/issues/506)) ([859ed19](https://github.com/ecmwf/anemoi-datasets/commit/859ed194a9a9e0171bd1260e9c6b45d304f9ca5b))
|
|
27
|
+
* Grids for masked datasets, field_shape thinning ([#504](https://github.com/ecmwf/anemoi-datasets/issues/504)) ([e7b8d58](https://github.com/ecmwf/anemoi-datasets/commit/e7b8d58adb83f9764b2df96280ab41e3facb6147))
|
|
28
|
+
* Issue [#477](https://github.com/ecmwf/anemoi-datasets/issues/477) ([#478](https://github.com/ecmwf/anemoi-datasets/issues/478)) ([42b9e27](https://github.com/ecmwf/anemoi-datasets/commit/42b9e27c621be292cea77358c738a6c90590a2a9))
|
|
29
|
+
* Pin min version of ruamel-yaml ([#514](https://github.com/ecmwf/anemoi-datasets/issues/514)) ([e6037b0](https://github.com/ecmwf/anemoi-datasets/commit/e6037b0fa759fb75dc28be79f419e1977010d222))
|
|
30
|
+
* Update README to reflect project maturity status ([#465](https://github.com/ecmwf/anemoi-datasets/issues/465)) ([ec8a15e](https://github.com/ecmwf/anemoi-datasets/commit/ec8a15eac36743502d8850070ce8f1d892a40ef0))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Documentation
|
|
34
|
+
|
|
35
|
+
* Document the option to specify types when selecting a GRIB message ([#466](https://github.com/ecmwf/anemoi-datasets/issues/466)) ([8940839](https://github.com/ecmwf/anemoi-datasets/commit/8940839ed6f2b7f606e20465f45dbad0c68e2096))
|
|
36
|
+
* Fix interpolate to interpolation key in combining page ([#461](https://github.com/ecmwf/anemoi-datasets/issues/461)) ([990a5c3](https://github.com/ecmwf/anemoi-datasets/commit/990a5c3f54706aacd8252b832ad45b598c7252b2))
|
|
37
|
+
|
|
38
|
+
## [0.5.28](https://github.com/ecmwf/anemoi-datasets/compare/0.5.27...0.5.28) (2025-10-30)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Features
|
|
42
|
+
|
|
43
|
+
* Added rolling average on read ([#448](https://github.com/ecmwf/anemoi-datasets/issues/448)) ([5cef720](https://github.com/ecmwf/anemoi-datasets/commit/5cef7207b7900190272d970bf44f35a7011e3708))
|
|
44
|
+
* Fix repeat dates ([#458](https://github.com/ecmwf/anemoi-datasets/issues/458)) ([16b5c83](https://github.com/ecmwf/anemoi-datasets/commit/16b5c836172a37c13b210b35baee1a5e97731e5d))
|
|
45
|
+
* Refactor dataset create ([#379](https://github.com/ecmwf/anemoi-datasets/issues/379)) ([c5408da](https://github.com/ecmwf/anemoi-datasets/commit/c5408dafd34c80bcb4b0cd9623dbebfe00959151))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Bug Fixes
|
|
49
|
+
|
|
50
|
+
* Allow grib source to be used for constant data ([#428](https://github.com/ecmwf/anemoi-datasets/issues/428)) ([c1d7ff1](https://github.com/ecmwf/anemoi-datasets/commit/c1d7ff1035848e26d3034903577c267973985c07))
|
|
51
|
+
* Broken source imports ([#450](https://github.com/ecmwf/anemoi-datasets/issues/450)) ([#454](https://github.com/ecmwf/anemoi-datasets/issues/454)) ([d6ed174](https://github.com/ecmwf/anemoi-datasets/commit/d6ed174cf4f6da22464c050d3304b026fc0ae4a3))
|
|
52
|
+
* Ensure missing value indicator in not a valid value in accumulat… ([#316](https://github.com/ecmwf/anemoi-datasets/issues/316)) ([3541a1f](https://github.com/ecmwf/anemoi-datasets/commit/3541a1f7068b54ceeb35dff93c3f94b4b138cb9d))
|
|
53
|
+
* S3 access [#453](https://github.com/ecmwf/anemoi-datasets/issues/453) ([#459](https://github.com/ecmwf/anemoi-datasets/issues/459)) ([2d810e3](https://github.com/ecmwf/anemoi-datasets/commit/2d810e3775ace78ffe2c43cc9bac66d704c0754d))
|
|
54
|
+
* Xarray-zarr filters ([#457](https://github.com/ecmwf/anemoi-datasets/issues/457)) ([5f2973f](https://github.com/ecmwf/anemoi-datasets/commit/5f2973fb7d128a3f6de5ed538e39cc7421eeb5dc))
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Documentation
|
|
58
|
+
|
|
59
|
+
* Documentation updates ([#419](https://github.com/ecmwf/anemoi-datasets/issues/419)) ([4588175](https://github.com/ecmwf/anemoi-datasets/commit/458817533e805652527945eef4de781c62d3abf9))
|
|
60
|
+
|
|
11
61
|
## [0.5.27](https://github.com/ecmwf/anemoi-datasets/compare/0.5.26...0.5.27) (2025-10-06)
|
|
12
62
|
|
|
13
63
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
## How to Contribute
|
|
2
2
|
|
|
3
|
-
Please see the [read the docs](https://anemoi.readthedocs.io/en/latest/
|
|
3
|
+
Please see the [read the docs](https://anemoi.readthedocs.io/en/latest/contributing/contributing.html).
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
## Contributors
|
|
@@ -10,4 +10,4 @@ Thank you to all the wonderful people who have contributed to Anemoi. Contributi
|
|
|
10
10
|
|
|
11
11
|
## Contributing Organisations
|
|
12
12
|
|
|
13
|
-
Significant contributions have been made by the following organisations: [DWD](https://www.dwd.de/), [FMI](https://www.ilmatieteenlaitos.fi/), [KNMI](https://www.knmi.nl), [MET Norway](https://www.met.no/), [MeteoSwiss](https://www.meteoswiss.admin.ch/), [RMI](https://www.meteo.be/) & [ECMWF](https://www.ecmwf.int/)
|
|
13
|
+
Significant contributions have been made by the following organisations: [DMI](https://www.dmi.dk/), [DWD](https://www.dwd.de/), [FMI](https://www.ilmatieteenlaitos.fi/), [KNMI](https://www.knmi.nl), [MET Norway](https://www.met.no/), [MeteoSwiss](https://www.meteoswiss.admin.ch/), [RMI](https://www.meteo.be/), [Met Office](https://www.metoffice.gov.uk/), [Météo-France](https://meteofrance.com/) & [ECMWF](https://www.ecmwf.int/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: anemoi-datasets
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.29
|
|
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
|
|
@@ -216,20 +216,23 @@ Classifier: Intended Audience :: Developers
|
|
|
216
216
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
217
217
|
Classifier: Operating System :: OS Independent
|
|
218
218
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
219
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
220
219
|
Classifier: Programming Language :: Python :: 3.11
|
|
221
220
|
Classifier: Programming Language :: Python :: 3.12
|
|
222
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
223
221
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
224
222
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
225
|
-
Requires-Python: >=3.
|
|
223
|
+
Requires-Python: >=3.11
|
|
226
224
|
License-File: LICENSE
|
|
227
|
-
Requires-Dist: anemoi-transform>=0.1.
|
|
228
|
-
Requires-Dist: anemoi-utils
|
|
225
|
+
Requires-Dist: anemoi-transform>=0.1.12
|
|
226
|
+
Requires-Dist: anemoi-utils>=0.4.26
|
|
229
227
|
Requires-Dist: cfunits
|
|
228
|
+
Requires-Dist: glom
|
|
229
|
+
Requires-Dist: jsonschema
|
|
230
230
|
Requires-Dist: numcodecs<0.16
|
|
231
231
|
Requires-Dist: numpy
|
|
232
|
+
Requires-Dist: pytest>=8.4.1
|
|
233
|
+
Requires-Dist: pytest-xdist>=3.7
|
|
232
234
|
Requires-Dist: pyyaml
|
|
235
|
+
Requires-Dist: ruamel-yaml>=0.16
|
|
233
236
|
Requires-Dist: semantic-version
|
|
234
237
|
Requires-Dist: tqdm
|
|
235
238
|
Requires-Dist: zarr<=2.18.4
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
# anemoi-datasets
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://github.com/ecmwf/codex/raw/refs/heads/main/Project Maturity">
|
|
5
|
+
<img src="https://github.com/ecmwf/codex/raw/refs/heads/main/Project Maturity/incubating_badge.svg" alt="Maturity Level">
|
|
6
|
+
</a>
|
|
7
|
+
<a href="https://opensource.org/licenses/apache-2-0">
|
|
8
|
+
<img src="https://img.shields.io/badge/Licence-Apache 2.0-blue.svg" alt="Licence">
|
|
9
|
+
</a>
|
|
10
|
+
<a href="https://github.com/ecmwf/anemoi-datasets/releases">
|
|
11
|
+
<img src="https://img.shields.io/github/v/release/ecmwf/anemoi-datasets?color=purple&label=Release" alt="Latest Release">
|
|
12
|
+
</a>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
> \[!IMPORTANT\]
|
|
16
|
+
> This software is **Incubating** and subject to ECMWF's guidelines on [Software Maturity](https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity).
|
|
7
17
|
|
|
8
18
|
|
|
9
19
|
|
|
@@ -11,6 +21,10 @@ Interfaces and functionality are likely to change, and the project itself may be
|
|
|
11
21
|
|
|
12
22
|
The documentation can be found at https://anemoi-datasets.readthedocs.io/.
|
|
13
23
|
|
|
24
|
+
## Contributing
|
|
25
|
+
|
|
26
|
+
You can find information about contributing to Anemoi at our [Contribution page](https://anemoi.readthedocs.io/en/latest/contributing/contributing.html).
|
|
27
|
+
|
|
14
28
|
## Install
|
|
15
29
|
|
|
16
30
|
Install via `pip` with:
|
|
@@ -19,5 +19,5 @@ help:
|
|
|
19
19
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
20
20
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
21
21
|
%: Makefile
|
|
22
|
-
|
|
22
|
+
@cd scripts && $(MAKE) $@
|
|
23
23
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
.. _filters:
|
|
2
|
+
|
|
3
|
+
#########
|
|
4
|
+
Filters
|
|
5
|
+
#########
|
|
6
|
+
|
|
7
|
+
Filters can be used to perform data transformations when creating a
|
|
8
|
+
dataset. See the :ref:`anemoi-transform
|
|
9
|
+
<anemoi-transform:list-of-filters>` documentation for a list of filters
|
|
10
|
+
and example configurations.
|
{anemoi_datasets-0.5.27/docs/datasets → anemoi_datasets-0.5.29/docs}/building/introduction.rst
RENAMED
|
@@ -14,7 +14,7 @@ computed as the dataset is built, and stored in the metadata, with other
|
|
|
14
14
|
information such as the locations of the grid points, the list of
|
|
15
15
|
variables, etc.
|
|
16
16
|
|
|
17
|
-
.. figure::
|
|
17
|
+
.. figure:: ../_static/schemas/recipe.png
|
|
18
18
|
:alt: Building datasets
|
|
19
19
|
:align: center
|
|
20
20
|
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
###############
|
|
2
|
+
accumulate
|
|
3
|
+
###############
|
|
4
|
+
|
|
5
|
+
.. note::
|
|
6
|
+
|
|
7
|
+
The ``accumulate`` source was previously named ``accumulations``.
|
|
8
|
+
The API has changed in the following ways:
|
|
9
|
+
|
|
10
|
+
- The parameter ``accumulation_period`` has been renamed to ``period``.
|
|
11
|
+
- The source can be now different from ``mars`` (e.g., ``mars``, ``grib-index``)
|
|
12
|
+
it must now be explicitly specified as a nested dictionary under the ``source`` key.
|
|
13
|
+
- The (optional) available accumulation intervals can now be specified using the ``availability`` key.
|
|
14
|
+
|
|
15
|
+
Accumulations and flux variables, such as precipitation, are often
|
|
16
|
+
forecast fields, which are archived for a given base date (or reference
|
|
17
|
+
time) and a forecast time (or step). These fields are valid at the
|
|
18
|
+
forecast time and are accumulated over a given period of time, with the
|
|
19
|
+
relation: :math:`valid\_date = base\_date + step`.
|
|
20
|
+
|
|
21
|
+
Because the package builds datasets according to the valid date of the
|
|
22
|
+
fields, it must be able to reconstruct the requested accumulation period
|
|
23
|
+
from the available data in the source dataset. Furthermore, some fields
|
|
24
|
+
are accumulated since the beginning of the forecast (e.g. ECMWF
|
|
25
|
+
operational forecast), while others are accumulated since the last time
|
|
26
|
+
step (e.g. ERA5).
|
|
27
|
+
|
|
28
|
+
The ``accumulate`` source requires the following parameters:
|
|
29
|
+
|
|
30
|
+
- **period**: The requested accumulation period (e.g., ``6h``, ``12h``, ``24h``, ``1d``).
|
|
31
|
+
This can be specified as a string with units ``"6h"``.
|
|
32
|
+
Periods shorter than one hour such as ``"30min"`` are not supported yet.
|
|
33
|
+
- **source**: The data source configuration. Currently only ``mars`` and ``grib-index`` sources are supported.
|
|
34
|
+
- **availability**: Information about how accumulations are stored in
|
|
35
|
+
the data source. This allows the package to determine which intervals to use
|
|
36
|
+
for reconstructing the requested accumulation period (see below).
|
|
37
|
+
- **patch** (optional): Patches to apply to fields returned by the source to fix metadata issues.
|
|
38
|
+
Default patching is to set ``startStep`` to ``0`` when ``startStep==endStep``.
|
|
39
|
+
|
|
40
|
+
.. warning::
|
|
41
|
+
|
|
42
|
+
If the data provided by the source does not match the definition provided
|
|
43
|
+
in the ``availability`` parameter, the package will attempt to check the
|
|
44
|
+
metadata of the source dataset and fail if the accumulation periods cannot
|
|
45
|
+
be reconstructed.
|
|
46
|
+
Defining the period to use to reconstruct the request accumulation period and
|
|
47
|
+
checking the validity of the accumulation and relies on the metadata provided by the data source.
|
|
48
|
+
**If the metadata is incomplete or inconsistent, the package may produce incorrect results.**
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
Specifying the ``availability`` of accumulation intervals
|
|
52
|
+
=========================================================
|
|
53
|
+
|
|
54
|
+
Data accumulation methods differ between datasets. Two common methods are to
|
|
55
|
+
accumulate data either from the start of the forecast or from the previous time step.
|
|
56
|
+
|
|
57
|
+
- For ECMWF operational forecasts, the data is accumulated from the
|
|
58
|
+
beginning of the forecast. For example, if the accumulation period is
|
|
59
|
+
6h and the valid date is 2020-01-01 00:00, the source will use the
|
|
60
|
+
forecast [1]_ of 2019-12-31 18:00 at step 6h.
|
|
61
|
+
|
|
62
|
+
- For ERA5, the data is accumulated since the last time step (hourly
|
|
63
|
+
accumulations), and forecasts are only available at 06Z and 18Z. For a
|
|
64
|
+
6h accumulation with valid date 2020-01-01 13:00, the source will sum
|
|
65
|
+
the fields from the forecast of 2020-01-01 06:00 at steps 1-2h, 2-3h,
|
|
66
|
+
3-4h, 4-5h, 5-6h, and 6-7h.
|
|
67
|
+
|
|
68
|
+
There are multiple ways to specify the ``availability`` parameter:
|
|
69
|
+
|
|
70
|
+
- `Option 1: Type-based availability`_
|
|
71
|
+
- `Option 2: Availability over fixed periods`_
|
|
72
|
+
- `Option 3: Automatic detection for well-known datasets`_
|
|
73
|
+
- `Option 4: Finer control using explicit list of interval`_
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
Option 1: Type-based availability
|
|
77
|
+
---------------------------------
|
|
78
|
+
|
|
79
|
+
For more explicit control, use the **type** parameter with ``accumulated-from-start``
|
|
80
|
+
or ``accumulated-from-previous-step``, along with **basetime**, **frequency**, and **last_step**.
|
|
81
|
+
|
|
82
|
+
.. list-table::
|
|
83
|
+
:widths: 50 50
|
|
84
|
+
:header-rows: 1
|
|
85
|
+
|
|
86
|
+
* - ECMWF operational (accumulated from start)
|
|
87
|
+
- ERA5 (accumulated from previous step)
|
|
88
|
+
* - .. literalinclude:: yaml/accumulations-from-start-mars-ecmwf-operational-forecast-2.yaml
|
|
89
|
+
:language: yaml
|
|
90
|
+
- .. literalinclude:: yaml/accumulations-from-previous-step-mars-era5-2.yaml
|
|
91
|
+
:language: yaml
|
|
92
|
+
|
|
93
|
+
Option 2: Availability over fixed periods
|
|
94
|
+
-----------------------------------------
|
|
95
|
+
|
|
96
|
+
If the source provides data accumulated over a fixed period, such as
|
|
97
|
+
``availability: "1h"`` for hourly accumulated data, ``"3h"`` for
|
|
98
|
+
3-hourly accumulated data, etc.
|
|
99
|
+
|
|
100
|
+
This approach should be used when all accumulation intervals for the fixed period are available
|
|
101
|
+
for all base times.
|
|
102
|
+
|
|
103
|
+
Additionally, the period provided in ``availability`` must be compatible with the requested accumulation period,
|
|
104
|
+
i.e., it must be a divisor of the requested period in ``period``.
|
|
105
|
+
|
|
106
|
+
.. literalinclude:: yaml/accumulations-grib-index.yaml
|
|
107
|
+
:language: yaml
|
|
108
|
+
|
|
109
|
+
Option 3: Automatic detection for well-known datasets
|
|
110
|
+
-----------------------------------------------------
|
|
111
|
+
|
|
112
|
+
The simplest approach is to use ``availability: auto``. The package will try to
|
|
113
|
+
infer the availability from the ``mars`` source parameters (class, stream, origin).
|
|
114
|
+
Supported combinations are:
|
|
115
|
+
|
|
116
|
+
- ERA5 reanalysis (class ``ea``, stream ``oper``)
|
|
117
|
+
- ERA5 ensemble data assimilation (class ``ea``, stream ``enda``)
|
|
118
|
+
- ECMWF operational forecasts (class ``od``, stream ``oper``)
|
|
119
|
+
- ECMWF operational ensemble data assimilation (class ``od``, stream ``elda``)
|
|
120
|
+
- Regional reanalysis (class ``rr``, stream ``oper``, origin ``se-al-ec``).
|
|
121
|
+
- ERA5-Land (class ``l5``, stream ``oper``)
|
|
122
|
+
|
|
123
|
+
Automatic detection is not supported for the ``grib-index`` source.
|
|
124
|
+
|
|
125
|
+
.. list-table::
|
|
126
|
+
:widths: 50 50
|
|
127
|
+
:header-rows: 1
|
|
128
|
+
|
|
129
|
+
* - ECMWF operational (accumulated from start)
|
|
130
|
+
- ERA5 (accumulated from previous step)
|
|
131
|
+
* - .. literalinclude:: yaml/accumulations-from-start-mars-ecmwf-operational-forecast-1.yaml
|
|
132
|
+
:language: yaml
|
|
133
|
+
- .. literalinclude:: yaml/accumulations-from-previous-step-mars-era5-1.yaml
|
|
134
|
+
:language: yaml
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
Option 4: Finer control using explicit list of interval
|
|
138
|
+
-------------------------------------------------------
|
|
139
|
+
|
|
140
|
+
For full control, provide an explicit list of ``(basetime, steps)`` pairs.
|
|
141
|
+
|
|
142
|
+
.. list-table::
|
|
143
|
+
:widths: 50 50
|
|
144
|
+
:header-rows: 1
|
|
145
|
+
|
|
146
|
+
* - ECMWF operational (accumulated from start)
|
|
147
|
+
- ERA5 (accumulated from previous step)
|
|
148
|
+
* - .. literalinclude:: yaml/accumulations-from-start-mars-ecmwf-operational-forecast-3.yaml
|
|
149
|
+
:language: yaml
|
|
150
|
+
- .. literalinclude:: yaml/accumulations-from-previous-step-mars-era5-3.yaml
|
|
151
|
+
:language: yaml
|
|
152
|
+
|
|
153
|
+
These two examples are equivalent to those shown in Option 1 above.
|
|
154
|
+
|
|
155
|
+
.. [1]
|
|
156
|
+
|
|
157
|
+
For ECMWF forecasts, the forecasts at 00Z and 12Z are from the stream
|
|
158
|
+
``oper`` while the forecasts at 06Z and 18Z are from the stream ``scda``.
|
|
@@ -10,7 +10,7 @@ dates of the dataset.
|
|
|
10
10
|
|
|
11
11
|
The general format of the `repeated-dates` source is:
|
|
12
12
|
|
|
13
|
-
.. literalinclude:: yaml/
|
|
13
|
+
.. literalinclude:: yaml/repeated-dates1.yaml
|
|
14
14
|
:language: yaml
|
|
15
15
|
|
|
16
16
|
where ``source`` is any of the :ref:`operations <operations>` or
|
anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-previous-step-mars-era5-2.yaml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
accumulate:
|
|
2
|
+
period: 6h
|
|
3
|
+
availability:
|
|
4
|
+
type: accumulated-from-previous-step
|
|
5
|
+
basetime: [6, 18]
|
|
6
|
+
frequency: 1h
|
|
7
|
+
last_step: 18
|
|
8
|
+
source:
|
|
9
|
+
mars:
|
|
10
|
+
expver: "0001"
|
|
11
|
+
class: ea
|
|
12
|
+
stream: oper
|
|
13
|
+
type: fc
|
|
14
|
+
grid: 20./20.
|
|
15
|
+
levtype: sfc
|
|
16
|
+
param: [tp, cp]
|
anemoi_datasets-0.5.29/docs/building/sources/yaml/accumulations-from-previous-step-mars-era5-3.yaml
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
accumulate:
|
|
2
|
+
period: 6h
|
|
3
|
+
availability:
|
|
4
|
+
- [6, "0-1/1-2/2-3/3-4/4-5/5-6/6-7/7-8/8-9/9-10/10-11/11-12/12-13/13-14/14-15/15-16/16-17/17-18"]
|
|
5
|
+
- [18, "0-1/1-2/2-3/3-4/4-5/5-6/6-7/7-8/8-9/9-10/10-11/11-12/12-13/13-14/14-15/15-16/16-17/17-18"]
|
|
6
|
+
source:
|
|
7
|
+
mars:
|
|
8
|
+
expver: "0001"
|
|
9
|
+
class: ea
|
|
10
|
+
stream: oper
|
|
11
|
+
type: fc
|
|
12
|
+
grid: 20./20.
|
|
13
|
+
levtype: sfc
|
|
14
|
+
param: [tp, cp]
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
accumulate:
|
|
2
|
+
period: 6h
|
|
3
|
+
availability:
|
|
4
|
+
type: accumulated-from-start
|
|
5
|
+
basetime: [0, 12]
|
|
6
|
+
frequency: 6h
|
|
7
|
+
last_step: 18
|
|
8
|
+
source:
|
|
9
|
+
mars:
|
|
10
|
+
expver: "0001"
|
|
11
|
+
class: od
|
|
12
|
+
stream: oper
|
|
13
|
+
type: fc
|
|
14
|
+
grid: 20./20.
|
|
15
|
+
levtype: sfc
|
|
16
|
+
param: [tp, cp]
|
|
@@ -4,7 +4,7 @@ Create Command
|
|
|
4
4
|
==============
|
|
5
5
|
|
|
6
6
|
Use this command to create a dataset from a recipe file.
|
|
7
|
-
The syntax of the recipe file is described in :
|
|
7
|
+
The syntax of the recipe file is described in :ref:`building-introduction`.
|
|
8
8
|
|
|
9
9
|
.. argparse::
|
|
10
10
|
:module: anemoi.datasets.__main__
|
|
@@ -15,7 +15,7 @@ This command will output the metadata of the dataset, including the variables, d
|
|
|
15
15
|
|
|
16
16
|
which will output something like the following. The output should be self-explanatory.
|
|
17
17
|
|
|
18
|
-
.. literalinclude:: ../
|
|
18
|
+
.. literalinclude:: ../yaml/building1.txt
|
|
19
19
|
:language: console
|
|
20
20
|
|
|
21
21
|
.. argparse::
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
.. _cli-introduction:
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
############
|
|
4
|
+
Introduction
|
|
5
|
+
############
|
|
6
6
|
|
|
7
7
|
When you install the `anemoi-datasets` package, this will also install command line tool
|
|
8
8
|
called ``anemoi-datasets`` which can be used to manage the zarr datasets.
|