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.
Files changed (466) hide show
  1. anemoi_datasets-0.5.17/.github/dependabot.yml +10 -0
  2. anemoi_datasets-0.5.17/.github/labeler.yml +43 -0
  3. anemoi_datasets-0.5.17/.github/pull_request_template.md +46 -0
  4. anemoi_datasets-0.5.17/.github/release.yml +23 -0
  5. anemoi_datasets-0.5.17/.github/workflows/downstream-ci-hpc.yml +60 -0
  6. anemoi_datasets-0.5.17/.github/workflows/pr-conventional-commit.yml +22 -0
  7. anemoi_datasets-0.5.17/.github/workflows/pr-label-conventional-commits.yml +48 -0
  8. anemoi_datasets-0.5.17/.github/workflows/pr-label-file-based.yml +17 -0
  9. anemoi_datasets-0.5.15/.github/workflows/label-public-pr.yml → anemoi_datasets-0.5.17/.github/workflows/pr-label-public.yml +2 -2
  10. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/workflows/push-to-private.yml +3 -2
  11. anemoi_datasets-0.5.17/.github/workflows/python-publish.yml +13 -0
  12. anemoi_datasets-0.5.17/.github/workflows/python-pull-request.yml +25 -0
  13. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/workflows/readthedocs-pr-update.yml +2 -0
  14. anemoi_datasets-0.5.17/.github/workflows/release-please.yml +28 -0
  15. anemoi_datasets-0.5.17/.gitignore +137 -0
  16. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.pre-commit-config.yaml +22 -6
  17. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.readthedocs.yaml +1 -1
  18. anemoi_datasets-0.5.17/.release-please-config.json +20 -0
  19. anemoi_datasets-0.5.17/.release-please-manifest.json +3 -0
  20. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/CHANGELOG.md +43 -0
  21. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/CONTRIBUTORS.md +2 -2
  22. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/LICENSE +1 -1
  23. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/PKG-INFO +10 -7
  24. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/README.md +2 -2
  25. anemoi_datasets-0.5.17/docs/_static/2t_map_example.png +0 -0
  26. anemoi_datasets-0.5.17/docs/_static/logo.png +0 -0
  27. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/compare.rst +4 -2
  28. anemoi_datasets-0.5.17/docs/cli/copy.rst +35 -0
  29. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/create.rst +5 -3
  30. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/inspect.rst +5 -7
  31. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/introduction.rst +10 -16
  32. anemoi_datasets-0.5.17/docs/cli/patch.rst +12 -0
  33. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/cli/scan.rst +4 -2
  34. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/conf.py +18 -1
  35. anemoi_datasets-0.5.17/docs/datasets/building/filters/regrid.rst +28 -0
  36. anemoi_datasets-0.5.17/docs/datasets/building/filters/yaml/regrid1.yaml +10 -0
  37. anemoi_datasets-0.5.17/docs/datasets/building/filters/yaml/regrid2.yaml +8 -0
  38. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters.rst +1 -0
  39. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/handling-missing-dates.rst +4 -3
  40. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/handling-missing-values.rst +1 -1
  41. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/introduction.rst +29 -77
  42. anemoi_datasets-0.5.17/docs/datasets/building/naming-conventions.rst +103 -0
  43. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/operations.rst +3 -3
  44. anemoi_datasets-0.5.17/docs/datasets/building/sources/cds.rst +20 -0
  45. anemoi_datasets-0.5.17/docs/datasets/building/sources/eccc_fstd.rst +16 -0
  46. anemoi_datasets-0.5.17/docs/datasets/building/sources/netcdf.rst +26 -0
  47. anemoi_datasets-0.5.17/docs/datasets/building/sources/xarray-based.rst +19 -0
  48. anemoi_datasets-0.5.17/docs/datasets/building/sources/yaml/eccc_fstd.yaml +3 -0
  49. anemoi_datasets-0.5.17/docs/datasets/building/sources/yaml/mars-cds.yaml +7 -0
  50. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources.rst +3 -0
  51. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/statistics.rst +27 -4
  52. anemoi_datasets-0.5.17/docs/datasets/introduction.rst +21 -0
  53. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/combining.rst +74 -19
  54. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/ensembles.rst +12 -4
  55. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/grids.rst +12 -9
  56. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/introduction.rst +45 -8
  57. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/matching.rst +24 -10
  58. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/methods.rst +4 -2
  59. anemoi_datasets-0.5.17/docs/datasets/using/miscellaneous.rst +40 -0
  60. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/missing.rst +36 -8
  61. anemoi_datasets-0.5.17/docs/datasets/using/opening.rst +168 -0
  62. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/other.rst +6 -2
  63. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/selecting.rst +74 -18
  64. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/statistics.rst +7 -2
  65. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/subsetting.rst +12 -7
  66. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/zip.rst +37 -5
  67. anemoi_datasets-0.5.17/docs/dev/code_structure.rst +5 -0
  68. anemoi_datasets-0.5.17/docs/dev/contributing.rst +5 -0
  69. anemoi_datasets-0.5.17/docs/dev/testing.rst +5 -0
  70. anemoi_datasets-0.5.17/docs/index.rst +174 -0
  71. anemoi_datasets-0.5.17/docs/installing.rst +85 -0
  72. anemoi_datasets-0.5.17/docs/modules/create.rst +8 -0
  73. anemoi_datasets-0.5.17/docs/modules/data.rst +15 -0
  74. anemoi_datasets-0.5.17/docs/overview.rst +91 -0
  75. anemoi_datasets-0.5.17/docs/usage/getting_started.rst +172 -0
  76. anemoi_datasets-0.5.17/docs/usage/yaml/aifs-ea-an-oper-0001-mars-o48-2020-2021-6h-v1.yaml +72 -0
  77. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/pyproject.toml +17 -4
  78. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/__init__.py +4 -1
  79. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/__main__.py +12 -2
  80. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/_version.py +9 -4
  81. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/cleanup.py +17 -2
  82. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/compare.py +18 -2
  83. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/copy.py +196 -14
  84. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/create.py +50 -7
  85. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/finalise-additions.py +17 -2
  86. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/finalise.py +17 -2
  87. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/init-additions.py +17 -2
  88. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/init.py +16 -2
  89. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/inspect.py +283 -62
  90. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/load-additions.py +16 -2
  91. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/load.py +16 -2
  92. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/patch.py +17 -2
  93. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/publish.py +17 -2
  94. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/scan.py +31 -3
  95. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/compute/recentre.py +47 -11
  96. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/__init__.py +612 -85
  97. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/check.py +142 -20
  98. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/chunks.py +64 -4
  99. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/config.py +185 -21
  100. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filter.py +50 -0
  101. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/__init__.py +33 -0
  102. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/empty.py +37 -0
  103. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/legacy.py +93 -0
  104. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/noop.py +37 -0
  105. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/orog_to_z.py +58 -0
  106. {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
  107. {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
  108. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/rename.py +205 -0
  109. {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
  110. {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
  111. {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
  112. {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
  113. {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
  114. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/speeddir_to_uv.py +95 -0
  115. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/filters/sum.py +24 -27
  116. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/transform.py +53 -0
  117. {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
  118. anemoi_datasets-0.5.17/src/anemoi/datasets/create/filters/uv_to_speeddir.py +94 -0
  119. {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
  120. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/__init__.py +126 -0
  121. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/action.py +254 -0
  122. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/concat.py +81 -10
  123. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/context.py +39 -4
  124. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/data_sources.py +72 -6
  125. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/empty.py +21 -3
  126. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/filter.py +118 -0
  127. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/function.py +233 -0
  128. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/join.py +130 -0
  129. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/misc.py +130 -0
  130. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/pipe.py +33 -6
  131. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/repeated_dates.py +189 -41
  132. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/result.py +202 -87
  133. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/step.py +191 -0
  134. anemoi_datasets-0.5.17/src/anemoi/datasets/create/input/template.py +162 -0
  135. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/input/trace.py +62 -7
  136. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/patch.py +52 -4
  137. anemoi_datasets-0.5.17/src/anemoi/datasets/create/persistent.py +271 -0
  138. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/size.py +15 -1
  139. anemoi_datasets-0.5.17/src/anemoi/datasets/create/source.py +51 -0
  140. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/__init__.py +36 -0
  141. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/accumulations.py +296 -30
  142. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/constants.py +27 -2
  143. {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
  144. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/empty.py +37 -0
  145. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/forcings.py +25 -1
  146. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/grib.py +297 -0
  147. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/hindcasts.py +38 -4
  148. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/legacy.py +93 -0
  149. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/mars.py +168 -20
  150. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/netcdf.py +42 -0
  151. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/opendap.py +43 -0
  152. 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
  153. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/recentre.py +150 -0
  154. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/source.py +27 -5
  155. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/tendencies.py +64 -7
  156. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray.py +92 -0
  157. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_kerchunk.py +36 -0
  158. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/README.md +1 -0
  159. {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
  160. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +442 -0
  161. {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
  162. {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
  163. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/flavour.py +1036 -0
  164. {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
  165. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/metadata.py +395 -0
  166. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/patch.py +91 -0
  167. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/time.py +391 -0
  168. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_support/variable.py +331 -0
  169. anemoi_datasets-0.5.17/src/anemoi/datasets/create/sources/xarray_zarr.py +41 -0
  170. {anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.17/src/anemoi/datasets/create}/sources/zenodo.py +34 -5
  171. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/statistics/__init__.py +233 -44
  172. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/statistics/summary.py +52 -6
  173. anemoi_datasets-0.5.17/src/anemoi/datasets/create/testing.py +76 -0
  174. 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
  175. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/utils.py +97 -6
  176. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/writer.py +26 -4
  177. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/create/zarr.py +170 -23
  178. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/__init__.py +51 -4
  179. anemoi_datasets-0.5.17/src/anemoi/datasets/data/complement.py +315 -0
  180. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/concat.py +141 -16
  181. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/dataset.py +552 -61
  182. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/debug.py +197 -26
  183. anemoi_datasets-0.5.17/src/anemoi/datasets/data/ensemble.py +178 -0
  184. anemoi_datasets-0.5.17/src/anemoi/datasets/data/fill_missing.py +312 -0
  185. anemoi_datasets-0.5.17/src/anemoi/datasets/data/forwards.py +657 -0
  186. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/grids.py +323 -97
  187. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/indexing.py +112 -19
  188. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/interpolate.py +92 -12
  189. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/join.py +158 -19
  190. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/masked.py +129 -15
  191. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/merge.py +137 -23
  192. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/misc.py +172 -16
  193. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/missing.py +233 -29
  194. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/rescale.py +111 -10
  195. anemoi_datasets-0.5.17/src/anemoi/datasets/data/select.py +282 -0
  196. anemoi_datasets-0.5.17/src/anemoi/datasets/data/statistics.py +109 -0
  197. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/stores.py +149 -64
  198. anemoi_datasets-0.5.17/src/anemoi/datasets/data/subset.py +298 -0
  199. anemoi_datasets-0.5.17/src/anemoi/datasets/data/unchecked.py +284 -0
  200. anemoi_datasets-0.5.17/src/anemoi/datasets/data/xy.py +283 -0
  201. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/dates/__init__.py +191 -16
  202. anemoi_datasets-0.5.17/src/anemoi/datasets/dates/groups.py +335 -0
  203. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/grids.py +270 -31
  204. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/testing.py +28 -1
  205. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/PKG-INFO +10 -7
  206. anemoi_datasets-0.5.17/src/anemoi_datasets.egg-info/SOURCES.txt +343 -0
  207. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/requires.txt +6 -4
  208. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/test_create.py +171 -23
  209. anemoi_datasets-0.5.17/tests/create/test_sources.py +140 -0
  210. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_chunks.py +10 -0
  211. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_data.py +312 -73
  212. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_dates.py +77 -5
  213. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/test_indexing.py +2 -1
  214. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_netcdf.py +3 -3
  215. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_opendap.py +3 -3
  216. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_samples.py +19 -3
  217. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/xarray/test_zarr.py +19 -14
  218. anemoi_datasets-0.5.15/.github/ci-config.yml +0 -3
  219. anemoi_datasets-0.5.15/.github/workflows/changelog-pr-update.yml +0 -18
  220. anemoi_datasets-0.5.15/.github/workflows/changelog-release-update.yml +0 -45
  221. anemoi_datasets-0.5.15/.github/workflows/ci.yml +0 -61
  222. anemoi_datasets-0.5.15/.github/workflows/python-publish.yml +0 -27
  223. anemoi_datasets-0.5.15/.github/workflows/python-pull-request.yml +0 -28
  224. anemoi_datasets-0.5.15/.gitignore +0 -197
  225. anemoi_datasets-0.5.15/docs/_static/logo.png +0 -0
  226. anemoi_datasets-0.5.15/docs/building/sources/netcdf.rst +0 -8
  227. anemoi_datasets-0.5.15/docs/building/sources/xarray-based.rst +0 -13
  228. anemoi_datasets-0.5.15/docs/cli/copy.rst +0 -27
  229. anemoi_datasets-0.5.15/docs/index.rst +0 -146
  230. anemoi_datasets-0.5.15/docs/installing.rst +0 -42
  231. anemoi_datasets-0.5.15/docs/naming_conventions.rst +0 -8
  232. anemoi_datasets-0.5.15/docs/overview.rst +0 -44
  233. anemoi_datasets-0.5.15/docs/overview_.py +0 -3
  234. anemoi_datasets-0.5.15/docs/using/code/area1_.py +0 -1
  235. anemoi_datasets-0.5.15/docs/using/code/area2_.py +0 -1
  236. anemoi_datasets-0.5.15/docs/using/code/chain_.py +0 -1
  237. anemoi_datasets-0.5.15/docs/using/code/combine_example.py +0 -3
  238. anemoi_datasets-0.5.15/docs/using/code/complement1_.py +0 -6
  239. anemoi_datasets-0.5.15/docs/using/code/complement2_.py +0 -12
  240. anemoi_datasets-0.5.15/docs/using/code/complement3_.py +0 -4
  241. anemoi_datasets-0.5.15/docs/using/code/concat1.py +0 -11
  242. anemoi_datasets-0.5.15/docs/using/code/cutout_.py +0 -3
  243. anemoi_datasets-0.5.15/docs/using/code/drop_.py +0 -1
  244. anemoi_datasets-0.5.15/docs/using/code/end_.py +0 -1
  245. anemoi_datasets-0.5.15/docs/using/code/ensembles1_.py +0 -3
  246. anemoi_datasets-0.5.15/docs/using/code/fill_missing_dates1_.py +0 -1
  247. anemoi_datasets-0.5.15/docs/using/code/fill_missing_dates2_.py +0 -1
  248. anemoi_datasets-0.5.15/docs/using/code/fill_missing_gaps_.py +0 -1
  249. anemoi_datasets-0.5.15/docs/using/code/frequency1_.py +0 -1
  250. anemoi_datasets-0.5.15/docs/using/code/frequency2_.py +0 -1
  251. anemoi_datasets-0.5.15/docs/using/code/grids1_.py +0 -3
  252. anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates1_.py +0 -4
  253. anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates2_.py +0 -9
  254. anemoi_datasets-0.5.15/docs/using/code/iterating_missing_dates3_.py +0 -2
  255. anemoi_datasets-0.5.15/docs/using/code/join1.py +0 -11
  256. anemoi_datasets-0.5.15/docs/using/code/matching0_.py +0 -4
  257. anemoi_datasets-0.5.15/docs/using/code/matching1_.py +0 -4
  258. anemoi_datasets-0.5.15/docs/using/code/matching2_.py +0 -1
  259. anemoi_datasets-0.5.15/docs/using/code/matching3_.py +0 -1
  260. anemoi_datasets-0.5.15/docs/using/code/matching4_.py +0 -4
  261. anemoi_datasets-0.5.15/docs/using/code/misc1.py +0 -6
  262. anemoi_datasets-0.5.15/docs/using/code/misc2.py +0 -9
  263. anemoi_datasets-0.5.15/docs/using/code/missing_.py +0 -1
  264. anemoi_datasets-0.5.15/docs/using/code/number1_.py +0 -4
  265. anemoi_datasets-0.5.15/docs/using/code/number2_.py +0 -4
  266. anemoi_datasets-0.5.15/docs/using/code/open_cloud.py +0 -5
  267. anemoi_datasets-0.5.15/docs/using/code/open_combine1_.py +0 -7
  268. anemoi_datasets-0.5.15/docs/using/code/open_combine2_.py +0 -8
  269. anemoi_datasets-0.5.15/docs/using/code/open_complex.py +0 -15
  270. anemoi_datasets-0.5.15/docs/using/code/open_dict_.py +0 -3
  271. anemoi_datasets-0.5.15/docs/using/code/open_first_.py +0 -3
  272. anemoi_datasets-0.5.15/docs/using/code/open_list_.py +0 -3
  273. anemoi_datasets-0.5.15/docs/using/code/open_name.py +0 -3
  274. anemoi_datasets-0.5.15/docs/using/code/open_other.py +0 -5
  275. anemoi_datasets-0.5.15/docs/using/code/open_path.py +0 -3
  276. anemoi_datasets-0.5.15/docs/using/code/open_yaml_.py +0 -4
  277. anemoi_datasets-0.5.15/docs/using/code/rename_.py +0 -1
  278. anemoi_datasets-0.5.15/docs/using/code/reorder1_.py +0 -4
  279. anemoi_datasets-0.5.15/docs/using/code/reorder2_.py +0 -10
  280. anemoi_datasets-0.5.15/docs/using/code/rescale_.py +0 -30
  281. anemoi_datasets-0.5.15/docs/using/code/select1_.py +0 -1
  282. anemoi_datasets-0.5.15/docs/using/code/select2_.py +0 -1
  283. anemoi_datasets-0.5.15/docs/using/code/set_missing_dates_.py +0 -1
  284. anemoi_datasets-0.5.15/docs/using/code/shuffle_.py +0 -1
  285. anemoi_datasets-0.5.15/docs/using/code/some_attributes_.py +0 -7
  286. anemoi_datasets-0.5.15/docs/using/code/start_.py +0 -1
  287. anemoi_datasets-0.5.15/docs/using/code/statistics_.py +0 -5
  288. anemoi_datasets-0.5.15/docs/using/code/subset_example.py +0 -3
  289. anemoi_datasets-0.5.15/docs/using/code/thinning_.py +0 -1
  290. anemoi_datasets-0.5.15/docs/using/code/xy1_.py +0 -5
  291. anemoi_datasets-0.5.15/docs/using/code/xy2_.py +0 -4
  292. anemoi_datasets-0.5.15/docs/using/code/zip1_.py +0 -1
  293. anemoi_datasets-0.5.15/docs/using/code/zip2_.py +0 -8
  294. anemoi_datasets-0.5.15/docs/using/code/zip_xy_.py +0 -9
  295. anemoi_datasets-0.5.15/docs/using/miscellaneous.rst +0 -25
  296. anemoi_datasets-0.5.15/docs/using/opening.rst +0 -88
  297. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/__init__.py +0 -66
  298. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/__init__.py +0 -9
  299. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/empty.py +0 -17
  300. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/orog_to_z.py +0 -58
  301. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/rename.py +0 -79
  302. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/speeddir_to_uv.py +0 -78
  303. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/filters/uv_to_speeddir.py +0 -56
  304. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/empty.py +0 -15
  305. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/grib.py +0 -150
  306. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/netcdf.py +0 -15
  307. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/opendap.py +0 -15
  308. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/recentre.py +0 -60
  309. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/coordinates.py +0 -255
  310. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/flavour.py +0 -472
  311. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/metadata.py +0 -148
  312. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/patch.py +0 -44
  313. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/time.py +0 -177
  314. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray/variable.py +0 -188
  315. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray_kerchunk.py +0 -42
  316. anemoi_datasets-0.5.15/src/anemoi/datasets/create/functions/sources/xarray_zarr.py +0 -15
  317. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/__init__.py +0 -55
  318. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/action.py +0 -118
  319. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/filter.py +0 -70
  320. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/function.py +0 -116
  321. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/join.py +0 -58
  322. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/misc.py +0 -80
  323. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/step.py +0 -94
  324. anemoi_datasets-0.5.15/src/anemoi/datasets/create/input/template.py +0 -75
  325. anemoi_datasets-0.5.15/src/anemoi/datasets/create/persistent.py +0 -154
  326. anemoi_datasets-0.5.15/src/anemoi/datasets/data/complement.py +0 -164
  327. anemoi_datasets-0.5.15/src/anemoi/datasets/data/ensemble.py +0 -93
  328. anemoi_datasets-0.5.15/src/anemoi/datasets/data/fill_missing.py +0 -165
  329. anemoi_datasets-0.5.15/src/anemoi/datasets/data/forwards.py +0 -285
  330. anemoi_datasets-0.5.15/src/anemoi/datasets/data/select.py +0 -140
  331. anemoi_datasets-0.5.15/src/anemoi/datasets/data/statistics.py +0 -48
  332. anemoi_datasets-0.5.15/src/anemoi/datasets/data/subset.py +0 -164
  333. anemoi_datasets-0.5.15/src/anemoi/datasets/data/unchecked.py +0 -173
  334. anemoi_datasets-0.5.15/src/anemoi/datasets/data/xy.py +0 -140
  335. anemoi_datasets-0.5.15/src/anemoi/datasets/dates/groups.py +0 -193
  336. anemoi_datasets-0.5.15/src/anemoi/datasets/utils/fields.py +0 -47
  337. anemoi_datasets-0.5.15/src/anemoi_datasets.egg-info/SOURCES.txt +0 -373
  338. anemoi_datasets-0.5.15/tests/xarray/test_kerchunk.py +0 -42
  339. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.gitattributes +0 -0
  340. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/CODEOWNERS +0 -0
  341. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  342. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.github/ci-hpc-config.yml +0 -0
  343. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/.vscode/spellright.dict +0 -0
  344. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/Makefile +0 -0
  345. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/area-1.png +0 -0
  346. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/concat.png +0 -0
  347. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-1.png +0 -0
  348. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-2.png +0 -0
  349. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-3.png +0 -0
  350. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-4.png +0 -0
  351. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-5.png +0 -0
  352. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/cutout-6.png +0 -0
  353. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/join.png +0 -0
  354. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/overlay.png +0 -0
  355. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/matrix.excalidraw +0 -0
  356. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/matrix.png +0 -0
  357. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/overview.excalidraw +0 -0
  358. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/overview.png +0 -0
  359. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/recipe.excalidraw +0 -0
  360. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/_static}/schemas/recipe.png +0 -0
  361. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/skip-missing.png +0 -0
  362. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/_static/style.css +0 -0
  363. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/thinning-after.png +0 -0
  364. {anemoi_datasets-0.5.15/docs/using/images → anemoi_datasets-0.5.17/docs/_static}/thinning-before.png +0 -0
  365. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/_templates/.gitkeep +0 -0
  366. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/apply-fmt.sh +0 -0
  367. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/docs/check-index.sh +0 -0
  368. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/advanced-options.rst +0 -0
  369. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/empty.rst +0 -0
  370. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/noop.rst +0 -0
  371. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/orog_to_z.rst +0 -0
  372. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/rename.rst +0 -0
  373. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/rotate_winds.rst +0 -0
  374. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/select.rst +0 -0
  375. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/sum.rst +0 -0
  376. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/unrotate_winds.rst +0 -0
  377. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/wz_to_w.rst +0 -0
  378. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/orog_to_z.yaml +0 -0
  379. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/rename.yaml +0 -0
  380. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/sum.yaml +0 -0
  381. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/filters/yaml/wz_to_w.yaml +0 -0
  382. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/incremental.rst +0 -0
  383. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/naming-variables.rst +0 -0
  384. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/accumulations.rst +0 -0
  385. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/forcings.rst +0 -0
  386. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/grib.rst +0 -0
  387. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/hindcasts.rst +0 -0
  388. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/mars.rst +0 -0
  389. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/opendap.rst +0 -0
  390. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/recentre.rst +0 -0
  391. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/repeated_dates.rst +0 -0
  392. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-kerchunk.py +0 -0
  393. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-kerchunk.rst +0 -0
  394. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/xarray-zarr.rst +0 -0
  395. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/accumulations1.yaml +0 -0
  396. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/accumulations2.yaml +0 -0
  397. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/forcings.yaml +0 -0
  398. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib1.yaml +0 -0
  399. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib2.yaml +0 -0
  400. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib3.yaml +0 -0
  401. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/grib4.yaml +0 -0
  402. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/hindcasts.yaml +0 -0
  403. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/mars1.yaml +0 -0
  404. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/mars2.yaml +0 -0
  405. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/netcdf.yaml +0 -0
  406. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/opendap.yaml +0 -0
  407. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/recentre.yaml +0 -0
  408. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates1.yaml +0 -0
  409. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates2.yaml +0 -0
  410. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates3.yaml +0 -0
  411. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/repeated_dates4.yaml +0 -0
  412. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-based.yaml +0 -0
  413. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-kerchunk.yaml +0 -0
  414. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/xarray-zarr.yaml +0 -0
  415. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/yaml/zenodo.yaml +0 -0
  416. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/sources/zenodo.rst +0 -0
  417. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/building/syntax.yaml +0 -0
  418. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/configuration.rst +0 -0
  419. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/datasets}/using/configuration.toml +0 -0
  420. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/Makefile +0 -0
  421. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building1.txt +0 -0
  422. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building1.yaml +0 -0
  423. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building2.txt +0 -0
  424. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building2.yaml +0 -0
  425. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building3.txt +0 -0
  426. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/building3.yaml +0 -0
  427. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/concat.yaml +0 -0
  428. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/hindcasts.yaml +0 -0
  429. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/input.yaml +0 -0
  430. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/missing_dates.yaml +0 -0
  431. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/nan.yaml +0 -0
  432. {anemoi_datasets-0.5.15/docs/building → anemoi_datasets-0.5.17/docs/datasets}/yaml/pipe.yaml +0 -0
  433. {anemoi_datasets-0.5.15/docs → anemoi_datasets-0.5.17/docs/pptx}/images.pptx +0 -0
  434. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/setup.cfg +0 -0
  435. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/commands/__init__.py +0 -0
  436. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/compute/__init__.py +0 -0
  437. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/data/debug.css +0 -0
  438. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi/datasets/utils/__init__.py +0 -0
  439. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
  440. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
  441. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
  442. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/concat.yaml +0 -0
  443. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/join.yaml +0 -0
  444. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/missing.yaml +0 -0
  445. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/nan.yaml +0 -0
  446. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/pipe.yaml +0 -0
  447. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/recentre.yaml +0 -0
  448. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/regrid.yaml +0 -0
  449. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create/run.sh +0 -0
  450. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create-perturbations-full.yaml +0 -0
  451. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tests/create-shift.yaml +0 -0
  452. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/.gitignore +0 -0
  453. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/examples/Makefile +0 -0
  454. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
  455. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/Makefile +0 -0
  456. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids.ipynb +0 -0
  457. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids1.yaml +0 -0
  458. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids2.yaml +0 -0
  459. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids3.yaml +0 -0
  460. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids4.yaml +0 -0
  461. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids5.yaml +0 -0
  462. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids6.yaml +0 -0
  463. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids7.yaml +0 -0
  464. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/grids/grids_multilam.ipynb +0 -0
  465. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/make-sample-dataset.py +0 -0
  466. {anemoi_datasets-0.5.15 → anemoi_datasets-0.5.17}/tools/upload-sample-dataset.py +0 -0
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ # - package-ecosystem: "github-actions"
8
+ # directory: "/"
9
+ # schedule:
10
+ # interval: "monthly"
@@ -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: label-public-pr
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-actions/reusable-workflows/.github/workflows/label-pr.yml@v2
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
- - develop
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 develop
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 }}
@@ -1,3 +1,5 @@
1
+ # This workflow adds a link to the experimental documentation build to the PR.
2
+ # This does NOT trigger a build of the documentation, this is handled through webhooks.
1
3
  name: Read the Docs PR Preview
2
4
  on:
3
5
  pull_request_target:
@@ -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: 24.10.0
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: 5.13.2
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.8.6
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.0"
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"
@@ -3,7 +3,7 @@ version: 2
3
3
  build:
4
4
  os: ubuntu-22.04
5
5
  tools:
6
- python: "3.11"
6
+ python: "3.10"
7
7
 
8
8
  sphinx:
9
9
  configuration: docs/conf.py
@@ -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
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.17"
3
+ }
@@ -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