anemoi-datasets 0.5.16__tar.gz → 0.5.18__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 (460) hide show
  1. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/labeler.yml +1 -0
  2. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/downstream-ci-hpc.yml +9 -3
  3. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/pr-label-conventional-commits.yml +1 -1
  4. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/pr-label-public.yml +1 -1
  5. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/python-publish.yml +1 -1
  6. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/python-pull-request.yml +2 -2
  7. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.gitignore +4 -2
  8. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.pre-commit-config.yaml +12 -6
  9. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.readthedocs.yaml +1 -1
  10. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.release-please-config.json +2 -2
  11. anemoi_datasets-0.5.18/.release-please-manifest.json +3 -0
  12. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/CHANGELOG.md +42 -0
  13. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/PKG-INFO +9 -6
  14. anemoi_datasets-0.5.18/docs/_static/2t_map_example.png +0 -0
  15. anemoi_datasets-0.5.18/docs/_static/logo.png +0 -0
  16. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/cli/compare.rst +4 -2
  17. anemoi_datasets-0.5.18/docs/cli/copy.rst +35 -0
  18. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/cli/create.rst +5 -3
  19. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/cli/inspect.rst +5 -7
  20. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/cli/introduction.rst +10 -16
  21. anemoi_datasets-0.5.18/docs/cli/patch.rst +12 -0
  22. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/cli/scan.rst +4 -2
  23. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/conf.py +18 -1
  24. anemoi_datasets-0.5.18/docs/datasets/building/filters/regrid.rst +28 -0
  25. anemoi_datasets-0.5.18/docs/datasets/building/filters/yaml/regrid1.yaml +10 -0
  26. anemoi_datasets-0.5.18/docs/datasets/building/filters/yaml/regrid2.yaml +8 -0
  27. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters.rst +1 -0
  28. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/handling-missing-dates.rst +4 -3
  29. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/handling-missing-values.rst +1 -1
  30. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/introduction.rst +29 -77
  31. anemoi_datasets-0.5.18/docs/datasets/building/naming-conventions.rst +103 -0
  32. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/operations.rst +3 -3
  33. anemoi_datasets-0.5.18/docs/datasets/building/sources/cds.rst +20 -0
  34. anemoi_datasets-0.5.18/docs/datasets/building/sources/eccc_fstd.rst +16 -0
  35. anemoi_datasets-0.5.18/docs/datasets/building/sources/netcdf.rst +26 -0
  36. anemoi_datasets-0.5.18/docs/datasets/building/sources/xarray-based.rst +19 -0
  37. anemoi_datasets-0.5.18/docs/datasets/building/sources/yaml/eccc_fstd.yaml +3 -0
  38. anemoi_datasets-0.5.18/docs/datasets/building/sources/yaml/mars-cds.yaml +7 -0
  39. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources.rst +3 -0
  40. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/statistics.rst +27 -4
  41. anemoi_datasets-0.5.18/docs/datasets/introduction.rst +21 -0
  42. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/combining.rst +74 -19
  43. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/ensembles.rst +12 -4
  44. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/grids.rst +12 -9
  45. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/introduction.rst +45 -8
  46. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/matching.rst +24 -10
  47. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/methods.rst +4 -2
  48. anemoi_datasets-0.5.18/docs/datasets/using/miscellaneous.rst +40 -0
  49. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/missing.rst +36 -8
  50. anemoi_datasets-0.5.18/docs/datasets/using/opening.rst +168 -0
  51. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/other.rst +6 -2
  52. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/selecting.rst +74 -18
  53. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/statistics.rst +7 -2
  54. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/subsetting.rst +12 -7
  55. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/zip.rst +37 -5
  56. anemoi_datasets-0.5.18/docs/dev/code_structure.rst +5 -0
  57. anemoi_datasets-0.5.18/docs/dev/contributing.rst +5 -0
  58. anemoi_datasets-0.5.18/docs/dev/testing.rst +5 -0
  59. anemoi_datasets-0.5.18/docs/index.rst +174 -0
  60. anemoi_datasets-0.5.18/docs/installing.rst +85 -0
  61. anemoi_datasets-0.5.18/docs/modules/create.rst +8 -0
  62. anemoi_datasets-0.5.18/docs/modules/data.rst +15 -0
  63. anemoi_datasets-0.5.18/docs/overview.rst +91 -0
  64. anemoi_datasets-0.5.18/docs/usage/getting_started.rst +172 -0
  65. anemoi_datasets-0.5.18/docs/usage/yaml/aifs-ea-an-oper-0001-mars-o48-2020-2021-6h-v1.yaml +72 -0
  66. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/pyproject.toml +17 -4
  67. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/__init__.py +4 -1
  68. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/__main__.py +12 -2
  69. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/_version.py +9 -4
  70. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/cleanup.py +17 -2
  71. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/compare.py +18 -2
  72. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/copy.py +196 -14
  73. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/create.py +50 -7
  74. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/finalise-additions.py +17 -2
  75. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/finalise.py +17 -2
  76. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/init-additions.py +17 -2
  77. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/init.py +16 -2
  78. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/inspect.py +283 -62
  79. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/load-additions.py +16 -2
  80. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/load.py +16 -2
  81. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/patch.py +17 -2
  82. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/publish.py +17 -2
  83. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/scan.py +31 -3
  84. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/compute/recentre.py +47 -11
  85. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/__init__.py +612 -85
  86. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/check.py +142 -20
  87. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/chunks.py +64 -4
  88. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/config.py +185 -21
  89. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filter.py +50 -0
  90. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/__init__.py +33 -0
  91. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/empty.py +37 -0
  92. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/legacy.py +93 -0
  93. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/noop.py +37 -0
  94. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/orog_to_z.py +58 -0
  95. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/pressure_level_relative_humidity_to_specific_humidity.py +33 -10
  96. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/pressure_level_specific_humidity_to_relative_humidity.py +32 -8
  97. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/rename.py +205 -0
  98. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/rotate_winds.py +43 -28
  99. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/single_level_dewpoint_to_relative_humidity.py +32 -9
  100. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/single_level_relative_humidity_to_dewpoint.py +33 -9
  101. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/single_level_relative_humidity_to_specific_humidity.py +55 -7
  102. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/single_level_specific_humidity_to_relative_humidity.py +98 -37
  103. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/speeddir_to_uv.py +95 -0
  104. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/sum.py +24 -27
  105. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/transform.py +53 -0
  106. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/unrotate_winds.py +27 -18
  107. anemoi_datasets-0.5.18/src/anemoi/datasets/create/filters/uv_to_speeddir.py +94 -0
  108. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/filters/wz_to_w.py +51 -33
  109. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/__init__.py +126 -0
  110. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/action.py +254 -0
  111. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/concat.py +81 -10
  112. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/context.py +39 -4
  113. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/data_sources.py +72 -6
  114. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/empty.py +21 -3
  115. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/filter.py +118 -0
  116. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/function.py +233 -0
  117. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/join.py +130 -0
  118. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/misc.py +130 -0
  119. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/pipe.py +33 -6
  120. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/repeated_dates.py +189 -41
  121. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/result.py +202 -87
  122. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/step.py +191 -0
  123. anemoi_datasets-0.5.18/src/anemoi/datasets/create/input/template.py +162 -0
  124. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/input/trace.py +62 -7
  125. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/patch.py +52 -4
  126. anemoi_datasets-0.5.18/src/anemoi/datasets/create/persistent.py +271 -0
  127. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/size.py +15 -1
  128. anemoi_datasets-0.5.18/src/anemoi/datasets/create/source.py +51 -0
  129. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/__init__.py +36 -0
  130. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/accumulations.py +296 -30
  131. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/constants.py +27 -2
  132. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/eccc_fstd.py +7 -3
  133. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/empty.py +37 -0
  134. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/forcings.py +25 -1
  135. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/grib.py +297 -0
  136. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/hindcasts.py +38 -4
  137. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/legacy.py +93 -0
  138. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/mars.py +168 -20
  139. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/netcdf.py +42 -0
  140. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/opendap.py +43 -0
  141. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/__init__.py → anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/patterns.py +35 -4
  142. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/recentre.py +150 -0
  143. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/source.py +27 -5
  144. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/tendencies.py +64 -7
  145. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray.py +92 -0
  146. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_kerchunk.py +36 -0
  147. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/README.md +1 -0
  148. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support}/__init__.py +109 -8
  149. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +442 -0
  150. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support}/field.py +94 -16
  151. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support}/fieldlist.py +90 -25
  152. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/flavour.py +1036 -0
  153. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray → anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support}/grid.py +92 -31
  154. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/metadata.py +395 -0
  155. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/patch.py +91 -0
  156. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/time.py +391 -0
  157. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_support/variable.py +331 -0
  158. anemoi_datasets-0.5.18/src/anemoi/datasets/create/sources/xarray_zarr.py +41 -0
  159. {anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions → anemoi_datasets-0.5.18/src/anemoi/datasets/create}/sources/zenodo.py +34 -5
  160. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/statistics/__init__.py +233 -44
  161. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/statistics/summary.py +52 -6
  162. anemoi_datasets-0.5.18/src/anemoi/datasets/create/testing.py +76 -0
  163. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/noop.py → anemoi_datasets-0.5.18/src/anemoi/datasets/create/typing.py +6 -3
  164. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/utils.py +97 -6
  165. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/writer.py +26 -4
  166. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/create/zarr.py +170 -23
  167. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/__init__.py +51 -4
  168. anemoi_datasets-0.5.18/src/anemoi/datasets/data/complement.py +315 -0
  169. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/concat.py +141 -16
  170. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/dataset.py +558 -62
  171. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/debug.py +197 -26
  172. anemoi_datasets-0.5.18/src/anemoi/datasets/data/ensemble.py +178 -0
  173. anemoi_datasets-0.5.18/src/anemoi/datasets/data/fill_missing.py +312 -0
  174. anemoi_datasets-0.5.18/src/anemoi/datasets/data/forwards.py +657 -0
  175. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/grids.py +323 -97
  176. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/indexing.py +112 -19
  177. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/interpolate.py +92 -12
  178. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/join.py +158 -19
  179. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/masked.py +129 -15
  180. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/merge.py +137 -23
  181. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/misc.py +172 -16
  182. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/missing.py +233 -29
  183. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/rescale.py +111 -10
  184. anemoi_datasets-0.5.18/src/anemoi/datasets/data/select.py +282 -0
  185. anemoi_datasets-0.5.18/src/anemoi/datasets/data/statistics.py +109 -0
  186. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/stores.py +149 -64
  187. anemoi_datasets-0.5.18/src/anemoi/datasets/data/subset.py +298 -0
  188. anemoi_datasets-0.5.18/src/anemoi/datasets/data/unchecked.py +284 -0
  189. anemoi_datasets-0.5.18/src/anemoi/datasets/data/xy.py +283 -0
  190. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/dates/__init__.py +191 -16
  191. anemoi_datasets-0.5.18/src/anemoi/datasets/dates/groups.py +335 -0
  192. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/grids.py +270 -31
  193. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/testing.py +28 -1
  194. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi_datasets.egg-info/PKG-INFO +9 -6
  195. anemoi_datasets-0.5.18/src/anemoi_datasets.egg-info/SOURCES.txt +343 -0
  196. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi_datasets.egg-info/requires.txt +6 -4
  197. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/test_create.py +171 -23
  198. anemoi_datasets-0.5.18/tests/create/test_sources.py +140 -0
  199. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/test_chunks.py +10 -0
  200. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/test_data.py +312 -73
  201. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/test_dates.py +77 -5
  202. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/test_indexing.py +2 -1
  203. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/xarray/test_netcdf.py +3 -3
  204. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/xarray/test_opendap.py +3 -3
  205. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/xarray/test_samples.py +19 -3
  206. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/xarray/test_zarr.py +19 -14
  207. anemoi_datasets-0.5.16/.release-please-manifest.json +0 -3
  208. anemoi_datasets-0.5.16/docs/_static/logo.png +0 -0
  209. anemoi_datasets-0.5.16/docs/building/sources/netcdf.rst +0 -8
  210. anemoi_datasets-0.5.16/docs/building/sources/xarray-based.rst +0 -13
  211. anemoi_datasets-0.5.16/docs/cli/copy.rst +0 -27
  212. anemoi_datasets-0.5.16/docs/index.rst +0 -146
  213. anemoi_datasets-0.5.16/docs/installing.rst +0 -42
  214. anemoi_datasets-0.5.16/docs/naming_conventions.rst +0 -8
  215. anemoi_datasets-0.5.16/docs/overview.rst +0 -44
  216. anemoi_datasets-0.5.16/docs/overview_.py +0 -3
  217. anemoi_datasets-0.5.16/docs/using/code/area1_.py +0 -1
  218. anemoi_datasets-0.5.16/docs/using/code/area2_.py +0 -1
  219. anemoi_datasets-0.5.16/docs/using/code/chain_.py +0 -1
  220. anemoi_datasets-0.5.16/docs/using/code/combine_example.py +0 -3
  221. anemoi_datasets-0.5.16/docs/using/code/complement1_.py +0 -6
  222. anemoi_datasets-0.5.16/docs/using/code/complement2_.py +0 -12
  223. anemoi_datasets-0.5.16/docs/using/code/complement3_.py +0 -4
  224. anemoi_datasets-0.5.16/docs/using/code/concat1.py +0 -11
  225. anemoi_datasets-0.5.16/docs/using/code/cutout_.py +0 -3
  226. anemoi_datasets-0.5.16/docs/using/code/drop_.py +0 -1
  227. anemoi_datasets-0.5.16/docs/using/code/end_.py +0 -1
  228. anemoi_datasets-0.5.16/docs/using/code/ensembles1_.py +0 -3
  229. anemoi_datasets-0.5.16/docs/using/code/fill_missing_dates1_.py +0 -1
  230. anemoi_datasets-0.5.16/docs/using/code/fill_missing_dates2_.py +0 -1
  231. anemoi_datasets-0.5.16/docs/using/code/fill_missing_gaps_.py +0 -1
  232. anemoi_datasets-0.5.16/docs/using/code/frequency1_.py +0 -1
  233. anemoi_datasets-0.5.16/docs/using/code/frequency2_.py +0 -1
  234. anemoi_datasets-0.5.16/docs/using/code/grids1_.py +0 -3
  235. anemoi_datasets-0.5.16/docs/using/code/iterating_missing_dates1_.py +0 -4
  236. anemoi_datasets-0.5.16/docs/using/code/iterating_missing_dates2_.py +0 -9
  237. anemoi_datasets-0.5.16/docs/using/code/iterating_missing_dates3_.py +0 -2
  238. anemoi_datasets-0.5.16/docs/using/code/join1.py +0 -11
  239. anemoi_datasets-0.5.16/docs/using/code/matching0_.py +0 -4
  240. anemoi_datasets-0.5.16/docs/using/code/matching1_.py +0 -4
  241. anemoi_datasets-0.5.16/docs/using/code/matching2_.py +0 -1
  242. anemoi_datasets-0.5.16/docs/using/code/matching3_.py +0 -1
  243. anemoi_datasets-0.5.16/docs/using/code/matching4_.py +0 -4
  244. anemoi_datasets-0.5.16/docs/using/code/misc1.py +0 -6
  245. anemoi_datasets-0.5.16/docs/using/code/misc2.py +0 -9
  246. anemoi_datasets-0.5.16/docs/using/code/missing_.py +0 -1
  247. anemoi_datasets-0.5.16/docs/using/code/number1_.py +0 -4
  248. anemoi_datasets-0.5.16/docs/using/code/number2_.py +0 -4
  249. anemoi_datasets-0.5.16/docs/using/code/open_cloud.py +0 -5
  250. anemoi_datasets-0.5.16/docs/using/code/open_combine1_.py +0 -7
  251. anemoi_datasets-0.5.16/docs/using/code/open_combine2_.py +0 -8
  252. anemoi_datasets-0.5.16/docs/using/code/open_complex.py +0 -15
  253. anemoi_datasets-0.5.16/docs/using/code/open_dict_.py +0 -3
  254. anemoi_datasets-0.5.16/docs/using/code/open_first_.py +0 -3
  255. anemoi_datasets-0.5.16/docs/using/code/open_list_.py +0 -3
  256. anemoi_datasets-0.5.16/docs/using/code/open_name.py +0 -3
  257. anemoi_datasets-0.5.16/docs/using/code/open_other.py +0 -5
  258. anemoi_datasets-0.5.16/docs/using/code/open_path.py +0 -3
  259. anemoi_datasets-0.5.16/docs/using/code/open_yaml_.py +0 -4
  260. anemoi_datasets-0.5.16/docs/using/code/rename_.py +0 -1
  261. anemoi_datasets-0.5.16/docs/using/code/reorder1_.py +0 -4
  262. anemoi_datasets-0.5.16/docs/using/code/reorder2_.py +0 -10
  263. anemoi_datasets-0.5.16/docs/using/code/rescale_.py +0 -30
  264. anemoi_datasets-0.5.16/docs/using/code/select1_.py +0 -1
  265. anemoi_datasets-0.5.16/docs/using/code/select2_.py +0 -1
  266. anemoi_datasets-0.5.16/docs/using/code/set_missing_dates_.py +0 -1
  267. anemoi_datasets-0.5.16/docs/using/code/shuffle_.py +0 -1
  268. anemoi_datasets-0.5.16/docs/using/code/some_attributes_.py +0 -7
  269. anemoi_datasets-0.5.16/docs/using/code/start_.py +0 -1
  270. anemoi_datasets-0.5.16/docs/using/code/statistics_.py +0 -5
  271. anemoi_datasets-0.5.16/docs/using/code/subset_example.py +0 -3
  272. anemoi_datasets-0.5.16/docs/using/code/thinning_.py +0 -1
  273. anemoi_datasets-0.5.16/docs/using/code/xy1_.py +0 -5
  274. anemoi_datasets-0.5.16/docs/using/code/xy2_.py +0 -4
  275. anemoi_datasets-0.5.16/docs/using/code/zip1_.py +0 -1
  276. anemoi_datasets-0.5.16/docs/using/code/zip2_.py +0 -8
  277. anemoi_datasets-0.5.16/docs/using/code/zip_xy_.py +0 -9
  278. anemoi_datasets-0.5.16/docs/using/miscellaneous.rst +0 -25
  279. anemoi_datasets-0.5.16/docs/using/opening.rst +0 -88
  280. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/__init__.py +0 -66
  281. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/__init__.py +0 -9
  282. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/empty.py +0 -17
  283. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/orog_to_z.py +0 -58
  284. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/rename.py +0 -79
  285. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/speeddir_to_uv.py +0 -78
  286. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/filters/uv_to_speeddir.py +0 -56
  287. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/empty.py +0 -15
  288. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/grib.py +0 -150
  289. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/netcdf.py +0 -15
  290. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/opendap.py +0 -15
  291. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/recentre.py +0 -60
  292. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/coordinates.py +0 -255
  293. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/flavour.py +0 -472
  294. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/metadata.py +0 -148
  295. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/patch.py +0 -44
  296. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/time.py +0 -177
  297. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray/variable.py +0 -188
  298. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray_kerchunk.py +0 -42
  299. anemoi_datasets-0.5.16/src/anemoi/datasets/create/functions/sources/xarray_zarr.py +0 -15
  300. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/__init__.py +0 -55
  301. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/action.py +0 -118
  302. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/filter.py +0 -70
  303. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/function.py +0 -116
  304. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/join.py +0 -58
  305. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/misc.py +0 -80
  306. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/step.py +0 -94
  307. anemoi_datasets-0.5.16/src/anemoi/datasets/create/input/template.py +0 -75
  308. anemoi_datasets-0.5.16/src/anemoi/datasets/create/persistent.py +0 -154
  309. anemoi_datasets-0.5.16/src/anemoi/datasets/data/complement.py +0 -164
  310. anemoi_datasets-0.5.16/src/anemoi/datasets/data/ensemble.py +0 -93
  311. anemoi_datasets-0.5.16/src/anemoi/datasets/data/fill_missing.py +0 -165
  312. anemoi_datasets-0.5.16/src/anemoi/datasets/data/forwards.py +0 -285
  313. anemoi_datasets-0.5.16/src/anemoi/datasets/data/select.py +0 -140
  314. anemoi_datasets-0.5.16/src/anemoi/datasets/data/statistics.py +0 -48
  315. anemoi_datasets-0.5.16/src/anemoi/datasets/data/subset.py +0 -164
  316. anemoi_datasets-0.5.16/src/anemoi/datasets/data/unchecked.py +0 -173
  317. anemoi_datasets-0.5.16/src/anemoi/datasets/data/xy.py +0 -140
  318. anemoi_datasets-0.5.16/src/anemoi/datasets/dates/groups.py +0 -193
  319. anemoi_datasets-0.5.16/src/anemoi/datasets/utils/fields.py +0 -47
  320. anemoi_datasets-0.5.16/src/anemoi_datasets.egg-info/SOURCES.txt +0 -380
  321. anemoi_datasets-0.5.16/tests/xarray/test_kerchunk.py +0 -42
  322. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.gitattributes +0 -0
  323. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/CODEOWNERS +0 -0
  324. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  325. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/ci-hpc-config.yml +0 -0
  326. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/dependabot.yml +0 -0
  327. {anemoi_datasets-0.5.16/.github/PULL_REQUEST_TEMPLATE → anemoi_datasets-0.5.18/.github}/pull_request_template.md +0 -0
  328. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/release.yml +0 -0
  329. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/pr-conventional-commit.yml +0 -0
  330. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/pr-label-file-based.yml +0 -0
  331. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/push-to-private.yml +0 -0
  332. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/readthedocs-pr-update.yml +0 -0
  333. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.github/workflows/release-please.yml +0 -0
  334. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/.vscode/spellright.dict +0 -0
  335. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/CONTRIBUTORS.md +0 -0
  336. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/LICENSE +0 -0
  337. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/README.md +0 -0
  338. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/Makefile +0 -0
  339. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/area-1.png +0 -0
  340. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/concat.png +0 -0
  341. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-1.png +0 -0
  342. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-2.png +0 -0
  343. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-3.png +0 -0
  344. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-4.png +0 -0
  345. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-5.png +0 -0
  346. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/cutout-6.png +0 -0
  347. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/join.png +0 -0
  348. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/overlay.png +0 -0
  349. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/matrix.excalidraw +0 -0
  350. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/matrix.png +0 -0
  351. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/overview.excalidraw +0 -0
  352. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/overview.png +0 -0
  353. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/recipe.excalidraw +0 -0
  354. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/_static}/schemas/recipe.png +0 -0
  355. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/skip-missing.png +0 -0
  356. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/_static/style.css +0 -0
  357. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/thinning-after.png +0 -0
  358. {anemoi_datasets-0.5.16/docs/using/images → anemoi_datasets-0.5.18/docs/_static}/thinning-before.png +0 -0
  359. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/_templates/.gitkeep +0 -0
  360. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/apply-fmt.sh +0 -0
  361. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/docs/check-index.sh +0 -0
  362. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/advanced-options.rst +0 -0
  363. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/empty.rst +0 -0
  364. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/noop.rst +0 -0
  365. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/orog_to_z.rst +0 -0
  366. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/rename.rst +0 -0
  367. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/rotate_winds.rst +0 -0
  368. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/select.rst +0 -0
  369. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/sum.rst +0 -0
  370. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/unrotate_winds.rst +0 -0
  371. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/wz_to_w.rst +0 -0
  372. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/yaml/orog_to_z.yaml +0 -0
  373. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/yaml/rename.yaml +0 -0
  374. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/yaml/sum.yaml +0 -0
  375. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/filters/yaml/wz_to_w.yaml +0 -0
  376. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/incremental.rst +0 -0
  377. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/naming-variables.rst +0 -0
  378. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/accumulations.rst +0 -0
  379. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/forcings.rst +0 -0
  380. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/grib.rst +0 -0
  381. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/hindcasts.rst +0 -0
  382. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/mars.rst +0 -0
  383. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/opendap.rst +0 -0
  384. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/recentre.rst +0 -0
  385. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/repeated_dates.rst +0 -0
  386. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/xarray-kerchunk.py +0 -0
  387. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/xarray-kerchunk.rst +0 -0
  388. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/xarray-zarr.rst +0 -0
  389. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/accumulations1.yaml +0 -0
  390. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/accumulations2.yaml +0 -0
  391. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/forcings.yaml +0 -0
  392. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/grib1.yaml +0 -0
  393. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/grib2.yaml +0 -0
  394. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/grib3.yaml +0 -0
  395. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/grib4.yaml +0 -0
  396. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/hindcasts.yaml +0 -0
  397. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/mars1.yaml +0 -0
  398. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/mars2.yaml +0 -0
  399. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/netcdf.yaml +0 -0
  400. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/opendap.yaml +0 -0
  401. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/recentre.yaml +0 -0
  402. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/repeated_dates1.yaml +0 -0
  403. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/repeated_dates2.yaml +0 -0
  404. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/repeated_dates3.yaml +0 -0
  405. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/repeated_dates4.yaml +0 -0
  406. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/xarray-based.yaml +0 -0
  407. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/xarray-kerchunk.yaml +0 -0
  408. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/xarray-zarr.yaml +0 -0
  409. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/yaml/zenodo.yaml +0 -0
  410. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/sources/zenodo.rst +0 -0
  411. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/building/syntax.yaml +0 -0
  412. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/configuration.rst +0 -0
  413. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/datasets}/using/configuration.toml +0 -0
  414. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/Makefile +0 -0
  415. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building1.txt +0 -0
  416. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building1.yaml +0 -0
  417. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building2.txt +0 -0
  418. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building2.yaml +0 -0
  419. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building3.txt +0 -0
  420. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/building3.yaml +0 -0
  421. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/concat.yaml +0 -0
  422. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/hindcasts.yaml +0 -0
  423. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/input.yaml +0 -0
  424. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/missing_dates.yaml +0 -0
  425. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/nan.yaml +0 -0
  426. {anemoi_datasets-0.5.16/docs/building → anemoi_datasets-0.5.18/docs/datasets}/yaml/pipe.yaml +0 -0
  427. {anemoi_datasets-0.5.16/docs → anemoi_datasets-0.5.18/docs/pptx}/images.pptx +0 -0
  428. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/setup.cfg +0 -0
  429. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/commands/__init__.py +0 -0
  430. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/compute/__init__.py +0 -0
  431. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/data/debug.css +0 -0
  432. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi/datasets/utils/__init__.py +0 -0
  433. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
  434. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
  435. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
  436. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/concat.yaml +0 -0
  437. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/join.yaml +0 -0
  438. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/missing.yaml +0 -0
  439. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/nan.yaml +0 -0
  440. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/pipe.yaml +0 -0
  441. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/recentre.yaml +0 -0
  442. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/regrid.yaml +0 -0
  443. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create/run.sh +0 -0
  444. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create-perturbations-full.yaml +0 -0
  445. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tests/create-shift.yaml +0 -0
  446. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/.gitignore +0 -0
  447. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/examples/Makefile +0 -0
  448. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
  449. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/Makefile +0 -0
  450. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids.ipynb +0 -0
  451. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids1.yaml +0 -0
  452. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids2.yaml +0 -0
  453. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids3.yaml +0 -0
  454. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids4.yaml +0 -0
  455. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids5.yaml +0 -0
  456. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids6.yaml +0 -0
  457. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids7.yaml +0 -0
  458. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/grids/grids_multilam.ipynb +0 -0
  459. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/make-sample-dataset.py +0 -0
  460. {anemoi_datasets-0.5.16 → anemoi_datasets-0.5.18}/tools/upload-sample-dataset.py +0 -0
@@ -23,6 +23,7 @@ config:
23
23
  - changed-files:
24
24
  - any-glob-to-any-file:
25
25
  - "**/src/**/config/**/*"
26
+ - "**/src/anemoi/inference/config.py"
26
27
 
27
28
  CI/CD:
28
29
  - changed-files:
@@ -1,5 +1,5 @@
1
1
  # This workflow triggers tests on dependent packages.
2
- # The dependency tree itself is defined in ecmwf-actions/downstream-ci/
2
+ # The dependency tree itself is defined in ecmwf/downstream-ci/
3
3
  name: Test downstream dependent packages on HPC
4
4
 
5
5
  on:
@@ -38,17 +38,23 @@ jobs:
38
38
  downstream-ci:
39
39
  name: downstream-ci
40
40
  if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
41
- uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
41
+ uses: ecmwf/downstream-ci/.github/workflows/downstream-ci.yml@main
42
42
  with:
43
43
  anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
44
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
45
51
  secrets: inherit
46
52
 
47
53
  # # Build downstream packages on HPC
48
54
  # downstream-ci-hpc:
49
55
  # name: downstream-ci-hpc
50
56
  # if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
51
- # uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
57
+ # uses: ecmwf/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
52
58
  # with:
53
59
  # anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
54
60
  # secrets: inherit
@@ -44,5 +44,5 @@ jobs:
44
44
  - type: 'config'
45
45
  nouns: ['config', 'conf', 'configuration']
46
46
  labels: ['config']
47
- maintain-labels-not-matched: false
47
+ maintain-labels-not-matched: true
48
48
  apply-changes: true
@@ -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
@@ -9,5 +9,5 @@ on:
9
9
 
10
10
  jobs:
11
11
  deploy:
12
- uses: ecmwf-actions/reusable-workflows/.github/workflows/cd-pypi.yml@v2
12
+ uses: ecmwf/reusable-workflows/.github/workflows/cd-pypi.yml@v2
13
13
  secrets: inherit
@@ -12,7 +12,7 @@ on:
12
12
 
13
13
  jobs:
14
14
  quality:
15
- uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
15
+ uses: ecmwf/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
16
16
  with:
17
17
  skip-hooks: "no-commit-to-branch"
18
18
 
@@ -20,6 +20,6 @@ jobs:
20
20
  strategy:
21
21
  matrix:
22
22
  python-version: ["3.9", "3.10", "3.11", "3.12"]
23
- uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
23
+ uses: ecmwf/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
24
24
  with:
25
25
  python-version: ${{ matrix.python-version }}
@@ -42,6 +42,7 @@ cover/
42
42
 
43
43
  # Documentation
44
44
  docs/_build/
45
+ docs/_api/
45
46
  /site
46
47
  *.mo
47
48
  *.pot
@@ -78,6 +79,8 @@ dmypy.json
78
79
 
79
80
  # Data files
80
81
  *.grib
82
+ *.grib1
83
+ *.grib2
81
84
  *.onnx
82
85
  *.ckpt
83
86
  *.npy
@@ -117,7 +120,7 @@ tmp/
117
120
  temp/
118
121
  logs/
119
122
  _dev/
120
- outputs/
123
+ outputs
121
124
  *tmp_data/
122
125
 
123
126
  # Project specific
@@ -128,7 +131,6 @@ bar
128
131
  ~$images.pptx
129
132
  test.py
130
133
  test.ipynb
131
- cutout.png
132
134
  _version.py
133
135
  *.to_upload
134
136
  tempCodeRunnerFile.python
@@ -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,13 +58,18 @@ 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
67
- rev: v0.66.1
72
+ rev: v0.69.1
68
73
  hooks:
69
74
  - id: docsig
70
75
  args:
@@ -76,3 +81,4 @@ repos:
76
81
  - --disable=SIG101,SIG102 # Disable empty docstrings
77
82
  ci:
78
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
@@ -4,11 +4,11 @@
4
4
  "bump-patch-for-minor-pre-major": true,
5
5
  "separate-pull-requests": true,
6
6
  "always-update": true,
7
- "changelog-type": "github",
7
+ "changelog-type": "default",
8
8
  "include-component-in-tag": false,
9
9
  "include-v-in-tag": false,
10
10
  "draft-pull-request": true,
11
- "pull-request-title-pattern": "chore${scope}: Preparing Next Release for ${component} ${version}",
11
+ "pull-request-title-pattern": "chore${scope}: Release${component} ${version}",
12
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
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
14
  "packages": {
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.18"
3
+ }
@@ -8,6 +8,48 @@ 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.18](https://github.com/ecmwf/anemoi-datasets/compare/0.5.17...0.5.18) (2025-03-25)
12
+
13
+
14
+ ### Features
15
+
16
+ * better error message ([#252](https://github.com/ecmwf/anemoi-datasets/issues/252)) ([e74cbe9](https://github.com/ecmwf/anemoi-datasets/commit/e74cbe9a6eac8a15c65c477f24106c97b4ce1b54))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * modify execute function signature ([#253](https://github.com/ecmwf/anemoi-datasets/issues/253)) ([e4ad1a4](https://github.com/ecmwf/anemoi-datasets/commit/e4ad1a4244387853529d112996071f720d673b1a))
22
+
23
+ ## [0.5.17](https://github.com/ecmwf/anemoi-datasets/compare/0.5.16...0.5.17) (2025-03-24)
24
+
25
+
26
+ ### Features
27
+
28
+ * 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))
29
+ * better logging for group of dates ([#235](https://github.com/ecmwf/anemoi-datasets/issues/235)) ([d7fc616](https://github.com/ecmwf/anemoi-datasets/commit/d7fc61680e424f0dc87ab052ce972718f8e34379))
30
+ * fix to_index ([#225](https://github.com/ecmwf/anemoi-datasets/issues/225)) ([baefd70](https://github.com/ecmwf/anemoi-datasets/commit/baefd70150da1e4f08bdda483ebc7a268bf2abdf))
31
+ * plugin support ([#241](https://github.com/ecmwf/anemoi-datasets/issues/241)) ([376ef1c](https://github.com/ecmwf/anemoi-datasets/commit/376ef1c21a16dcee0d88abb82c96aef5ad63494d))
32
+ * support sub-hourly steps ([#188](https://github.com/ecmwf/anemoi-datasets/issues/188)) ([7f219e9](https://github.com/ecmwf/anemoi-datasets/commit/7f219e9e41befd732557e124e3f828fd2436c58d))
33
+ * 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))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * allow xarrays with single value dimensions ([#230](https://github.com/ecmwf/anemoi-datasets/issues/230)) ([ee9fbf8](https://github.com/ecmwf/anemoi-datasets/commit/ee9fbf89eadd9a00cbe6d176fe9a9530e05c9ea4))
39
+ * 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))
40
+ * 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))
41
+ * 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))
42
+
43
+
44
+ ### Documentation
45
+
46
+ * add animation ([#208](https://github.com/ecmwf/anemoi-datasets/issues/208)) ([2af2fd6](https://github.com/ecmwf/anemoi-datasets/commit/2af2fd6850279670214d9f2b2b83bddb18ebed45))
47
+ * Docathon 2025 ([#234](https://github.com/ecmwf/anemoi-datasets/issues/234)) ([fb68b95](https://github.com/ecmwf/anemoi-datasets/commit/fb68b959a666899d09d4c2cbc069b7f805df84c4))
48
+ * fix readthedocs ([#223](https://github.com/ecmwf/anemoi-datasets/issues/223)) ([ce1b44e](https://github.com/ecmwf/anemoi-datasets/commit/ce1b44e72742b6a80dcc03c0a47129eb4620ad04))
49
+ * 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))
50
+ * update project name ([#246](https://github.com/ecmwf/anemoi-datasets/issues/246)) ([5ddd4d1](https://github.com/ecmwf/anemoi-datasets/commit/5ddd4d1a3d89f4b98ed2e9fe95944dfcf697e194))
51
+ * use new logo ([#211](https://github.com/ecmwf/anemoi-datasets/issues/211)) ([76ecf15](https://github.com/ecmwf/anemoi-datasets/commit/76ecf15bfcb6635e85845e5e51336a7991053f16))
52
+
11
53
  ## 0.5.16 (2025-02-04)
12
54
 
13
55
  <!-- Release notes generated using configuration in .github/release.yml at main -->
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: anemoi-datasets
3
- Version: 0.5.16
3
+ Version: 0.5.18
4
4
  Summary: A package to hold various functions to support training of ML models on ECMWF data.
5
5
  Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
6
6
  License: Apache License
@@ -224,18 +224,18 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
224
224
  Classifier: Programming Language :: Python :: Implementation :: PyPy
225
225
  Requires-Python: >=3.9
226
226
  License-File: LICENSE
227
- Requires-Dist: anemoi-transform>=0.1.1
228
- Requires-Dist: anemoi-utils[provenance]>=0.4.11
227
+ Requires-Dist: anemoi-transform>=0.1.4
228
+ Requires-Dist: anemoi-utils[provenance]>=0.4.16
229
229
  Requires-Dist: cfunits
230
230
  Requires-Dist: numpy
231
231
  Requires-Dist: pyyaml
232
232
  Requires-Dist: semantic-version
233
233
  Requires-Dist: tqdm
234
- Requires-Dist: zarr<=2.17
234
+ Requires-Dist: zarr<=2.18.4
235
235
  Provides-Extra: all
236
236
  Requires-Dist: anemoi-datasets[create,remote,xarray]; extra == "all"
237
237
  Provides-Extra: create
238
- Requires-Dist: earthkit-data[mars]>=0.12; extra == "create"
238
+ Requires-Dist: earthkit-data[mars]>=0.12.4; extra == "create"
239
239
  Requires-Dist: earthkit-geo>=0.3; extra == "create"
240
240
  Requires-Dist: earthkit-meteo>=0.3; extra == "create"
241
241
  Requires-Dist: eccodes>=2.39.1; extra == "create"
@@ -253,10 +253,13 @@ Provides-Extra: remote
253
253
  Requires-Dist: boto3; extra == "remote"
254
254
  Requires-Dist: requests; extra == "remote"
255
255
  Provides-Extra: tests
256
+ Requires-Dist: anemoi-datasets[xarray]; extra == "tests"
256
257
  Requires-Dist: pytest; extra == "tests"
257
258
  Provides-Extra: xarray
259
+ Requires-Dist: adlfs; extra == "xarray"
258
260
  Requires-Dist: gcsfs; extra == "xarray"
259
261
  Requires-Dist: kerchunk; extra == "xarray"
260
262
  Requires-Dist: pandas; extra == "xarray"
261
263
  Requires-Dist: planetary-computer; extra == "xarray"
262
264
  Requires-Dist: pystac-client; extra == "xarray"
265
+ Dynamic: license-file
@@ -1,5 +1,7 @@
1
- compare
2
- =======
1
+ .. _compare_command:
2
+
3
+ Compare Command
4
+ ===============
3
5
 
4
6
  Use this command to compare two datasets.
5
7
 
@@ -0,0 +1,35 @@
1
+ .. _copy_command:
2
+
3
+ Copy Command
4
+ ============
5
+
6
+
7
+ Copying a dataset from one location to another can be error-prone and
8
+ time-consuming. This command-line script allows for incremental copying.
9
+ When the copying process fails, it can be resumed. It can be used to copy
10
+ files from a local directory to a remote server, from a remote server to a
11
+ local directory as long as there is a zarr backend to read and write the data.
12
+
13
+ The script uses multiple threads to make the process faster. However, it is
14
+ important to consider that making parallel requests to the same server may
15
+ not be ideal, for instance if the server internally uses a limited number of
16
+ threads to handle requests.
17
+
18
+ The option to rechunk the data is available, which can be useful when the
19
+ data is stored on a platform that does not support having many small files
20
+ or many files in the same directory. However keep in mind that rechunking
21
+ has a huge impact on the performance when reading the data: The chunk pattern
22
+ for the source dataset has been defined for good reasons, and changing it is
23
+ very likely to have a negative impact on the performance.
24
+
25
+ .. warning::
26
+
27
+ When resuming the copying process (using ``--resume``), calling the script with the same arguments for ``--block-size`` and ``--rechunk`` is recommended.
28
+ Using different values for these arguments to resume copying the same dataset may lead to unexpected behavior.
29
+
30
+
31
+ .. argparse::
32
+ :module: anemoi.datasets.__main__
33
+ :func: create_parser
34
+ :prog: anemoi-datasets
35
+ :path: copy
@@ -1,8 +1,10 @@
1
- create
2
- ======
1
+ .. _create_command:
2
+
3
+ Create Command
4
+ ==============
3
5
 
4
6
  Use this command to create a dataset from a recipe file.
5
- The syntax of the recipe file is described in :doc:`building datasets <../building/introduction>`.
7
+ The syntax of the recipe file is described in :doc:`building datasets <../datasets/building/introduction>`.
6
8
 
7
9
  .. argparse::
8
10
  :module: anemoi.datasets.__main__
@@ -1,5 +1,7 @@
1
- inspect
2
- =======
1
+ .. _inspect_command:
2
+
3
+ Inspect Command
4
+ ===============
3
5
 
4
6
 
5
7
  Anemoi datasets are stored in a zarr format and can be located on a local file system or on a remote server.
@@ -13,13 +15,9 @@ This command will output the metadata of the dataset, including the variables, d
13
15
 
14
16
  which will output something like the following. The output should be self-explanatory.
15
17
 
16
- .. literalinclude:: ../building/yaml/building1.txt
18
+ .. literalinclude:: ../datasets/yaml/building1.txt
17
19
  :language: console
18
20
 
19
- *********************
20
- Command line usage
21
- *********************
22
-
23
21
  .. argparse::
24
22
  :module: anemoi.datasets.__main__
25
23
  :func: create_parser
@@ -1,5 +1,8 @@
1
- Introduction
2
- ============
1
+ .. _cli-introduction:
2
+
3
+ ##################
4
+ Command line tool
5
+ ##################
3
6
 
4
7
  When you install the `anemoi-datasets` package, this will also install command line tool
5
8
  called ``anemoi-datasets`` which can be used to manage the zarr datasets.
@@ -12,17 +15,8 @@ The tool can provide help with the ``--help`` options:
12
15
 
13
16
  The commands are:
14
17
 
15
- .. toctree::
16
- :maxdepth: 1
17
-
18
- compare
19
- copy
20
- create
21
- inspect
22
- scan
23
-
24
- .. argparse::
25
- :module: anemoi.datasets.__main__
26
- :func: create_parser
27
- :prog: anemoi-datasets
28
- :nosubcommands:
18
+ - :ref:`Create Command <create_command>`
19
+ - :ref:`Copy Command <copy_command>`
20
+ - :ref:`Inspect Command <Inspect_command>`
21
+ - :ref:`Compare Command <compare_command>`
22
+ - :ref:`Scan Command <scan_command>`
@@ -0,0 +1,12 @@
1
+ .. _patch_command:
2
+
3
+ Patch Command
4
+ =============
5
+
6
+ Use this command to patch the metadata of a given dataset
7
+
8
+ .. argparse::
9
+ :module: anemoi.datasets.__main__
10
+ :func: create_parser
11
+ :prog: anemoi-datasets
12
+ :path: patch
@@ -1,5 +1,7 @@
1
- scan
2
- ====
1
+ .. _scan_command:
2
+
3
+ Scan Command
4
+ ============
3
5
 
4
6
  Use this command to scan for GRIB files
5
7
 
@@ -32,7 +32,7 @@ html_logo = "_static/logo.png"
32
32
 
33
33
  # -- Project information -----------------------------------------------------
34
34
 
35
- project = "Anemoi"
35
+ project = "Anemoi Datasets"
36
36
 
37
37
  author = "Anemoi contributors"
38
38
 
@@ -111,6 +111,10 @@ intersphinx_mapping = {
111
111
  "https://anemoi-transform.readthedocs.io/en/latest/",
112
112
  ("../../anemoi-transform/docs/_build/html/objects.inv", None),
113
113
  ),
114
+ "anemoi-plugins": (
115
+ "https://anemoi-plugins.readthedocs.io/en/latest/",
116
+ ("../../anemoi-plugins/docs/_build/html/objects.inv", None),
117
+ ),
114
118
  }
115
119
 
116
120
 
@@ -134,3 +138,16 @@ html_css_files = ["style.css"]
134
138
  todo_include_todos = not read_the_docs_build
135
139
 
136
140
  autodoc_member_order = "bysource" # Keep file order
141
+
142
+ # https://autodoc-pydantic.readthedocs.io/en/stable/users/configuration.html
143
+
144
+ autodoc_pydantic_model_show_json = True
145
+ autodoc_pydantic_model_show_field_summary = False
146
+ autodoc_pydantic_model_member_order = "bysource"
147
+
148
+ html_context = {
149
+ "display_github": True,
150
+ "github_user": "ecmwf",
151
+ "github_repo": "anemoi-datasets",
152
+ "github_version": "main/docs/",
153
+ }
@@ -0,0 +1,28 @@
1
+ ########
2
+ regrid
3
+ ########
4
+
5
+ When building a dataset for a specific model, it is possible that the
6
+ source grid or resolution doesn't fit the needs. In that case, it is
7
+ possible to add a filter to interpolate the data to a target grid. The
8
+ filter is part of the ``anemoi-transform`` package. It will call the
9
+ ``interpolate`` function from `earthkit-regrid
10
+ <https://earthkit-regrid.readthedocs.io/en/latest/interpolate.html>`_ if
11
+ the keys ``method``, ``in_grid`` and ``out_grid`` are provide and if a
12
+ `pre-generated matrix
13
+ <https://earthkit-regrid.readthedocs.io/en/latest/inventory/index.html>`_
14
+ exist for this tranformation. Otherwise it is possible to provide a
15
+ ``regrid matrix`` previously generate with ``anemoi-transform
16
+ make-regrid-matrix``. The generated matrix is a NPZ file containing the
17
+ input/output coordinates, the indices and the weights of the
18
+ interpolation.
19
+
20
+ ``regrid`` is a :ref:`filter <filters>` that needs to follow a
21
+ :ref:`source <sources>` or another filter in a :ref:`building-pipe`
22
+ operation.
23
+
24
+ .. literalinclude:: yaml/regrid1.yaml
25
+ :language: yaml
26
+
27
+ .. literalinclude:: yaml/regrid2.yaml
28
+ :language: yaml
@@ -0,0 +1,10 @@
1
+ input:
2
+ pipe:
3
+ - source: # mars, grib, netcdf, etc.
4
+ # source attributes here
5
+ # ...
6
+
7
+ - regrid:
8
+ method: nearest
9
+ in_grid: o32
10
+ out_grid: o48
@@ -0,0 +1,8 @@
1
+ input:
2
+ pipe:
3
+ - source: # mars, grib, netcdf, etc.
4
+ # source attributes here
5
+ # ...
6
+
7
+ - regrid:
8
+ matrix: /path/to/regrid/matrix.npz
@@ -16,6 +16,7 @@ Filters are used to modify the data or metadata in a dataset.
16
16
 
17
17
  filters/select
18
18
  filters/orog_to_z
19
+ filters/regrid
19
20
  filters/rename
20
21
  filters/rotate_winds
21
22
  filters/sum
@@ -8,7 +8,7 @@ Missing dates can be handled by specifying a list of dates in the
8
8
  configuration file. The dates should be in the same format as the dates
9
9
  in the time series. The missing dates will be filled ``np.nan`` values.
10
10
 
11
- .. literalinclude:: yaml/missing_dates.yaml
11
+ .. literalinclude:: ../yaml/missing_dates.yaml
12
12
  :language: yaml
13
13
 
14
14
  *Anemoi* will ignore the missing dates when computing the
@@ -17,8 +17,9 @@ in the time series. The missing dates will be filled ``np.nan`` values.
17
17
  You can retrieve the list indices corresponding to the missing dates by
18
18
  accessing the ``missing`` attribute of the dataset object.
19
19
 
20
- .. literalinclude:: ../using/code/missing_.py
21
- :language: python
20
+ .. code:: python
21
+
22
+ print(ds.missing)
22
23
 
23
24
  If you access a missing index, the dataset will throw a
24
25
  ``MissingDateError``.
@@ -16,5 +16,5 @@ accurately compute statistics based on them, you can include the
16
16
 
17
17
  Here's an example of how to implement it:
18
18
 
19
- .. literalinclude:: yaml/nan.yaml
19
+ .. literalinclude:: ../yaml/nan.yaml
20
20
  :language: yaml