anemoi-datasets 0.5.15__tar.gz → 0.5.17__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.17/.github/dependabot.yml +10 -0
- anemoi_datasets-0.5.17/.github/labeler.yml +43 -0
- anemoi_datasets-0.5.17/.github/pull_request_template.md +46 -0
- anemoi_datasets-0.5.17/.github/release.yml +23 -0
- anemoi_datasets-0.5.17/.github/workflows/downstream-ci-hpc.yml +60 -0
- anemoi_datasets-0.5.17/.github/workflows/pr-conventional-commit.yml +22 -0
- anemoi_datasets-0.5.17/.github/workflows/pr-label-conventional-commits.yml +48 -0
- anemoi_datasets-0.5.17/.github/workflows/pr-label-file-based.yml +17 -0
- anemoi_datasets-0.5.15/.github/workflows/label-public-pr.yml → anemoi_datasets-0.5.17/.github/workflows/pr-label-public.yml +2 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/workflows/push-to-private.yml +3 -2
- anemoi_datasets-0.5.17/.github/workflows/python-publish.yml +13 -0
- anemoi_datasets-0.5.17/.github/workflows/python-pull-request.yml +25 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/workflows/readthedocs-pr-update.yml +2 -0
- anemoi_datasets-0.5.17/.github/workflows/release-please.yml +28 -0
- anemoi_datasets-0.5.17/.gitignore +137 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.pre-commit-config.yaml +22 -6
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.readthedocs.yaml +1 -1
- anemoi_datasets-0.5.17/.release-please-config.json +20 -0
- anemoi_datasets-0.5.17/.release-please-manifest.json +3 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/CHANGELOG.md +43 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/CONTRIBUTORS.md +2 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/LICENSE +1 -1
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/PKG-INFO +10 -7
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/README.md +2 -2
- anemoi_datasets-0.5.17/docs/_static/2t_map_example.png +0 -0
- anemoi_datasets-0.5.17/docs/_static/logo.png +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/compare.rst +4 -2
- anemoi_datasets-0.5.17/docs/cli/copy.rst +35 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/create.rst +5 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/inspect.rst +5 -7
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/introduction.rst +10 -16
- anemoi_datasets-0.5.17/docs/cli/patch.rst +12 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/scan.rst +4 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/conf.py +18 -1
- anemoi_datasets-0.5.17/docs/datasets/building/filters/regrid.rst +28 -0
- anemoi_datasets-0.5.17/docs/datasets/building/filters/yaml/regrid1.yaml +10 -0
- anemoi_datasets-0.5.17/docs/datasets/building/filters/yaml/regrid2.yaml +8 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters.rst +1 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/handling-missing-dates.rst +4 -3
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/handling-missing-values.rst +1 -1
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/introduction.rst +29 -77
- anemoi_datasets-0.5.17/docs/datasets/building/naming-conventions.rst +103 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/operations.rst +3 -3
- anemoi_datasets-0.5.17/docs/datasets/building/sources/cds.rst +20 -0
- anemoi_datasets-0.5.17/docs/datasets/building/sources/eccc_fstd.rst +16 -0
- anemoi_datasets-0.5.17/docs/datasets/building/sources/netcdf.rst +26 -0
- anemoi_datasets-0.5.17/docs/datasets/building/sources/xarray-based.rst +19 -0
- anemoi_datasets-0.5.17/docs/datasets/building/sources/yaml/eccc_fstd.yaml +3 -0
- anemoi_datasets-0.5.17/docs/datasets/building/sources/yaml/mars-cds.yaml +7 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources.rst +3 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/statistics.rst +27 -4
- anemoi_datasets-0.5.17/docs/datasets/introduction.rst +21 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/combining.rst +74 -19
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/ensembles.rst +12 -4
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/grids.rst +12 -9
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/introduction.rst +45 -8
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/matching.rst +24 -10
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/methods.rst +4 -2
- anemoi_datasets-0.5.17/docs/datasets/using/miscellaneous.rst +40 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/missing.rst +36 -8
- anemoi_datasets-0.5.17/docs/datasets/using/opening.rst +168 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/other.rst +6 -2
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/selecting.rst +74 -18
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/statistics.rst +7 -2
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/subsetting.rst +12 -7
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/zip.rst +37 -5
- anemoi_datasets-0.5.17/docs/dev/code_structure.rst +5 -0
- anemoi_datasets-0.5.17/docs/dev/contributing.rst +5 -0
- anemoi_datasets-0.5.17/docs/dev/testing.rst +5 -0
- anemoi_datasets-0.5.17/docs/index.rst +174 -0
- anemoi_datasets-0.5.17/docs/installing.rst +85 -0
- anemoi_datasets-0.5.17/docs/modules/create.rst +8 -0
- anemoi_datasets-0.5.17/docs/modules/data.rst +15 -0
- anemoi_datasets-0.5.17/docs/overview.rst +91 -0
- anemoi_datasets-0.5.17/docs/usage/getting_started.rst +172 -0
- anemoi_datasets-0.5.17/docs/usage/yaml/aifs-ea-an-oper-0001-mars-o48-2020-2021-6h-v1.yaml +72 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/pyproject.toml +17 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/__init__.py +4 -1
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/__main__.py +12 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/_version.py +9 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/cleanup.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/compare.py +18 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/copy.py +196 -14
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/create.py +50 -7
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/finalise-additions.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/finalise.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/init-additions.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/init.py +16 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/inspect.py +283 -62
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/load-additions.py +16 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/load.py +16 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/patch.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/publish.py +17 -2
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/scan.py +31 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/compute/recentre.py +47 -11
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/__init__.py +612 -85
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/check.py +142 -20
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/chunks.py +64 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/config.py +185 -21
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filter.py +50 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/__init__.py +33 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/empty.py +37 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/legacy.py +93 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/noop.py +37 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/orog_to_z.py +58 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/pressure_level_relative_humidity_to_specific_humidity.py +33 -10
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/pressure_level_specific_humidity_to_relative_humidity.py +32 -8
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/rename.py +205 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/rotate_winds.py +43 -28
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/single_level_dewpoint_to_relative_humidity.py +32 -9
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/single_level_relative_humidity_to_dewpoint.py +33 -9
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/single_level_relative_humidity_to_specific_humidity.py +55 -7
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/single_level_specific_humidity_to_relative_humidity.py +98 -37
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/speeddir_to_uv.py +95 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/sum.py +24 -27
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/transform.py +53 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/unrotate_winds.py +27 -18
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/uv_to_speeddir.py +94 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/wz_to_w.py +51 -33
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/__init__.py +126 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/action.py +254 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/concat.py +81 -10
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/context.py +39 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/data_sources.py +72 -6
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/empty.py +21 -3
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/filter.py +118 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/function.py +233 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/join.py +130 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/misc.py +130 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/pipe.py +33 -6
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/repeated_dates.py +189 -41
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/result.py +202 -87
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/step.py +191 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/template.py +162 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/trace.py +62 -7
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/patch.py +52 -4
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/persistent.py +271 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/size.py +15 -1
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/source.py +51 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/__init__.py +36 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/accumulations.py +296 -30
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/constants.py +27 -2
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/eccc_fstd.py +7 -3
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/empty.py +37 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/forcings.py +25 -1
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/grib.py +297 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/hindcasts.py +38 -4
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/legacy.py +93 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/mars.py +168 -20
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/netcdf.py +42 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/opendap.py +43 -0
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/__init__.py → anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/patterns.py +35 -4
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/recentre.py +150 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/source.py +27 -5
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/tendencies.py +64 -7
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray.py +92 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_kerchunk.py +36 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/README.md +1 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support}/__init__.py +109 -8
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +442 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support}/field.py +94 -16
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support}/fieldlist.py +90 -25
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/flavour.py +1036 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support}/grid.py +92 -31
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/metadata.py +395 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/patch.py +91 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/time.py +391 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/variable.py +331 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_zarr.py +41 -0
- {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/zenodo.py +34 -5
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/statistics/__init__.py +233 -44
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/statistics/summary.py +52 -6
- anemoi_datasets-0.5.17/src/anemoi/datasets/create/testing.py +76 -0
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/noop.py → anemoi_datasets-0.5.17/src/anemoi/datasets/create/typing.py +6 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/utils.py +97 -6
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/writer.py +26 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/zarr.py +170 -23
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/__init__.py +51 -4
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/complement.py +315 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/concat.py +141 -16
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/dataset.py +552 -61
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/debug.py +197 -26
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/ensemble.py +178 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/fill_missing.py +312 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/forwards.py +657 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/grids.py +323 -97
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/indexing.py +112 -19
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/interpolate.py +92 -12
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/join.py +158 -19
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/masked.py +129 -15
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/merge.py +137 -23
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/misc.py +172 -16
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/missing.py +233 -29
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/rescale.py +111 -10
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/select.py +282 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/statistics.py +109 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/stores.py +149 -64
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/subset.py +298 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/unchecked.py +284 -0
- anemoi_datasets-0.5.17/src/anemoi/datasets/data/xy.py +283 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/dates/__init__.py +191 -16
- anemoi_datasets-0.5.17/src/anemoi/datasets/dates/groups.py +335 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/grids.py +270 -31
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/testing.py +28 -1
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/PKG-INFO +10 -7
- anemoi_datasets-0.5.17/src/anemoi_datasets.egg-info/SOURCES.txt +343 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/requires.txt +6 -4
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/test_create.py +171 -23
- anemoi_datasets-0.5.17/tests/create/test_sources.py +140 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_chunks.py +10 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_data.py +312 -73
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_dates.py +77 -5
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_indexing.py +2 -1
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_netcdf.py +3 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_opendap.py +3 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_samples.py +19 -3
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_zarr.py +19 -14
- anemoi_datasets-0.5.15/.github/ci-config.yml +0 -3
- anemoi_datasets-0.5.15/.github/workflows/changelog-pr-update.yml +0 -18
- anemoi_datasets-0.5.15/.github/workflows/changelog-release-update.yml +0 -45
- anemoi_datasets-0.5.15/.github/workflows/ci.yml +0 -61
- anemoi_datasets-0.5.15/.github/workflows/python-publish.yml +0 -27
- anemoi_datasets-0.5.15/.github/workflows/python-pull-request.yml +0 -28
- anemoi_datasets-0.5.15/.gitignore +0 -197
- anemoi_datasets-0.5.15/docs/_static/logo.png +0 -0
- anemoi_datasets-0.5.15/docs/building/sources/netcdf.rst +0 -8
- anemoi_datasets-0.5.15/docs/building/sources/xarray-based.rst +0 -13
- anemoi_datasets-0.5.15/docs/cli/copy.rst +0 -27
- anemoi_datasets-0.5.15/docs/index.rst +0 -146
- anemoi_datasets-0.5.15/docs/installing.rst +0 -42
- anemoi_datasets-0.5.15/docs/naming_conventions.rst +0 -8
- anemoi_datasets-0.5.15/docs/overview.rst +0 -44
- anemoi_datasets-0.5.15/docs/overview_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/area1_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/area2_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/chain_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/combine_example.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/complement1_.py +0 -6
- anemoi_datasets-0.5.15/docs/using/code/complement2_.py +0 -12
- anemoi_datasets-0.5.15/docs/using/code/complement3_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/concat1.py +0 -11
- anemoi_datasets-0.5.15/docs/using/code/cutout_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/drop_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/end_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/ensembles1_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/fill_missing_dates1_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/fill_missing_dates2_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/fill_missing_gaps_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/frequency1_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/frequency2_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/grids1_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates1_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates2_.py +0 -9
- anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates3_.py +0 -2
- anemoi_datasets-0.5.15/docs/using/code/join1.py +0 -11
- anemoi_datasets-0.5.15/docs/using/code/matching0_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/matching1_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/matching2_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/matching3_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/matching4_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/misc1.py +0 -6
- anemoi_datasets-0.5.15/docs/using/code/misc2.py +0 -9
- anemoi_datasets-0.5.15/docs/using/code/missing_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/number1_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/number2_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/open_cloud.py +0 -5
- anemoi_datasets-0.5.15/docs/using/code/open_combine1_.py +0 -7
- anemoi_datasets-0.5.15/docs/using/code/open_combine2_.py +0 -8
- anemoi_datasets-0.5.15/docs/using/code/open_complex.py +0 -15
- anemoi_datasets-0.5.15/docs/using/code/open_dict_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/open_first_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/open_list_.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/open_name.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/open_other.py +0 -5
- anemoi_datasets-0.5.15/docs/using/code/open_path.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/open_yaml_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/rename_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/reorder1_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/reorder2_.py +0 -10
- anemoi_datasets-0.5.15/docs/using/code/rescale_.py +0 -30
- anemoi_datasets-0.5.15/docs/using/code/select1_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/select2_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/set_missing_dates_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/shuffle_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/some_attributes_.py +0 -7
- anemoi_datasets-0.5.15/docs/using/code/start_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/statistics_.py +0 -5
- anemoi_datasets-0.5.15/docs/using/code/subset_example.py +0 -3
- anemoi_datasets-0.5.15/docs/using/code/thinning_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/xy1_.py +0 -5
- anemoi_datasets-0.5.15/docs/using/code/xy2_.py +0 -4
- anemoi_datasets-0.5.15/docs/using/code/zip1_.py +0 -1
- anemoi_datasets-0.5.15/docs/using/code/zip2_.py +0 -8
- anemoi_datasets-0.5.15/docs/using/code/zip_xy_.py +0 -9
- anemoi_datasets-0.5.15/docs/using/miscellaneous.rst +0 -25
- anemoi_datasets-0.5.15/docs/using/opening.rst +0 -88
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/__init__.py +0 -66
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/__init__.py +0 -9
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/empty.py +0 -17
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/orog_to_z.py +0 -58
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/rename.py +0 -79
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/speeddir_to_uv.py +0 -78
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/uv_to_speeddir.py +0 -56
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/empty.py +0 -15
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/grib.py +0 -150
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/netcdf.py +0 -15
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/opendap.py +0 -15
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/recentre.py +0 -60
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/coordinates.py +0 -255
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/flavour.py +0 -472
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/metadata.py +0 -148
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/patch.py +0 -44
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/time.py +0 -177
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/variable.py +0 -188
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray_kerchunk.py +0 -42
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray_zarr.py +0 -15
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/__init__.py +0 -55
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/action.py +0 -118
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/filter.py +0 -70
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/function.py +0 -116
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/join.py +0 -58
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/misc.py +0 -80
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/step.py +0 -94
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/template.py +0 -75
- anemoi_datasets-0.5.15/src/anemoi/datasets/create/persistent.py +0 -154
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/complement.py +0 -164
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/ensemble.py +0 -93
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/fill_missing.py +0 -165
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/forwards.py +0 -285
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/select.py +0 -140
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/statistics.py +0 -48
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/subset.py +0 -164
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/unchecked.py +0 -173
- anemoi_datasets-0.5.15/src/anemoi/datasets/data/xy.py +0 -140
- anemoi_datasets-0.5.15/src/anemoi/datasets/dates/groups.py +0 -193
- anemoi_datasets-0.5.15/src/anemoi/datasets/utils/fields.py +0 -47
- anemoi_datasets-0.5.15/src/anemoi_datasets.egg-info/SOURCES.txt +0 -373
- anemoi_datasets-0.5.15/tests/xarray/test_kerchunk.py +0 -42
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.gitattributes +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/CODEOWNERS +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/ci-hpc-config.yml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.vscode/spellright.dict +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/Makefile +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/area-1.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/concat.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-1.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-2.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-3.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-4.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-5.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-6.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/join.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/overlay.png +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/matrix.excalidraw +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/matrix.png +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/overview.excalidraw +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/overview.png +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/recipe.excalidraw +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/recipe.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/skip-missing.png +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/_static/style.css +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/thinning-after.png +0 -0
- {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/thinning-before.png +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/_templates/.gitkeep +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/apply-fmt.sh +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/check-index.sh +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/advanced-options.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/empty.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/noop.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/orog_to_z.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/rename.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/rotate_winds.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/select.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/sum.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/unrotate_winds.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/wz_to_w.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/orog_to_z.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/rename.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/sum.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/wz_to_w.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/incremental.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/naming-variables.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/accumulations.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/forcings.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/grib.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/hindcasts.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/mars.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/opendap.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/recentre.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/repeated_dates.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-kerchunk.py +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-kerchunk.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-zarr.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/accumulations1.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/accumulations2.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/forcings.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib1.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib2.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib3.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib4.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/mars1.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/mars2.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/netcdf.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/opendap.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/recentre.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates1.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates2.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates3.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates4.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-based.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-kerchunk.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-zarr.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/zenodo.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/zenodo.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/syntax.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/configuration.rst +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/configuration.toml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/Makefile +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building1.txt +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building1.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building2.txt +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building2.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building3.txt +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building3.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/concat.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/hindcasts.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/input.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/missing_dates.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/nan.yaml +0 -0
- {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/pipe.yaml +0 -0
- {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/pptx}/images.pptx +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/setup.cfg +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/__init__.py +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/compute/__init__.py +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/debug.css +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/utils/__init__.py +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/concat.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/join.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/missing.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/nan.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/pipe.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/recentre.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/regrid.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/run.sh +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create-perturbations-full.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create-shift.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/.gitignore +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/examples/Makefile +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/Makefile +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids.ipynb +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids1.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids2.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids3.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids4.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids5.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids6.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids7.yaml +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids_multilam.ipynb +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/make-sample-dataset.py +0 -0
- {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/upload-sample-dataset.py +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# This is the configuration file for the labeler action.
|
|
2
|
+
# It assigns labels to pull requests based on the files changed in the PR.
|
|
3
|
+
# See more here: https://github.com/actions/labeler
|
|
4
|
+
dependencies:
|
|
5
|
+
- changed-files:
|
|
6
|
+
- any-glob-to-any-file:
|
|
7
|
+
- "**/requirements.txt"
|
|
8
|
+
- "**/setup.py"
|
|
9
|
+
- "**/pyproject.toml"
|
|
10
|
+
- "**/Pipfile"
|
|
11
|
+
- "**/Pipfile.lock"
|
|
12
|
+
- "**/requirements/*.txt"
|
|
13
|
+
- "**/requirements/*.in"
|
|
14
|
+
|
|
15
|
+
documentation:
|
|
16
|
+
- changed-files:
|
|
17
|
+
- any-glob-to-any-file:
|
|
18
|
+
- "**/docs/**/*"
|
|
19
|
+
- "*.md"
|
|
20
|
+
- "*.rst"
|
|
21
|
+
|
|
22
|
+
config:
|
|
23
|
+
- changed-files:
|
|
24
|
+
- any-glob-to-any-file:
|
|
25
|
+
- "**/src/**/config/**/*"
|
|
26
|
+
- "**/src/anemoi/inference/config.py"
|
|
27
|
+
|
|
28
|
+
CI/CD:
|
|
29
|
+
- changed-files:
|
|
30
|
+
- any-glob-to-any-file:
|
|
31
|
+
- "**/.pre-commit-config.yaml"
|
|
32
|
+
- ".github/**/*"
|
|
33
|
+
- "tox.ini"
|
|
34
|
+
- ".coveragerc"
|
|
35
|
+
|
|
36
|
+
tests:
|
|
37
|
+
- changed-files:
|
|
38
|
+
- any-glob-to-any-file:
|
|
39
|
+
- "**/tests/**/*"
|
|
40
|
+
- "**/test/**/*"
|
|
41
|
+
- "**/test_*.py"
|
|
42
|
+
- "**/test.py"
|
|
43
|
+
- "**/conftest.py"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
## Description
|
|
2
|
+
|
|
3
|
+
<!-- Provide a brief summary of the changes introduced in this pull request. -->
|
|
4
|
+
|
|
5
|
+
## Type of Change
|
|
6
|
+
|
|
7
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
8
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
|
9
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
10
|
+
- [ ] Documentation update
|
|
11
|
+
|
|
12
|
+
## Issue Number
|
|
13
|
+
|
|
14
|
+
<!-- Link the Issue number this change addresses, ideally in one of the "magic format" such as Closes #XYZ -->
|
|
15
|
+
|
|
16
|
+
<!-- Alternatively, explain the motivation behind the changes and the context in which they are being made. -->
|
|
17
|
+
|
|
18
|
+
## Code Compatibility
|
|
19
|
+
|
|
20
|
+
- [ ] I have performed a self-review of my code
|
|
21
|
+
|
|
22
|
+
### Code Performance and Testing
|
|
23
|
+
|
|
24
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
25
|
+
- [ ] I ran the [complete Pytest test](https://anemoi.readthedocs.io/projects/training/en/latest/dev/testing.html) suite locally, and they pass
|
|
26
|
+
|
|
27
|
+
<!-- In case this affects the model sharding or other specific components please describe these here. -->
|
|
28
|
+
|
|
29
|
+
### Dependencies
|
|
30
|
+
|
|
31
|
+
- [ ] I have ensured that the code is still pip-installable after the changes and runs
|
|
32
|
+
- [ ] I have tested that new dependencies themselves are pip-installable.
|
|
33
|
+
|
|
34
|
+
<!-- List any new dependencies that are required for this change and the justification to add them. -->
|
|
35
|
+
|
|
36
|
+
### Documentation
|
|
37
|
+
|
|
38
|
+
- [ ] My code follows the style guidelines of this project
|
|
39
|
+
- [ ] I have updated the documentation and docstrings to reflect the changes
|
|
40
|
+
- [ ] I have added comments to my code, particularly in hard-to-understand areas
|
|
41
|
+
|
|
42
|
+
<!-- Describe any major updates to the documentation -->
|
|
43
|
+
|
|
44
|
+
## Additional Notes
|
|
45
|
+
|
|
46
|
+
<!-- Include any additional information, caveats, or considerations that the reviewer should be aware of. -->
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# .github/release.yml
|
|
2
|
+
# https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
|
|
3
|
+
|
|
4
|
+
changelog:
|
|
5
|
+
exclude:
|
|
6
|
+
labels:
|
|
7
|
+
- ignore-for-release
|
|
8
|
+
- no-changelog
|
|
9
|
+
authors:
|
|
10
|
+
- pre-commit-ci
|
|
11
|
+
categories:
|
|
12
|
+
- title: Breaking Changes 🛠
|
|
13
|
+
labels:
|
|
14
|
+
- "breaking change"
|
|
15
|
+
- title: Exciting New Features 🎉
|
|
16
|
+
labels:
|
|
17
|
+
- enhancement
|
|
18
|
+
- title: Config Changes 📑
|
|
19
|
+
labels:
|
|
20
|
+
- config
|
|
21
|
+
- title: Other Changes 🔗
|
|
22
|
+
labels:
|
|
23
|
+
- "*"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# This workflow triggers tests on dependent packages.
|
|
2
|
+
# The dependency tree itself is defined in ecmwf/downstream-ci/
|
|
3
|
+
name: Test downstream dependent packages on HPC
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
# Trigger the workflow on push to main or develop, except tag creation
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- 'main'
|
|
10
|
+
- 'develop'
|
|
11
|
+
tags-ignore:
|
|
12
|
+
- '**'
|
|
13
|
+
paths-ignore:
|
|
14
|
+
- "docs/**"
|
|
15
|
+
- "CHANGELOG.md"
|
|
16
|
+
- "README.md"
|
|
17
|
+
|
|
18
|
+
# Trigger the workflow on pull request
|
|
19
|
+
pull_request:
|
|
20
|
+
paths-ignore:
|
|
21
|
+
- "docs/**"
|
|
22
|
+
- "CHANGELOG.md"
|
|
23
|
+
- "README.md"
|
|
24
|
+
|
|
25
|
+
# Trigger the workflow manually
|
|
26
|
+
workflow_dispatch: ~
|
|
27
|
+
|
|
28
|
+
# Trigger after public PR approved for CI
|
|
29
|
+
pull_request_target:
|
|
30
|
+
types: [labeled]
|
|
31
|
+
paths-ignore:
|
|
32
|
+
- "docs/**"
|
|
33
|
+
- "CHANGELOG.md"
|
|
34
|
+
- "README.md"
|
|
35
|
+
|
|
36
|
+
jobs:
|
|
37
|
+
# Run CI including downstream packages on self-hosted runners
|
|
38
|
+
downstream-ci:
|
|
39
|
+
name: downstream-ci
|
|
40
|
+
if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
|
|
41
|
+
uses: ecmwf/downstream-ci/.github/workflows/downstream-ci.yml@main
|
|
42
|
+
with:
|
|
43
|
+
anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
|
|
44
|
+
codecov_upload: true
|
|
45
|
+
# Only run on fedora
|
|
46
|
+
skip_matrix_jobs: |
|
|
47
|
+
gnu@debian-11
|
|
48
|
+
gnu@rocky-8.6
|
|
49
|
+
clang@rocky-8.6
|
|
50
|
+
gnu@ubuntu-22.04
|
|
51
|
+
secrets: inherit
|
|
52
|
+
|
|
53
|
+
# # Build downstream packages on HPC
|
|
54
|
+
# downstream-ci-hpc:
|
|
55
|
+
# name: downstream-ci-hpc
|
|
56
|
+
# if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
|
|
57
|
+
# uses: ecmwf/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
|
|
58
|
+
# with:
|
|
59
|
+
# anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
|
|
60
|
+
# secrets: inherit
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# This workflow ensures that the PR title follows the Conventional Commit format.
|
|
2
|
+
name: "[Pull Request] Ensure Conventional Commit in PR title"
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
pull_request_target:
|
|
6
|
+
types:
|
|
7
|
+
- opened
|
|
8
|
+
- edited
|
|
9
|
+
- synchronize
|
|
10
|
+
- reopened
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
pull-requests: read
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
main:
|
|
17
|
+
name: Validate PR title
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- uses: amannn/action-semantic-pull-request@v5
|
|
21
|
+
env:
|
|
22
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# This workflow assigns labels to a pull request based on the Conventional Commits format.
|
|
2
|
+
# This is necessary for release-please to work properly.
|
|
3
|
+
name: "[Pull Request] Label Conventional Commits"
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
types:
|
|
9
|
+
[opened, reopened, labeled, unlabeled]
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
pull-requests: write
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
assign-labels:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
name: Assign labels in pull request
|
|
18
|
+
if: github.event.pull_request.merged == false
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v3
|
|
21
|
+
- name: Assign labels from Conventional Commits
|
|
22
|
+
id: action-assign-labels
|
|
23
|
+
uses: mauroalderete/action-assign-labels@v1
|
|
24
|
+
with:
|
|
25
|
+
pull-request-number: ${{ github.event.pull_request.number }}
|
|
26
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
27
|
+
conventional-commits: |
|
|
28
|
+
conventional-commits:
|
|
29
|
+
- type: 'fix'
|
|
30
|
+
nouns: ['FIX', 'Fix', 'fix', 'FIXED', 'Fixed', 'fixed']
|
|
31
|
+
labels: ['bug']
|
|
32
|
+
- type: 'feature'
|
|
33
|
+
nouns: ['FEATURE', 'Feature', 'feature', 'FEAT', 'Feat', 'feat']
|
|
34
|
+
labels: ['enhancement']
|
|
35
|
+
- type: 'breaking_change'
|
|
36
|
+
nouns: ['BREAKING CHANGE', 'BREAKING', 'MAJOR']
|
|
37
|
+
labels: ['breaking change']
|
|
38
|
+
- type: 'documentation'
|
|
39
|
+
nouns: ['doc','docs','docu','document','documentation']
|
|
40
|
+
labels: ['documentation']
|
|
41
|
+
- type: 'build'
|
|
42
|
+
nouns: ['build','rebuild','ci']
|
|
43
|
+
labels: ['CI/CD']
|
|
44
|
+
- type: 'config'
|
|
45
|
+
nouns: ['config', 'conf', 'configuration']
|
|
46
|
+
labels: ['config']
|
|
47
|
+
maintain-labels-not-matched: true
|
|
48
|
+
apply-changes: true
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# This workflow assigns labels to a pull request based on the files changed in the PR.
|
|
2
|
+
# The labels are defined in the `.github/labels.yml` file.
|
|
3
|
+
name: "[Pull Request] Label File-based"
|
|
4
|
+
on:
|
|
5
|
+
pull_request_target:
|
|
6
|
+
types: [opened, synchronize]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
labeler:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- name: Assign labels from file changes
|
|
17
|
+
uses: actions/labeler@v5
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Manage labels of pull requests that originate from forks
|
|
2
|
-
name:
|
|
2
|
+
name: "[Pull Request] Label PRs from public forks"
|
|
3
3
|
|
|
4
4
|
on:
|
|
5
5
|
pull_request_target:
|
|
@@ -7,4 +7,4 @@ on:
|
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
9
|
label:
|
|
10
|
-
uses: ecmwf
|
|
10
|
+
uses: ecmwf/reusable-workflows/.github/workflows/label-pr.yml@v2
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# This workflow pushes changes from a public repository to a private repository.
|
|
1
2
|
name: Push to private repository
|
|
2
3
|
|
|
3
4
|
on:
|
|
4
5
|
push:
|
|
5
6
|
branches:
|
|
6
|
-
-
|
|
7
|
+
- main
|
|
7
8
|
|
|
8
9
|
jobs:
|
|
9
10
|
push_changes:
|
|
@@ -30,4 +31,4 @@ jobs:
|
|
|
30
31
|
- name: Push changes to private repository
|
|
31
32
|
run: |
|
|
32
33
|
git remote add private git@github.com:${{ github.repository }}-private.git
|
|
33
|
-
git push --set-upstream private
|
|
34
|
+
git push --set-upstream private main
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# This workflow will upload a Python Package using Twine when a release is created
|
|
2
|
+
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
|
3
|
+
|
|
4
|
+
name: Upload Python Package to PyPI
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
release:
|
|
8
|
+
types: [created]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
deploy:
|
|
12
|
+
uses: ecmwf/reusable-workflows/.github/workflows/cd-pypi.yml@v2
|
|
13
|
+
secrets: inherit
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This workflow runs pre-commit checks and pytest tests against multiple platforms and Python versions.
|
|
2
|
+
name: Code Quality checks and Testing
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
pull_request:
|
|
6
|
+
types: [opened, synchronize, reopened]
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
schedule:
|
|
11
|
+
- cron: "9 2 * * 0" # at 9:02 on sunday
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
quality:
|
|
15
|
+
uses: ecmwf/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
|
|
16
|
+
with:
|
|
17
|
+
skip-hooks: "no-commit-to-branch"
|
|
18
|
+
|
|
19
|
+
checks:
|
|
20
|
+
strategy:
|
|
21
|
+
matrix:
|
|
22
|
+
python-version: ["3.9", "3.10", "3.11", "3.12"]
|
|
23
|
+
uses: ecmwf/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# This workflow uses an action to run Release Please to create a release PR.
|
|
2
|
+
# It is governed by the config and manifest in the root of the repo.
|
|
3
|
+
# For more information see: https://github.com/googleapis/release-please
|
|
4
|
+
name: Run Release Please
|
|
5
|
+
on:
|
|
6
|
+
push:
|
|
7
|
+
branches:
|
|
8
|
+
- main
|
|
9
|
+
- hotfix/*
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
release-please:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: googleapis/release-please-action@v4
|
|
20
|
+
with:
|
|
21
|
+
# this assumes that you have created a personal access token
|
|
22
|
+
# (PAT) and configured it as a GitHub action secret named
|
|
23
|
+
# `MY_RELEASE_PLEASE_TOKEN` (this secret name is not important).
|
|
24
|
+
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
|
|
25
|
+
# optional. customize path to .release-please-config.json
|
|
26
|
+
config-file: .release-please-config.json
|
|
27
|
+
# Currently releases are done from main
|
|
28
|
+
target-branch: ${{ github.ref_name }}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
__pypackages__/
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
build/
|
|
11
|
+
develop-eggs/
|
|
12
|
+
dist/
|
|
13
|
+
downloads/
|
|
14
|
+
eggs/
|
|
15
|
+
.eggs/
|
|
16
|
+
lib/
|
|
17
|
+
lib64/
|
|
18
|
+
parts/
|
|
19
|
+
sdist/
|
|
20
|
+
var/
|
|
21
|
+
wheels/
|
|
22
|
+
share/python-wheels/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
.installed.cfg
|
|
25
|
+
*.egg
|
|
26
|
+
MANIFEST
|
|
27
|
+
|
|
28
|
+
# Testing and coverage
|
|
29
|
+
htmlcov/
|
|
30
|
+
.tox/
|
|
31
|
+
.nox/
|
|
32
|
+
.coverage
|
|
33
|
+
.coverage.*
|
|
34
|
+
.cache
|
|
35
|
+
nosetests.xml
|
|
36
|
+
coverage.xml
|
|
37
|
+
*.cover
|
|
38
|
+
*.py,cover
|
|
39
|
+
.hypothesis/
|
|
40
|
+
.pytest_cache/
|
|
41
|
+
cover/
|
|
42
|
+
|
|
43
|
+
# Documentation
|
|
44
|
+
docs/_build/
|
|
45
|
+
docs/_api/
|
|
46
|
+
/site
|
|
47
|
+
*.mo
|
|
48
|
+
*.pot
|
|
49
|
+
|
|
50
|
+
# Environments
|
|
51
|
+
.env
|
|
52
|
+
.envrc
|
|
53
|
+
.venv
|
|
54
|
+
env/
|
|
55
|
+
venv/
|
|
56
|
+
ENV/
|
|
57
|
+
env.bak/
|
|
58
|
+
venv.bak/
|
|
59
|
+
|
|
60
|
+
# IDEs
|
|
61
|
+
.idea/
|
|
62
|
+
.spyderproject
|
|
63
|
+
.spyproject
|
|
64
|
+
.ropeproject
|
|
65
|
+
.vscode/
|
|
66
|
+
*.code-workspace
|
|
67
|
+
*.sublime-project
|
|
68
|
+
*.sublime-workspace
|
|
69
|
+
|
|
70
|
+
# Jupyter Notebook
|
|
71
|
+
.ipynb_checkpoints
|
|
72
|
+
|
|
73
|
+
# Type checking
|
|
74
|
+
.mypy_cache/
|
|
75
|
+
.dmypy.json
|
|
76
|
+
dmypy.json
|
|
77
|
+
.pyre/
|
|
78
|
+
.pytype/
|
|
79
|
+
|
|
80
|
+
# Data files
|
|
81
|
+
*.grib
|
|
82
|
+
*.grib1
|
|
83
|
+
*.grib2
|
|
84
|
+
*.onnx
|
|
85
|
+
*.ckpt
|
|
86
|
+
*.npy
|
|
87
|
+
*.npz
|
|
88
|
+
*.zarr/
|
|
89
|
+
*.nc
|
|
90
|
+
*.h5
|
|
91
|
+
*.hdf5
|
|
92
|
+
*.pkl
|
|
93
|
+
*.parquet
|
|
94
|
+
*.csv
|
|
95
|
+
*.xlsx
|
|
96
|
+
*.xls
|
|
97
|
+
|
|
98
|
+
# ML artifacts
|
|
99
|
+
wandb/
|
|
100
|
+
mlruns/
|
|
101
|
+
lightning_logs/
|
|
102
|
+
*.ckpt
|
|
103
|
+
*.pt
|
|
104
|
+
*.pth
|
|
105
|
+
runs/
|
|
106
|
+
checkpoints/
|
|
107
|
+
|
|
108
|
+
# Temporary and system files
|
|
109
|
+
*.swp
|
|
110
|
+
*.download
|
|
111
|
+
*.out
|
|
112
|
+
*.sync
|
|
113
|
+
*.dot
|
|
114
|
+
*.tmp
|
|
115
|
+
*.log
|
|
116
|
+
*.log.*
|
|
117
|
+
.DS_Store
|
|
118
|
+
~*
|
|
119
|
+
tmp/
|
|
120
|
+
temp/
|
|
121
|
+
logs/
|
|
122
|
+
_dev/
|
|
123
|
+
outputs
|
|
124
|
+
*tmp_data/
|
|
125
|
+
|
|
126
|
+
# Project specific
|
|
127
|
+
?
|
|
128
|
+
?.*
|
|
129
|
+
foo
|
|
130
|
+
bar
|
|
131
|
+
~$images.pptx
|
|
132
|
+
test.py
|
|
133
|
+
test.ipynb
|
|
134
|
+
_version.py
|
|
135
|
+
*.to_upload
|
|
136
|
+
tempCodeRunnerFile.python
|
|
137
|
+
Untitled-*.py
|
|
@@ -27,12 +27,12 @@ repos:
|
|
|
27
27
|
- id: python-check-blanket-noqa # Check for # noqa: all
|
|
28
28
|
- id: python-no-log-warn # Check for log.warn
|
|
29
29
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
30
|
-
rev:
|
|
30
|
+
rev: 25.1.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: 6.0.1
|
|
36
36
|
hooks:
|
|
37
37
|
- id: isort
|
|
38
38
|
args:
|
|
@@ -40,7 +40,7 @@ repos:
|
|
|
40
40
|
- --force-single-line-imports
|
|
41
41
|
- --profile black
|
|
42
42
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
43
|
-
rev: v0.
|
|
43
|
+
rev: v0.9.9
|
|
44
44
|
hooks:
|
|
45
45
|
- id: ruff
|
|
46
46
|
args:
|
|
@@ -58,11 +58,27 @@ repos:
|
|
|
58
58
|
rev: v0.0.14
|
|
59
59
|
hooks:
|
|
60
60
|
- id: rstfmt
|
|
61
|
-
exclude: 'cli/.*' # Because we use argparse
|
|
61
|
+
exclude: '(cli|schemas)/.*' # Because we use argparse and pydantic sphinx directives
|
|
62
|
+
- repo: https://github.com/b8raoult/pre-commit-docconvert
|
|
63
|
+
rev: "0.1.5"
|
|
64
|
+
hooks:
|
|
65
|
+
- id: docconvert
|
|
66
|
+
args: ["numpy"]
|
|
62
67
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
|
63
|
-
rev: "v2.5.
|
|
68
|
+
rev: "v2.5.1"
|
|
64
69
|
hooks:
|
|
65
70
|
- id: pyproject-fmt
|
|
66
|
-
|
|
71
|
+
- repo: https://github.com/jshwi/docsig # Check docstrings against function sig
|
|
72
|
+
rev: v0.69.1
|
|
73
|
+
hooks:
|
|
74
|
+
- id: docsig
|
|
75
|
+
args:
|
|
76
|
+
- --ignore-no-params # Allow docstrings without parameters
|
|
77
|
+
- --check-dunders # Check dunder methods
|
|
78
|
+
- --check-overridden # Check overridden methods
|
|
79
|
+
- --check-protected # Check protected methods
|
|
80
|
+
- --check-class # Check class docstrings
|
|
81
|
+
- --disable=SIG101,SIG102 # Disable empty docstrings
|
|
67
82
|
ci:
|
|
68
83
|
autoupdate_schedule: monthly
|
|
84
|
+
autoupdate_commit_msg: "chore(deps): pre-commit.ci autoupdate"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"release-type": "python",
|
|
3
|
+
"bump-minor-pre-major": true,
|
|
4
|
+
"bump-patch-for-minor-pre-major": true,
|
|
5
|
+
"separate-pull-requests": true,
|
|
6
|
+
"always-update": true,
|
|
7
|
+
"changelog-type": "default",
|
|
8
|
+
"include-component-in-tag": false,
|
|
9
|
+
"include-v-in-tag": false,
|
|
10
|
+
"draft-pull-request": true,
|
|
11
|
+
"pull-request-title-pattern": "chore${scope}: Release${component} ${version}",
|
|
12
|
+
"pull-request-header": ":robot: Automated Release PR\n\nThis PR was created by `release-please` to prepare the next release. Once merged:\n\n1. A new version tag will be created\n2. A GitHub release will be published\n3. The changelog will be updated\n\nChanges to be included in the next release:",
|
|
13
|
+
"pull-request-footer": "> [!IMPORTANT]\n> :warning: Merging this PR will:\n> - Create a new release\n> - Trigger deployment pipelines\n> - Update package versions\n\n **Before merging:**\n - Ensure all tests pass\n - Review the changelog carefully\n - Get required approvals\n\n [Release-please documentation](https://github.com/googleapis/release-please)",
|
|
14
|
+
"packages": {
|
|
15
|
+
".": {
|
|
16
|
+
"package-name": "anemoi-datasets"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
|
|
20
|
+
}
|
|
@@ -8,6 +8,49 @@ 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.17](https://github.com/ecmwf/anemoi-datasets/compare/0.5.16...0.5.17) (2025-03-24)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add coordinate standard_name for rotated pole grid ([#192](https://github.com/ecmwf/anemoi-datasets/issues/192)) ([5464347](https://github.com/ecmwf/anemoi-datasets/commit/5464347322b235e391e17c543d8031dd1b9a5ebf))
|
|
17
|
+
* better logging for group of dates ([#235](https://github.com/ecmwf/anemoi-datasets/issues/235)) ([d7fc616](https://github.com/ecmwf/anemoi-datasets/commit/d7fc61680e424f0dc87ab052ce972718f8e34379))
|
|
18
|
+
* fix to_index ([#225](https://github.com/ecmwf/anemoi-datasets/issues/225)) ([baefd70](https://github.com/ecmwf/anemoi-datasets/commit/baefd70150da1e4f08bdda483ebc7a268bf2abdf))
|
|
19
|
+
* plugin support ([#241](https://github.com/ecmwf/anemoi-datasets/issues/241)) ([376ef1c](https://github.com/ecmwf/anemoi-datasets/commit/376ef1c21a16dcee0d88abb82c96aef5ad63494d))
|
|
20
|
+
* support sub-hourly steps ([#188](https://github.com/ecmwf/anemoi-datasets/issues/188)) ([7f219e9](https://github.com/ecmwf/anemoi-datasets/commit/7f219e9e41befd732557e124e3f828fd2436c58d))
|
|
21
|
+
* update test breaking due to noaa external data change ([#204](https://github.com/ecmwf/anemoi-datasets/issues/204)) ([4b99ea6](https://github.com/ecmwf/anemoi-datasets/commit/4b99ea63ba30a8d6d5ddf5ac3ab01573f0e77802))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* allow xarrays with single value dimensions ([#230](https://github.com/ecmwf/anemoi-datasets/issues/230)) ([ee9fbf8](https://github.com/ecmwf/anemoi-datasets/commit/ee9fbf89eadd9a00cbe6d176fe9a9530e05c9ea4))
|
|
27
|
+
* create forcings based on xarray-zarr template (again) ([#244](https://github.com/ecmwf/anemoi-datasets/issues/244)) ([84cb312](https://github.com/ecmwf/anemoi-datasets/commit/84cb3129663223ba5e21446a769b7b7490c36374))
|
|
28
|
+
* fix for bug [#237](https://github.com/ecmwf/anemoi-datasets/issues/237) ([#247](https://github.com/ecmwf/anemoi-datasets/issues/247)) ([de3cab8](https://github.com/ecmwf/anemoi-datasets/commit/de3cab83ac6b18606aeb94ae4ca14beb052c8c7b))
|
|
29
|
+
* Use set in computing statistics, faster and use less memory ([#209](https://github.com/ecmwf/anemoi-datasets/issues/209)) ([e93dbc1](https://github.com/ecmwf/anemoi-datasets/commit/e93dbc11759d2d8992b7e466eeade0883dd29f83))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
* add animation ([#208](https://github.com/ecmwf/anemoi-datasets/issues/208)) ([2af2fd6](https://github.com/ecmwf/anemoi-datasets/commit/2af2fd6850279670214d9f2b2b83bddb18ebed45))
|
|
35
|
+
* Docathon 2025 ([#234](https://github.com/ecmwf/anemoi-datasets/issues/234)) ([fb68b95](https://github.com/ecmwf/anemoi-datasets/commit/fb68b959a666899d09d4c2cbc069b7f805df84c4))
|
|
36
|
+
* fix readthedocs ([#223](https://github.com/ecmwf/anemoi-datasets/issues/223)) ([ce1b44e](https://github.com/ecmwf/anemoi-datasets/commit/ce1b44e72742b6a80dcc03c0a47129eb4620ad04))
|
|
37
|
+
* update doc with eccc-fstd, cdsapi and regrid ([#201](https://github.com/ecmwf/anemoi-datasets/issues/201)) ([57a53fc](https://github.com/ecmwf/anemoi-datasets/commit/57a53fcfde19f00262dbc3418e2b6208c56f080e))
|
|
38
|
+
* update project name ([#246](https://github.com/ecmwf/anemoi-datasets/issues/246)) ([5ddd4d1](https://github.com/ecmwf/anemoi-datasets/commit/5ddd4d1a3d89f4b98ed2e9fe95944dfcf697e194))
|
|
39
|
+
* use new logo ([#211](https://github.com/ecmwf/anemoi-datasets/issues/211)) ([76ecf15](https://github.com/ecmwf/anemoi-datasets/commit/76ecf15bfcb6635e85845e5e51336a7991053f16))
|
|
40
|
+
|
|
41
|
+
## 0.5.16 (2025-02-04)
|
|
42
|
+
|
|
43
|
+
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
44
|
+
|
|
45
|
+
## What's Changed
|
|
46
|
+
### Other Changes 🔗
|
|
47
|
+
* chore: synced file(s) with ecmwf-actions/reusable-workflows by @DeployDuck in https://github.com/ecmwf/anemoi-datasets/pull/186
|
|
48
|
+
|
|
49
|
+
## New Contributors
|
|
50
|
+
* @DeployDuck made their first contribution in https://github.com/ecmwf/anemoi-datasets/pull/186
|
|
51
|
+
|
|
52
|
+
**Full Changelog**: https://github.com/ecmwf/anemoi-datasets/compare/0.5.15...0.5.16
|
|
53
|
+
|
|
11
54
|
## [Unreleased](https://github.com/ecmwf/anemoi-datasets/compare/0.5.8...HEAD)
|
|
12
55
|
|
|
13
56
|
## Changed
|