anemoi-datasets 0.5.28__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.28 → anemoi_datasets-0.5.29}/.github/workflows/downstream-ci-hpc.yml +2 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/python-pull-request.yml +1 -1
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.gitignore +0 -5
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.pre-commit-config.yaml +23 -29
- anemoi_datasets-0.5.29/.release-please-manifest.json +3 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/CHANGELOG.md +27 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/CONTRIBUTORS.md +2 -2
- {anemoi_datasets-0.5.28/src/anemoi_datasets.egg-info → anemoi_datasets-0.5.29}/PKG-INFO +7 -7
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/README.md +18 -4
- anemoi_datasets-0.5.29/docs/building/sources/accumulate.rst +158 -0
- 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.28 → anemoi_datasets-0.5.29}/docs/building/sources.rst +1 -1
- {anemoi_datasets-0.5.28 → 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.28 → anemoi_datasets-0.5.29}/docs/using/combining.rst +4 -4
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/grids.rst +19 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/pyproject.toml +7 -7
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/_version.py +3 -3
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/__init__.py +4 -12
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/config.py +50 -53
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/result/field.py +1 -3
- 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.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/grib_index.py +64 -20
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/mars.py +56 -27
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/__init__.py +1 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +1 -4
- {anemoi_datasets-0.5.28 → 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.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/complement.py +26 -17
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/dataset.py +6 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/masked.py +74 -13
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/missing.py +5 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29/src/anemoi_datasets.egg-info}/PKG-INFO +7 -7
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/SOURCES.txt +30 -8
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/requires.txt +5 -3
- 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.28 → anemoi_datasets-0.5.29}/tests/create/join.yaml +11 -5
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/missing.yaml +3 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/nan.yaml +3 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/pipe.yaml +10 -3
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/recentre.yaml +20 -9
- {anemoi_datasets-0.5.28 → 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.28 → anemoi_datasets-0.5.29}/tests/create/test_create.py +21 -14
- {anemoi_datasets-0.5.28 → 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.28 → anemoi_datasets-0.5.29}/tests/create/utils/create.py +1 -4
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_data.py +62 -0
- anemoi_datasets-0.5.28/.release-please-manifest.json +0 -3
- anemoi_datasets-0.5.28/docs/building/sources/accumulations.rst +0 -67
- anemoi_datasets-0.5.28/docs/building/sources/yaml/accumulations1.yaml +0 -6
- anemoi_datasets-0.5.28/docs/building/sources/yaml/accumulations2.yaml +0 -6
- anemoi_datasets-0.5.28/src/anemoi/datasets/create/sources/accumulations.py +0 -1042
- anemoi_datasets-0.5.28/src/anemoi/datasets/create/sources/accumulations2.py +0 -618
- anemoi_datasets-0.5.28/src/anemoi/datasets/create/sources/tendencies.py +0 -171
- anemoi_datasets-0.5.28/src/anemoi/datasets/create/sources/xarray_support/patch.py +0 -132
- anemoi_datasets-0.5.28/tests/create/accumulation.yaml +0 -20
- anemoi_datasets-0.5.28/tests/create/concat.yaml +0 -32
- anemoi_datasets-0.5.28/tests/create/utils/compare.py +0 -227
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.gitattributes +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/CODEOWNERS +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/ci-hpc-config.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/dependabot.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/labeler.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/pull_request_template.md +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/pr-conventional-commit.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-ats.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-conventional-commits.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-file-based.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/pr-label-public.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/push-to-private.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/python-publish.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/readthedocs-pr-update.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.github/workflows/release-please.yml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.readthedocs.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.release-please-config.json +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/.vscode/spellright.dict +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/LICENSE +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/Makefile +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/2t_map_example.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/area-1.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/concat.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-1.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-2.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-3.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-4.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-5.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/cutout-6.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/join.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/logo.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/overlay.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/matrix.excalidraw +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/matrix.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/overview.excalidraw +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/overview.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/recipe.excalidraw +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/schemas/recipe.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/skip-missing.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/style.css +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/thinning-after.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_static/thinning-before.png +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_templates/.gitkeep +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/_templates/apidoc/package.rst.jinja +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/adr/adr-1.md +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/apply-fmt.sh +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/advanced-options.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/filters.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/handling-missing-dates.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/handling-missing-values.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/incremental.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/introduction.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/naming-conventions.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/naming-variables.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/operations.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/anemoi-dataset.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/cds.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/eccc-fstd.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/forcings.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/grib-index.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/grib.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/hindcasts.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/mars.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/netcdf.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/opendap.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/recentre.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/repeated-dates.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/xarray-based.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/xarray-kerchunk.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/xarray-kerchunk.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/xarray-zarr.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/anemoi-dataset.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/anemoi-zarr-dataset.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/eccc-fstd.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/forcings.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/grib1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/grib2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/grib3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/grib4.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/mars-cds.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/mars1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/mars2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/netcdf.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/opendap.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/recentre.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/repeated-dates1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/repeated-dates2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/repeated-dates3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/repeated-dates4.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/xarray-based.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/xarray-kerchunk.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/xarray-zarr.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/yaml/zenodo.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/sources/zenodo.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/statistics.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/building/syntax.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/check-index.sh +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/compare-lam.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/compare.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/copy.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/create.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/grib-index.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/inspect.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/introduction.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/patch.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/scan.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/cli/validate.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/conf.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/dev/contributing.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/00-redo-sample-dataset.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/02-cf-data.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/03-constant-fields.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/04-create-with-filter.rst +0 -0
- {anemoi_datasets-0.5.28 → 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.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-flavour4.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe4.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/grib-recipe5.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/netcdf1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/opendap1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/recipe-filter1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/recipe-filter2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-flavour1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-patch1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/xarray-patch2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/zarr1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/create/yaml/zarr2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/introduction.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/01-interpolate-step-dataset-combination.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/02-coutout-complement-combination.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/code/cutout-complement1.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/code/interpolate1.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/code/interpolate2.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/yaml/cutout-complement1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/yaml/interpolate1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/howtos/using/yaml/interpolate2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/index.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/installing.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/modules/dataset.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/overview.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/pptx/images.pptx +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/scripts/Makefile +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/scripts/api_build.sh +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/code/trimedge1_.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/configuration.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/configuration.toml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/ensembles.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/introduction.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/matching.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/methods.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/miscellaneous.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/missing.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/opening.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/other.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/selecting.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/statistics.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/subsetting.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/using/zip.rst +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/Makefile +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building1.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building2.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building3.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/building3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/concat.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/input.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/missing_dates.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/nan.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/docs/yaml/pipe.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/setup.cfg +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/__main__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/check.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/check.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/cleanup.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/compare-lam.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/compare.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/copy.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/create.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/finalise-additions.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/finalise.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/grib-index.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/init-additions.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/init.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/inspect.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/load-additions.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/load.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/patch.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/publish.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/recipe/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/recipe/format.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/recipe/migrate.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/scan.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/commands/validate.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/compute/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/compute/recentre.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/check.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/chunks.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/action.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/context/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/context/field.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/data_sources.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/misc.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/repeated_dates.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/result/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/input/trace.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/patch.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/persistent.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/size.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/source.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/anemoi_dataset.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/constants.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/eccc_fstd.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/empty.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/fdb.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/forcings.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/grib.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/hindcasts.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/legacy.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/netcdf.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/opendap.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/patterns.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/planetary_computer.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/recentre.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/repeated_dates.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/source.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_kerchunk.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/README.md +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/field.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/fieldlist.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/grid.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/metadata.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/time.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_support/variable.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/xarray_zarr.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/sources/zenodo.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/statistics/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/statistics/summary.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/testing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/typing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/utils.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/writer.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/create/zarr.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/concat.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/debug.css +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/debug.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/ensemble.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/fill_missing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/forwards.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/grids.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/indexing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/interpolate.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/join.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/merge.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/misc.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/legacy_obs_dataset.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/observations/multi.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/padded.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/records/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/records/backends/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/rescale.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/rolling_average.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/select.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/statistics.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/stores.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/subset.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/unchecked.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/data/xy.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/dates/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/dates/groups.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/dumper.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/grids.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/schemas/recipe.json +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/testing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi/datasets/validate.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/conftest.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/run.sh +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/utils/__init__.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create/utils/mock_sources.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create-perturbations-full.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/create-shift.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_chunks.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_data_gridded.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_dates.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_indexing.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_records.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/test_validate.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/xarray/test_flavour.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/xarray/test_netcdf.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/xarray/test_opendap.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/xarray/test_variable.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tests/xarray/test_zarr.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/.gitignore +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/build-obs.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/check-obs.py +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/examples/Makefile +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/Makefile +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids.ipynb +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids1.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids2.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids3.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids4.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids5.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids6.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids7.yaml +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/grids/grids_multilam.ipynb +0 -0
- {anemoi_datasets-0.5.28 → anemoi_datasets-0.5.29}/tools/make-sample-dataset.py +0 -0
- {anemoi_datasets-0.5.28 → 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,36 +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
|
-
|
|
82
|
-
|
|
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
|
|
83
77
|
ci:
|
|
84
78
|
autoupdate_schedule: monthly
|
|
85
79
|
autoupdate_commit_msg: "chore(deps): pre-commit.ci autoupdate"
|
|
@@ -8,6 +8,33 @@ 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
|
+
|
|
11
38
|
## [0.5.28](https://github.com/ecmwf/anemoi-datasets/compare/0.5.27...0.5.28) (2025-10-30)
|
|
12
39
|
|
|
13
40
|
|
|
@@ -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,23 +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
|
|
230
228
|
Requires-Dist: glom
|
|
231
229
|
Requires-Dist: jsonschema
|
|
232
230
|
Requires-Dist: numcodecs<0.16
|
|
233
231
|
Requires-Dist: numpy
|
|
232
|
+
Requires-Dist: pytest>=8.4.1
|
|
233
|
+
Requires-Dist: pytest-xdist>=3.7
|
|
234
234
|
Requires-Dist: pyyaml
|
|
235
|
-
Requires-Dist: ruamel-yaml
|
|
235
|
+
Requires-Dist: ruamel-yaml>=0.16
|
|
236
236
|
Requires-Dist: semantic-version
|
|
237
237
|
Requires-Dist: tqdm
|
|
238
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:
|
|
@@ -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``.
|
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]
|
|
@@ -92,14 +92,15 @@ after that, the parameters are the same as for the `grib` source.
|
|
|
92
92
|
Selecting GRIB messages
|
|
93
93
|
*************************
|
|
94
94
|
|
|
95
|
-
You can select GRIB messages using the MARS language
|
|
96
|
-
select all the GRIB messages with a specific parameter,
|
|
97
|
-
``param`` keyword. For example, to select all the GRIB
|
|
98
|
-
parameters ``2t``, ``10u`` and ``10v``, you can use
|
|
95
|
+
You can select GRIB messages using the MARS language and eccodes_ keys.
|
|
96
|
+
For example, to select all the GRIB messages with a specific parameter,
|
|
97
|
+
you can use the ``param`` keyword. For example, to select all the GRIB
|
|
98
|
+
messages with the parameters ``2t``, ``10u`` and ``10v``, you can use
|
|
99
|
+
the following:
|
|
99
100
|
|
|
100
101
|
.. literalinclude:: yaml/grib-recipe4.yaml
|
|
101
102
|
|
|
102
|
-
It is recommended to
|
|
103
|
+
It is recommended to join several sources to differentiate between
|
|
103
104
|
single-level and multi-level fields.
|
|
104
105
|
|
|
105
106
|
.. literalinclude:: yaml/grib-recipe5.yaml
|
|
@@ -110,6 +111,20 @@ single-level and multi-level fields.
|
|
|
110
111
|
using an index, the keys must be present in the index file, and
|
|
111
112
|
should have been provided at index creation time.
|
|
112
113
|
|
|
114
|
+
For example, to select variables by their non-integer ``topLevel``
|
|
115
|
+
value, ``topLevel:d`` can be used. This instructs eccodes_ to retrieve
|
|
116
|
+
``topLevel`` as a double instead of the default integer type.
|
|
117
|
+
|
|
118
|
+
The ``build.variable_naming`` option or the ``rename`` filter (see
|
|
119
|
+
:ref:`anemoi-transform <anemoi-transform:list-of-filters>`) can be used
|
|
120
|
+
to include the exact ``topLevel`` value in the anemoi-dataset variable
|
|
121
|
+
name. (Be cautious with exact matching of float values when using
|
|
122
|
+
``:d``.)
|
|
123
|
+
|
|
124
|
+
.. literalinclude:: yaml/grib-recipe6.yaml
|
|
125
|
+
|
|
126
|
+
.. literalinclude:: yaml/grib-recipe7.yaml
|
|
127
|
+
|
|
113
128
|
.. _grib_flavour:
|
|
114
129
|
|
|
115
130
|
*******************
|