anemoi-datasets 0.5.20__tar.gz → 0.5.21__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 (387) hide show
  1. anemoi_datasets-0.5.21/.release-please-manifest.json +3 -0
  2. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/CHANGELOG.md +21 -0
  3. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/PKG-INFO +4 -3
  4. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/orog_to_z.rst +2 -2
  5. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/regrid.rst +8 -9
  6. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/rename.rst +4 -4
  7. anemoi_datasets-0.5.21/docs/datasets/building/filters/sum.rst +13 -0
  8. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/wz_to_w.rst +2 -2
  9. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters.rst +1 -1
  10. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/handling-missing-dates.rst +2 -1
  11. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/handling-missing-values.rst +2 -2
  12. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/incremental.rst +1 -1
  13. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/introduction.rst +7 -7
  14. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/naming-conventions.rst +10 -10
  15. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/naming-variables.rst +3 -3
  16. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/operations.rst +8 -8
  17. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/accumulations.rst +11 -12
  18. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/anemoi-dataset.rst +1 -1
  19. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/cds.rst +3 -3
  20. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/eccc-fstd.rst +1 -1
  21. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/forcings.rst +17 -17
  22. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/grib.rst +6 -6
  23. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/hindcasts.rst +2 -2
  24. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/mars.rst +4 -4
  25. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/netcdf.rst +1 -1
  26. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/recentre.rst +5 -5
  27. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/repeated-dates.rst +2 -2
  28. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/xarray-based.rst +1 -1
  29. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/xarray-zarr.rst +1 -1
  30. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources.rst +4 -5
  31. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/statistics.rst +10 -11
  32. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/introduction.rst +3 -3
  33. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/combining.rst +23 -22
  34. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/configuration.rst +2 -2
  35. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/ensembles.rst +1 -1
  36. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/grids.rst +2 -2
  37. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/introduction.rst +1 -1
  38. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/matching.rst +1 -1
  39. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/methods.rst +23 -14
  40. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/miscellaneous.rst +1 -1
  41. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/missing.rst +14 -14
  42. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/opening.rst +1 -1
  43. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/other.rst +2 -2
  44. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/selecting.rst +8 -8
  45. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/statistics.rst +2 -2
  46. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/subsetting.rst +2 -2
  47. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/zip.rst +7 -7
  48. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/01-grib-data.rst +1 -1
  49. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/introduction.rst +1 -1
  50. anemoi_datasets-0.5.21/docs/howtos/usage/01-interpolate-step-dataset-combination.rst +45 -0
  51. anemoi_datasets-0.5.21/docs/howtos/usage/code/interpolate1.py +19 -0
  52. anemoi_datasets-0.5.21/docs/howtos/usage/code/interpolate2.py +19 -0
  53. anemoi_datasets-0.5.21/docs/howtos/usage/yaml/interpolate1.yaml +9 -0
  54. anemoi_datasets-0.5.21/docs/howtos/usage/yaml/interpolate2.yaml +8 -0
  55. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/index.rst +10 -10
  56. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/installing.rst +4 -4
  57. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/overview.rst +5 -5
  58. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/usage/getting_started.rst +3 -3
  59. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/pyproject.toml +3 -2
  60. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/_version.py +2 -2
  61. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/grib-index.py +0 -3
  62. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/inspect.py +2 -2
  63. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/__init__.py +1 -1
  64. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/forcings.py +1 -1
  65. anemoi_datasets-0.5.21/src/anemoi/datasets/create/sources/grib.py +142 -0
  66. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/writer.py +1 -1
  67. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/misc.py +1 -1
  68. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/PKG-INFO +4 -3
  69. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/SOURCES.txt +5 -0
  70. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/requires.txt +3 -2
  71. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/test_create.py +4 -0
  72. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/test_sources.py +9 -10
  73. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/xarray/test_opendap.py +4 -5
  74. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/xarray/test_samples.py +4 -5
  75. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/xarray/test_zarr.py +14 -12
  76. anemoi_datasets-0.5.20/.release-please-manifest.json +0 -3
  77. anemoi_datasets-0.5.20/docs/datasets/building/filters/sum.rst +0 -13
  78. anemoi_datasets-0.5.20/src/anemoi/datasets/create/sources/grib.py +0 -304
  79. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.gitattributes +0 -0
  80. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/CODEOWNERS +0 -0
  81. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  82. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/ci-hpc-config.yml +0 -0
  83. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/dependabot.yml +0 -0
  84. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/labeler.yml +0 -0
  85. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/pull_request_template.md +0 -0
  86. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/release.yml +0 -0
  87. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/downstream-ci-hpc.yml +0 -0
  88. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/pr-conventional-commit.yml +0 -0
  89. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/pr-label-conventional-commits.yml +0 -0
  90. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/pr-label-file-based.yml +0 -0
  91. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/pr-label-public.yml +0 -0
  92. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/push-to-private.yml +0 -0
  93. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/python-publish.yml +0 -0
  94. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/python-pull-request.yml +0 -0
  95. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/readthedocs-pr-update.yml +0 -0
  96. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.github/workflows/release-please.yml +0 -0
  97. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.gitignore +0 -0
  98. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.pre-commit-config.yaml +0 -0
  99. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.readthedocs.yaml +0 -0
  100. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.release-please-config.json +0 -0
  101. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/.vscode/spellright.dict +0 -0
  102. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/03-constant-fields.rst +0 -0
  103. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/CONTRIBUTORS.md +0 -0
  104. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/LICENSE +0 -0
  105. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/README.md +0 -0
  106. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/Makefile +0 -0
  107. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/2t_map_example.png +0 -0
  108. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/area-1.png +0 -0
  109. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/concat.png +0 -0
  110. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-1.png +0 -0
  111. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-2.png +0 -0
  112. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-3.png +0 -0
  113. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-4.png +0 -0
  114. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-5.png +0 -0
  115. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/cutout-6.png +0 -0
  116. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/join.png +0 -0
  117. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/logo.png +0 -0
  118. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/overlay.png +0 -0
  119. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/matrix.excalidraw +0 -0
  120. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/matrix.png +0 -0
  121. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/overview.excalidraw +0 -0
  122. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/overview.png +0 -0
  123. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/recipe.excalidraw +0 -0
  124. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/schemas/recipe.png +0 -0
  125. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/skip-missing.png +0 -0
  126. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/style.css +0 -0
  127. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/thinning-after.png +0 -0
  128. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_static/thinning-before.png +0 -0
  129. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_templates/.gitkeep +0 -0
  130. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/_templates/apidoc/package.rst.jinja +0 -0
  131. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/apply-fmt.sh +0 -0
  132. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/check-index.sh +0 -0
  133. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/compare-lam.rst +0 -0
  134. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/compare.rst +0 -0
  135. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/copy.rst +0 -0
  136. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/create.rst +0 -0
  137. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/grib-index.rst +0 -0
  138. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/inspect.rst +0 -0
  139. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/introduction.rst +0 -0
  140. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/patch.rst +0 -0
  141. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/cli/scan.rst +0 -0
  142. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/conf.py +0 -0
  143. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/advanced-options.rst +0 -0
  144. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/empty.rst +0 -0
  145. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/noop.rst +0 -0
  146. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/rotate_winds.rst +0 -0
  147. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/select.rst +0 -0
  148. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/unrotate_winds.rst +0 -0
  149. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/orog_to_z.yaml +0 -0
  150. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/regrid1.yaml +0 -0
  151. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/regrid2.yaml +0 -0
  152. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/rename.yaml +0 -0
  153. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/sum.yaml +0 -0
  154. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/filters/yaml/wz_to_w.yaml +0 -0
  155. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/grib-index.rst +0 -0
  156. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/opendap.rst +0 -0
  157. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/xarray-kerchunk.py +0 -0
  158. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/xarray-kerchunk.rst +0 -0
  159. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/accumulations1.yaml +0 -0
  160. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/accumulations2.yaml +0 -0
  161. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/anemoi-dataset.yaml +0 -0
  162. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/eccc-fstd.yaml +0 -0
  163. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/forcings.yaml +0 -0
  164. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/grib1.yaml +0 -0
  165. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/grib2.yaml +0 -0
  166. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/grib3.yaml +0 -0
  167. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/grib4.yaml +0 -0
  168. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/hindcasts.yaml +0 -0
  169. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/mars-cds.yaml +0 -0
  170. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/mars1.yaml +0 -0
  171. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/mars2.yaml +0 -0
  172. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/netcdf.yaml +0 -0
  173. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/opendap.yaml +0 -0
  174. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/recentre.yaml +0 -0
  175. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/repeated-dates1.yaml +0 -0
  176. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/repeated-dates2.yaml +0 -0
  177. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/repeated-dates3.yaml +0 -0
  178. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/repeated-dates4.yaml +0 -0
  179. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/xarray-based.yaml +0 -0
  180. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/xarray-kerchunk.yaml +0 -0
  181. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/xarray-zarr.yaml +0 -0
  182. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/yaml/zenodo.yaml +0 -0
  183. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/sources/zenodo.rst +0 -0
  184. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/building/syntax.yaml +0 -0
  185. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/using/configuration.toml +0 -0
  186. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/Makefile +0 -0
  187. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building1.txt +0 -0
  188. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building1.yaml +0 -0
  189. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building2.txt +0 -0
  190. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building2.yaml +0 -0
  191. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building3.txt +0 -0
  192. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/building3.yaml +0 -0
  193. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/concat.yaml +0 -0
  194. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/hindcasts.yaml +0 -0
  195. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/input.yaml +0 -0
  196. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/missing_dates.yaml +0 -0
  197. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/nan.yaml +0 -0
  198. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/datasets/yaml/pipe.yaml +0 -0
  199. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/dev/contributing.rst +0 -0
  200. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/02-cf-data.rst +0 -0
  201. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/03-constant-fields.rst +0 -0
  202. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-flavour1.yaml +0 -0
  203. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-flavour2.yaml +0 -0
  204. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-flavour3.yaml +0 -0
  205. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-flavour4.yaml +0 -0
  206. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-recipe1.yaml +0 -0
  207. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-recipe2.yaml +0 -0
  208. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-recipe3.yaml +0 -0
  209. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-recipe4.yaml +0 -0
  210. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/grib-recipe5.yaml +0 -0
  211. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/netcdf1.yaml +0 -0
  212. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/opendap1.yaml +0 -0
  213. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/xarray-flavour1.yaml +0 -0
  214. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/xarray-patch1.yaml +0 -0
  215. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/xarray-patch2.yaml +0 -0
  216. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/howtos/create/yaml/zarr1.yaml +0 -0
  217. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/modules/dataset.rst +0 -0
  218. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/modules/filters.rst +0 -0
  219. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/modules/sources.rst +0 -0
  220. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/pptx/images.pptx +0 -0
  221. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/scripts/api_build.sh +0 -0
  222. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/usage/yaml/aifs-ea-an-oper-0001-mars-o48-2020-2021-6h-v1.yaml +0 -0
  223. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/docs/using/code/trimedge1_.py +0 -0
  224. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/setup.cfg +0 -0
  225. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/__init__.py +0 -0
  226. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/__main__.py +0 -0
  227. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/__init__.py +0 -0
  228. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/cleanup.py +0 -0
  229. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/compare-lam.py +0 -0
  230. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/compare.py +0 -0
  231. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/copy.py +0 -0
  232. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/create.py +0 -0
  233. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/finalise-additions.py +0 -0
  234. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/finalise.py +0 -0
  235. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/init-additions.py +0 -0
  236. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/init.py +0 -0
  237. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/load-additions.py +0 -0
  238. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/load.py +0 -0
  239. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/patch.py +0 -0
  240. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/publish.py +0 -0
  241. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/commands/scan.py +0 -0
  242. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/compute/__init__.py +0 -0
  243. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/compute/recentre.py +0 -0
  244. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/check.py +0 -0
  245. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/chunks.py +0 -0
  246. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/config.py +0 -0
  247. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filter.py +0 -0
  248. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/__init__.py +0 -0
  249. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/empty.py +0 -0
  250. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/legacy.py +0 -0
  251. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/noop.py +0 -0
  252. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/orog_to_z.py +0 -0
  253. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/pressure_level_relative_humidity_to_specific_humidity.py +0 -0
  254. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/pressure_level_specific_humidity_to_relative_humidity.py +0 -0
  255. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/rename.py +0 -0
  256. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/rotate_winds.py +0 -0
  257. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/single_level_dewpoint_to_relative_humidity.py +0 -0
  258. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/single_level_relative_humidity_to_dewpoint.py +0 -0
  259. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/single_level_relative_humidity_to_specific_humidity.py +0 -0
  260. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/single_level_specific_humidity_to_relative_humidity.py +0 -0
  261. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/speeddir_to_uv.py +0 -0
  262. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/sum.py +0 -0
  263. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/transform.py +0 -0
  264. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/unrotate_winds.py +0 -0
  265. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/uv_to_speeddir.py +0 -0
  266. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/filters/wz_to_w.py +0 -0
  267. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/__init__.py +0 -0
  268. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/action.py +0 -0
  269. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/concat.py +0 -0
  270. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/context.py +0 -0
  271. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/data_sources.py +0 -0
  272. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/empty.py +0 -0
  273. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/filter.py +0 -0
  274. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/function.py +0 -0
  275. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/join.py +0 -0
  276. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/misc.py +0 -0
  277. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/pipe.py +0 -0
  278. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/repeated_dates.py +0 -0
  279. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/result.py +0 -0
  280. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/step.py +0 -0
  281. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/template.py +0 -0
  282. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/input/trace.py +0 -0
  283. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/patch.py +0 -0
  284. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/persistent.py +0 -0
  285. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/size.py +0 -0
  286. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/source.py +0 -0
  287. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/__init__.py +0 -0
  288. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/accumulations.py +0 -0
  289. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/accumulations2.py +0 -0
  290. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/anemoi_dataset.py +0 -0
  291. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/constants.py +0 -0
  292. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/eccc_fstd.py +0 -0
  293. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/empty.py +0 -0
  294. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/grib_index.py +0 -0
  295. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/hindcasts.py +0 -0
  296. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/legacy.py +0 -0
  297. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/mars.py +0 -0
  298. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/netcdf.py +0 -0
  299. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/opendap.py +0 -0
  300. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/patterns.py +0 -0
  301. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/recentre.py +0 -0
  302. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/source.py +0 -0
  303. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/tendencies.py +0 -0
  304. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray.py +0 -0
  305. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_kerchunk.py +0 -0
  306. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/README.md +0 -0
  307. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/__init__.py +0 -0
  308. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/coordinates.py +0 -0
  309. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/field.py +0 -0
  310. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/fieldlist.py +0 -0
  311. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/flavour.py +0 -0
  312. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/grid.py +0 -0
  313. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/metadata.py +0 -0
  314. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/patch.py +0 -0
  315. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/time.py +0 -0
  316. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_support/variable.py +0 -0
  317. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/xarray_zarr.py +0 -0
  318. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/sources/zenodo.py +0 -0
  319. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/statistics/__init__.py +0 -0
  320. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/statistics/summary.py +0 -0
  321. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/testing.py +0 -0
  322. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/typing.py +0 -0
  323. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/utils.py +0 -0
  324. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/create/zarr.py +0 -0
  325. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/__init__.py +0 -0
  326. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/complement.py +0 -0
  327. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/concat.py +0 -0
  328. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/dataset.py +0 -0
  329. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/debug.css +0 -0
  330. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/debug.py +0 -0
  331. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/ensemble.py +0 -0
  332. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/fill_missing.py +0 -0
  333. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/forwards.py +0 -0
  334. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/grids.py +0 -0
  335. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/indexing.py +0 -0
  336. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/interpolate.py +0 -0
  337. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/join.py +0 -0
  338. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/masked.py +0 -0
  339. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/merge.py +0 -0
  340. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/missing.py +0 -0
  341. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/rescale.py +0 -0
  342. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/select.py +0 -0
  343. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/statistics.py +0 -0
  344. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/stores.py +0 -0
  345. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/subset.py +0 -0
  346. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/unchecked.py +0 -0
  347. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/data/xy.py +0 -0
  348. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/dates/__init__.py +0 -0
  349. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/dates/groups.py +0 -0
  350. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/grids.py +0 -0
  351. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/testing.py +0 -0
  352. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi/datasets/utils/__init__.py +0 -0
  353. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
  354. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
  355. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
  356. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/accumulation.yaml +0 -0
  357. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/concat.yaml +0 -0
  358. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/join.yaml +0 -0
  359. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/missing.yaml +0 -0
  360. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/nan.yaml +0 -0
  361. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/pipe.yaml +0 -0
  362. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/recentre.yaml +0 -0
  363. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/regrid.yaml +0 -0
  364. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create/run.sh +0 -0
  365. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create-perturbations-full.yaml +0 -0
  366. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/create-shift.yaml +0 -0
  367. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/test_chunks.py +0 -0
  368. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/test_data.py +0 -0
  369. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/test_data_gridded.py +0 -0
  370. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/test_dates.py +0 -0
  371. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/test_indexing.py +0 -0
  372. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tests/xarray/test_netcdf.py +0 -0
  373. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/.gitignore +0 -0
  374. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/examples/Makefile +0 -0
  375. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
  376. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/Makefile +0 -0
  377. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids.ipynb +0 -0
  378. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids1.yaml +0 -0
  379. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids2.yaml +0 -0
  380. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids3.yaml +0 -0
  381. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids4.yaml +0 -0
  382. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids5.yaml +0 -0
  383. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids6.yaml +0 -0
  384. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids7.yaml +0 -0
  385. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/grids/grids_multilam.ipynb +0 -0
  386. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/make-sample-dataset.py +0 -0
  387. {anemoi_datasets-0.5.20 → anemoi_datasets-0.5.21}/tools/upload-sample-dataset.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.21"
3
+ }
@@ -8,6 +8,27 @@ 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.21](https://github.com/ecmwf/anemoi-datasets/compare/0.5.20...0.5.21) (2025-04-08)
12
+
13
+
14
+ ### Features
15
+
16
+ * more tests ([#277](https://github.com/ecmwf/anemoi-datasets/issues/277)) ([0ea7d46](https://github.com/ecmwf/anemoi-datasets/commit/0ea7d46a61aaa4381f8eb75b2623033bd404da5b))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * grib-index command default ([#275](https://github.com/ecmwf/anemoi-datasets/issues/275)) ([04a37d8](https://github.com/ecmwf/anemoi-datasets/commit/04a37d8a046dc6b314e9f2376c69f1824cbfa43d))
22
+ * pin version of numcodecs ([#285](https://github.com/ecmwf/anemoi-datasets/issues/285)) ([d86f317](https://github.com/ecmwf/anemoi-datasets/commit/d86f317981a312438a19323d5d67e1b31f80cf23))
23
+ * update version of transform ([#284](https://github.com/ecmwf/anemoi-datasets/issues/284)) ([e72cdde](https://github.com/ecmwf/anemoi-datasets/commit/e72cddedd8160a27a9e63e2581f4fcc1a91cd8b6))
24
+
25
+
26
+ ### Documentation
27
+
28
+ * some cleanup ([#276](https://github.com/ecmwf/anemoi-datasets/issues/276)) ([496b82a](https://github.com/ecmwf/anemoi-datasets/commit/496b82a5e10119c1fd27a58a85d5964fcad3c7bb))
29
+ * time interpolation example ([#274](https://github.com/ecmwf/anemoi-datasets/issues/274)) ([9d19bd6](https://github.com/ecmwf/anemoi-datasets/commit/9d19bd6bc3c8e0c25718a05d670357936ec99a8b))
30
+ * update documentation ([#271](https://github.com/ecmwf/anemoi-datasets/issues/271)) ([85ea386](https://github.com/ecmwf/anemoi-datasets/commit/85ea38690e7e8fab4dbac5c5b4d10eafdabde766))
31
+
11
32
  ## [0.5.20](https://github.com/ecmwf/anemoi-datasets/compare/0.5.19...0.5.20) (2025-03-31)
12
33
 
13
34
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: anemoi-datasets
3
- Version: 0.5.20
3
+ Version: 0.5.21
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
@@ -225,9 +225,10 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
225
225
  Classifier: Programming Language :: Python :: Implementation :: PyPy
226
226
  Requires-Python: >=3.9
227
227
  License-File: LICENSE
228
- Requires-Dist: anemoi-transform>=0.1.6
229
- Requires-Dist: anemoi-utils[provenance]>=0.4.18
228
+ Requires-Dist: anemoi-transform>=0.1.9
229
+ Requires-Dist: anemoi-utils[provenance]>=0.4.19
230
230
  Requires-Dist: cfunits
231
+ Requires-Dist: numcodecs<0.16
231
232
  Requires-Dist: numpy
232
233
  Requires-Dist: pyyaml
233
234
  Requires-Dist: semantic-version
@@ -2,7 +2,7 @@
2
2
  orog_to_z
3
3
  ###########
4
4
 
5
- The ``orog_to_z`` filter converts orography (in meters) to surface
5
+ The ``orog_to_z`` filter converts orography (in metres) to surface
6
6
  geopotential height (m^2/s^2) using the equation:
7
7
 
8
8
  .. math::
@@ -10,7 +10,7 @@ geopotential height (m^2/s^2) using the equation:
10
10
  z &= g \cdot \textrm{orog}\\
11
11
  g &= 9.80665\ m \cdot s^{-1}
12
12
 
13
- This filter needs to follow a source that provides orography, which is
13
+ This filter must follow a source that provides orography, which is
14
14
  replaced by surface geopotential height.
15
15
 
16
16
  .. literalinclude:: yaml/orog_to_z.yaml
@@ -3,23 +3,22 @@
3
3
  ########
4
4
 
5
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
6
+ source grid or resolution does not fit the needs. In that case, it is
7
7
  possible to add a filter to interpolate the data to a target grid. The
8
8
  filter is part of the ``anemoi-transform`` package. It will call the
9
9
  ``interpolate`` function from `earthkit-regrid
10
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
11
+ the keys ``method``, ``in_grid`` and ``out_grid`` are provided and if a
12
12
  `pre-generated matrix
13
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
14
+ exists for this transformation. Otherwise, it is possible to provide a
15
+ ``regrid matrix`` previously generated with ``anemoi-transform
16
+ make-regrid-matrix``. The generated matrix is an NPZ file containing the
17
+ input/output coordinates, the indices, and the weights of the
18
18
  interpolation.
19
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.
20
+ ``regrid`` is a :ref:`filter <filters>` that must follow a :ref:`source
21
+ <sources>` or another filter in a :ref:`building-pipe` operation.
23
22
 
24
23
  .. literalinclude:: yaml/regrid1.yaml
25
24
  :language: yaml
@@ -3,10 +3,10 @@
3
3
  ########
4
4
 
5
5
  When combining several sources, it is common to have different values
6
- for a given attribute to represents the same concept. For example,
6
+ for a given attribute to represent the same concept. For example,
7
7
  ``temperature_850hPa`` and ``t_850`` are two different ways to represent
8
- the temperature at 850 hPa. The ``rename`` filter allows to rename a key
9
- to another key. It is a :ref:`filter <filters>` that needs to follow a
8
+ the temperature at 850 hPa. The ``rename`` filter allows renaming a key
9
+ to another key. It is a :ref:`filter <filters>` that must follow a
10
10
  :ref:`source <sources>` or another filter in a :ref:`building-pipe`
11
11
  operation.
12
12
 
@@ -15,6 +15,6 @@ operation.
15
15
 
16
16
  .. note::
17
17
 
18
- The ``rename`` filter was mostly designed to rename the ``param``
18
+ The ``rename`` filter was primarily designed to rename the ``param``
19
19
  attribute, but any key can be renamed. The ``rename`` filter can take
20
20
  several renaming keys.
@@ -0,0 +1,13 @@
1
+ #####
2
+ sum
3
+ #####
4
+
5
+ The ``sum`` filter computes the sum over multiple variables. This can be
6
+ useful for computing total precipitation from its components (snow,
7
+ rain) or summing the components of total column-integrated water. This
8
+ filter must follow a source that provides the list of variables to be
9
+ summed up. These variables are removed by the filter and replaced by a
10
+ single summed variable.
11
+
12
+ .. literalinclude:: yaml/sum.yaml
13
+ :language: yaml
@@ -4,8 +4,8 @@
4
4
 
5
5
  The ``wz_to_w`` filter converts geometric vertical velocity (provided in
6
6
  m/s) to vertical velocity in pressure coordinates (Pa/s). This filter
7
- needs to follow a source that provides geometric vertical velocity.
8
- Geometric vertical velocity is removed by the filter and pressure
7
+ must follow a source that provides geometric vertical velocity.
8
+ Geometric vertical velocity is removed by the filter, and pressure
9
9
  vertical velocity is added.
10
10
 
11
11
  .. literalinclude:: yaml/wz_to_w.yaml
@@ -6,7 +6,7 @@
6
6
 
7
7
  .. warning::
8
8
 
9
- This is still a work in progress. Some of the filters may be renamed
9
+ This is still a work-in-progress. Some of the filters may be renamed
10
10
  later.
11
11
 
12
12
  Filters are used to modify the data or metadata in a dataset.
@@ -6,7 +6,8 @@ By default, the package will raise an error if there are missing dates.
6
6
 
7
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
- in the time series. The missing dates will be filled ``np.nan`` values.
9
+ in the time series. The missing dates will be filled with ``np.nan``
10
+ values.
10
11
 
11
12
  .. literalinclude:: ../yaml/missing_dates.yaml
12
13
  :language: yaml
@@ -9,8 +9,8 @@ complete data in all fields.
9
9
 
10
10
  However, there are scenarios where `NaNs` naturally occur, such as with
11
11
  variables only relevant on land or at sea. This happens for sea surface
12
- temperature (`sst`), for example. In such cases, the default behavior is
13
- to reject data with `NaNs` as invalid. To accommodate `NaNs` and
12
+ temperature (`sst`), for example. In such cases, the default behaviour
13
+ is to reject data with `NaNs` as invalid. To accommodate `NaNs` and
14
14
  accurately compute statistics based on them, you can include the
15
15
  ``allow_nans`` key in the configuration.
16
16
 
@@ -54,7 +54,7 @@ concurrent writes.
54
54
 
55
55
  Once you have loaded all the parts, you can finalise the dataset with
56
56
  the `finalise` command. This will write the metadata and the attributes
57
- to the dataset, and consolidate the statistics and cleanup some
57
+ to the dataset, and consolidate the statistics and clean up some
58
58
  temporary files.
59
59
 
60
60
  .. code:: bash
@@ -11,7 +11,7 @@ fields as well as the operations to perform on them, before they are
11
11
  written to a zarr file. The input of the process is a range of dates and
12
12
  some options to control the layout of the output. Statistics will be
13
13
  computed as the dataset is built, and stored in the metadata, with other
14
- information such as the the locations of the grid points, the list of
14
+ information such as the locations of the grid points, the list of
15
15
  variables, etc.
16
16
 
17
17
  .. figure:: ../../_static/schemas/recipe.png
@@ -27,7 +27,7 @@ date
27
27
  not just a date. A training dataset covers a continuous range of
28
28
  dates with a given frequency. Missing dates are still part of the
29
29
  dataset, but missing data are marked as such using NaNs. Dates are
30
- always in UTC, and refer to date at which the data is valid. For
30
+ always in UTC, and refer to the date at which the data is valid. For
31
31
  accumulations and fluxes, that would be the end of the accumulation
32
32
  period.
33
33
 
@@ -44,9 +44,9 @@ field
44
44
 
45
45
  source
46
46
  The `source` is a software component that, given a list of dates and
47
- variables will return the corresponding fields. An example of source
48
- is ECMWF's MARS archive, a collection of GRIB or NetCDF files, a
49
- database, etc. See :ref:`sources` for more information.
47
+ variables, will return the corresponding fields. An example of a
48
+ source is ECMWF's MARS archive, a collection of GRIB or NetCDF files,
49
+ a database, etc. See :ref:`sources` for more information.
50
50
 
51
51
  filter
52
52
  A `filter` is a software component that takes as input the output of
@@ -69,13 +69,13 @@ join
69
69
  pipe
70
70
  The pipe is the process of transforming fields using filters. The
71
71
  first step of a pipe is typically a source, a join, or another pipe.
72
- This can subsequently followed by more filters.
72
+ This can subsequently be followed by more filters.
73
73
 
74
74
  concat
75
75
  The concatenation is the process of combining different sets of
76
76
  operations that handle different dates. This is typically used to
77
77
  build a dataset that spans several years, when several sources are
78
- involved, each providing data for different period.
78
+ involved, each providing data for a different period.
79
79
 
80
80
  Each operation is considered as a :ref:`source <sources>`, therefore
81
81
  operations can be combined to build complex datasets.
@@ -5,17 +5,17 @@
5
5
  ############################
6
6
 
7
7
  A dataset name is a string used to identify a dataset. It is designed to
8
- be human readable and is *not* designed to be parsed and splitted into
8
+ be human-readable and is *not* designed to be parsed and split into
9
9
  parts.
10
10
 
11
11
  To ensure consistency, a dataset name should follow the following rules:
12
12
 
13
13
  - All lower case.
14
- - Only letters and numbers and dashes ``-`` are allowed.
15
- - No underscore ``_`` and no dot ``.`` and no upper case letter and
16
- no other special character (``@``, ``#``, ``*`` etc.).
14
+ - Only letters, numbers, and dashes ``-`` are allowed.
15
+ - No underscores ``_``, no dots ``.``, no uppercase letters, and no
16
+ other special characters (``@``, ``#``, ``*``, etc.).
17
17
 
18
- Additionlly, a dataset name is built from different parts joined with
18
+ Additionally, a dataset name is built from different parts joined with
19
19
  ``-`` as follows (each part can contain additional ``-``):
20
20
 
21
21
  .. code::
@@ -24,12 +24,12 @@ Additionlly, a dataset name is built from different parts joined with
24
24
 
25
25
  .. note::
26
26
 
27
- This is the current naming conventions for datasets in the Anemoi
27
+ This is the current naming convention for datasets in the Anemoi
28
28
  registry. It will need to be updated and adapted as more datasets are
29
29
  added. The part **purpose** is especially difficult to define for
30
30
  some datasets and may be revisited.
31
31
 
32
- The tables below provides more details and some examples.
32
+ The tables below provide more details and some examples.
33
33
 
34
34
  .. list-table:: Dataset naming conventions
35
35
  :widths: 20 80
@@ -41,7 +41,7 @@ The tables below provides more details and some examples.
41
41
  - - **purpose**
42
42
 
43
43
  - Can be `aifs` because the data is used to train the AIFS model.
44
- Is also sometime `metno` for data from the Norwegian
44
+ It is also sometimes `metno` for data from the Norwegian
45
45
  Meteorological Institute. This definition may need to be
46
46
  revisited.
47
47
 
@@ -69,7 +69,7 @@ The tables below provides more details and some examples.
69
69
  - - **end-year**
70
70
 
71
71
  - 2020 if the first validity time is in 2020. Notice that if the
72
- dataset is from 18.04.2020 to 19.07.2020, the star-year and
72
+ dataset is from 18.04.2020 to 19.07.2020, the start-year and
73
73
  end-year are both 2020. For instance in
74
74
  aifs-od-an-oper-0001-mars-o96-2020-2020-6h-v5
75
75
 
@@ -88,7 +88,7 @@ The tables below provides more details and some examples.
88
88
 
89
89
  - Experimental datasets can have additional text in the name.
90
90
  This extra string can contain additional `-`. It provides
91
- additional information about the content of dataset.
91
+ additional information about the content of the dataset.
92
92
 
93
93
  .. list-table:: Examples
94
94
  :widths: 100
@@ -1,11 +1,11 @@
1
1
  .. _naming-variables:
2
2
 
3
3
  ##################
4
- Naming variables
4
+ Naming Variables
5
5
  ##################
6
6
 
7
7
  ***************
8
- rename filter
8
+ Rename Filter
9
9
  ***************
10
10
 
11
11
  The rename filter is used to rename variables in a dataset.
@@ -13,7 +13,7 @@ The rename filter is used to rename variables in a dataset.
13
13
  .. _remapping_option:
14
14
 
15
15
  ******************
16
- remapping option
16
+ Remapping Option
17
17
  ******************
18
18
 
19
19
  TODO.
@@ -4,7 +4,7 @@
4
4
  Operations
5
5
  ############
6
6
 
7
- Operations are blocks of YAML code that translates a list of dates into
7
+ Operations are blocks of YAML code that translate a list of dates into
8
8
  fields.
9
9
 
10
10
  .. _building-join:
@@ -13,8 +13,8 @@ fields.
13
13
  join
14
14
  ******
15
15
 
16
- The join is the process of combining several sources data. Each source
17
- is expected to provide different variables at the same dates.
16
+ The join is the process of combining data from several sources. Each
17
+ source is expected to provide different variables for the same dates.
18
18
 
19
19
  .. literalinclude:: ../yaml/input.yaml
20
20
  :language: yaml
@@ -25,10 +25,10 @@ is expected to provide different variables at the same dates.
25
25
  concat
26
26
  ********
27
27
 
28
- The concatenation is the process of combining different sets of
29
- operation that handle different dates. This is typically used to build a
30
- dataset that spans several years, when the several sources are involved,
31
- each providing a different period.
28
+ Concatenation is the process of combining different sets of operations
29
+ that handle different dates. This is typically used to build a dataset
30
+ that spans several years, when several sources are involved, each
31
+ providing a different period.
32
32
 
33
33
  .. literalinclude:: ../yaml/concat.yaml
34
34
  :language: yaml
@@ -40,7 +40,7 @@ each providing a different period.
40
40
  ******
41
41
 
42
42
  The pipe is the process of transforming fields using :ref:`filters
43
- <filters>`. The first step of a pipe is typically a source, a join or
43
+ <filters>`. The first step of a pipe is typically a source, a join, or
44
44
  another pipe. The following steps are filters.
45
45
 
46
46
  .. literalinclude:: ../yaml/pipe.yaml
@@ -7,13 +7,13 @@
7
7
  The `accumulations` source is currently using the `mars` source
8
8
  internally. This will be changed in the future.
9
9
 
10
- Accumulations and fluxes variables, such as precipitations, are often
11
- forecast fields, which are archived for a given a base date (or
12
- reference time) and a forecast time (or step). These fields are valid at
13
- the forecast time, and are accumulated over a given period of time, with
14
- the relation: :math:`valid\_date = base\_date + step`.
10
+ Accumulations and flux variables, such as precipitation, are often
11
+ forecast fields, which are archived for a given base date (or reference
12
+ time) and a forecast time (or step). These fields are valid at the
13
+ forecast time and are accumulated over a given period of time, with the
14
+ relation: :math:`valid\_date = base\_date + step`.
15
15
 
16
- Because the package build datasets according to the valid date of the
16
+ Because the package builds datasets according to the valid date of the
17
17
  fields, it must be able to compute the base date and the forecast time
18
18
  from the valid date. Furthermore, some fields are accumulated since the
19
19
  beginning of the forecast (e.g. ECMWF operational forecast), while
@@ -37,19 +37,18 @@ used:
37
37
 
38
38
  - For ERA5, the data is accumulated since the last time step, and steps
39
39
  are hourly, and only available at 06Z and 18Z. So, a 6h accumulation
40
- for the date for the date 2020-01-01 13:00 the source will use the
41
- forecast of 2020-01-01 06:00 and the step 1-2h, 2-3h, 3-4h, 4-5h,
42
- 5-6h and 6-7h.
40
+ for the date 2020-01-01 13:00, the source will use the forecast of
41
+ 2020-01-01 06:00 and the step 1-2h, 2-3h, 3-4h, 4-5h, 5-6h and 6-7h.
43
42
 
44
- If the of ``accumulation_period`` value is a pair of integers `[step1,
43
+ If the ``accumulation_period`` value is a pair of integers `[step1,
45
44
  step2]`, the algorithm is different. The source will compute the
46
- accumulation between the `step1` and `step2` previous forecast that
45
+ accumulation between the `step1` and `step2` previous forecasts that
47
46
  validate at the given date at `step2`. For example, if the accumulation
48
47
  period is `[6, 12]`, and the valid date is 2020-10-10 18:00, the source
49
48
  will use the forecast of 2020-10-10 06:00 and the steps 6h and 12h.
50
49
 
51
50
  Please note that ``accumulation_period=6`` and ``accumulation_period=[0,
52
- 6]`` are not equivalent. In the first case, the source can use return an
51
+ 6]`` are not equivalent. In the first case, the source can return an
53
52
  accumulation between step 1h and step 7h if it is the most appropriate
54
53
  data available, while in the second case, the source will always return
55
54
  the accumulation between step 0h and step 6h, if available.
@@ -14,6 +14,6 @@ An anemoi-dataset can be a source for a dataset:
14
14
  .. literalinclude:: yaml/anemoi-dataset.yaml
15
15
  :language: yaml
16
16
 
17
- The parameters are the same as the ones used in the ``open_dataset``
17
+ The parameters are the same as those used in the ``open_dataset``
18
18
  function, which allows you to subset and combine datasets. See
19
19
  :ref:`opening-datasets` for more information.
@@ -4,10 +4,10 @@
4
4
  cds
5
5
  #####
6
6
 
7
- For users outside of ECMWF organisation, it is possible to access ERA5
8
- data through the Copernicus Climate Data Store ``cdsapi`` instead.
7
+ For users outside of the ECMWF organisation, it is possible to access
8
+ ERA5 data through the Copernicus Climate Data Store ``cdsapi`` instead.
9
9
 
10
- The steps to setup a CDS API account are detailed `here
10
+ The steps to set up a CDS API account are detailed `here
11
11
  <https://cds.climate.copernicus.eu/how-to-api>`_.
12
12
 
13
13
  The only difference with the previous MARS recipes is the addition of
@@ -12,7 +12,7 @@ The recipe will build a dataset from a standard file using the
12
12
  ``fstd2nc`` xarray plugin.
13
13
 
14
14
  The ``fstd2nc`` dependency is not part of the default anemoi-datasets
15
- installation and has to be install following the `fstd2nc project
15
+ installation and has to be installed following the `fstd2nc project
16
16
  description <https://github.com/neishm/fstd2nc>`_.
17
17
 
18
18
  See :ref:`create-cf-data` for more information.
@@ -8,8 +8,8 @@ The purpose of `forcings` is to provide fields with values that only
8
8
  depend on the grid cell and/or the time.
9
9
 
10
10
  Because the source needs to generate fields on the same grids as the
11
- other, it requires a template field. This is provided in the recipe with
12
- the ``template`` keyword:
11
+ others, it requires a template field. This is provided in the recipe
12
+ with the ``template`` keyword:
13
13
 
14
14
  .. literalinclude:: yaml/forcings.yaml
15
15
  :language: yaml
@@ -17,19 +17,19 @@ the ``template`` keyword:
17
17
  .. _yaml-reference:
18
18
 
19
19
  The value ``${input.join.0.source1}`` is the "path" to the first source,
20
- starting from the root of the recipe. The path is composed of the of the
21
- nodes in the recipe, separated by dots. If a node contains a list, the
22
- index of the next node is added after the node name, starting from 0.
23
- This is called a `reference`.
20
+ starting from the root of the recipe. The path is composed of the nodes
21
+ in the recipe, separated by dots. If a node contains a list, the index
22
+ of the next node is added after the node name, starting from 0. This is
23
+ called a `reference`.
24
24
 
25
25
  .. warning::
26
26
 
27
- If you use the :ref:`concat <building-concat>` contruct to have
28
- different inputs for different time ranges, the template field point
27
+ If you use the :ref:`concat <building-concat>` construct to have
28
+ different inputs for different time ranges, the template field points
29
29
  to a source in the same block of the concat where the `forcing` is
30
30
  mentioned.
31
31
 
32
- The is a mean to provide the model with with space and time information
32
+ This is a means to provide the model with space and time information
33
33
  during training and inference.
34
34
 
35
35
  The following fields are available:
@@ -53,8 +53,8 @@ sin_latitude
53
53
 
54
54
  longitude
55
55
  Each grid point has the value of its longitude in degrees. Currently,
56
- the longitude are not normalised and the values are the ones provided
57
- by the source used as template.
56
+ the longitude is not normalised, and the values are the ones provided
57
+ by the source used as a template.
58
58
 
59
59
  Range of values: :math:`[-180, 360)`
60
60
 
@@ -72,29 +72,29 @@ sin_longitude
72
72
 
73
73
  ecef_x
74
74
  Each grid point has the value of the **x** coordinate of the
75
- `Earth-Centered, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
75
+ `Earth-Centred, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
76
76
  Earth is assumed to be a perfect sphere with a radius of 1.
77
77
 
78
78
  Range of values: :math:`[-1, 1]`
79
79
 
80
80
  ecef_y
81
81
  Each grid point has the value of the **y** coordinate of the
82
- `Earth-Centered, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
82
+ `Earth-Centred, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
83
83
  Earth is assumed to be a perfect sphere with a radius of 1.
84
84
 
85
85
  Range of values: :math:`[-1, 1]`
86
86
 
87
87
  ecef_z
88
88
  Each grid point has the value of the **z** coordinate of the
89
- `Earth-Centered, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
89
+ `Earth-Centred, Earth-Fixed (ECEF) coordinate system <ECEF>`_. The
90
90
  Earth is assumed to be a perfect sphere with a radius of 1.
91
91
 
92
92
  Range of values: :math:`[-1, 1]`
93
93
 
94
94
  julian_day
95
- The Julian day is the fractional number of days since the 1st or
95
+ The Julian day is the fractional number of days since the 1st of
96
96
  January at 00:00 of the current year. For example, the Julian day of
97
- 1st or January at 12:00 is 0.5. Every grid point has the same value
97
+ 1st of January at 12:00 is 0.5. Every grid point has the same value
98
98
  of the Julian day at the given date.
99
99
 
100
100
  Range of values: :math:`[0, 365)` on a non-leap year and :math:`[0,
@@ -155,4 +155,4 @@ toa_incident_solar_radiation
155
155
 
156
156
  .. _earthkit.meteo: https://github.com/ecmwf/earthkit-meteo/blob/74654e0b188e5a201d8268e93376246c925e3172/earthkit/meteo/solar/__init__.py#L49C4-L49C27
157
157
 
158
- .. _ecef: https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system
158
+ .. _ecef: https://en.wikipedia.org/wiki/Earth-centred,_Earth-fixed_coordinate_system
@@ -10,22 +10,22 @@ To read all the GRIB from a file, use the following:
10
10
  :language: yaml
11
11
 
12
12
  You can also read specific GRIB messages by specifying them using the
13
- MARS language (excluding the keywords `date`, `time` and `step`, as well
14
- as any post-processing options, such as `grid` or `area`):
13
+ MARS language (excluding the keywords `date`, `time`, and `step`, as
14
+ well as any post-processing options, such as `grid` or `area`):
15
15
 
16
16
  .. literalinclude:: yaml/grib2.yaml
17
17
  :language: yaml
18
18
 
19
- You can also read a collection of GRIB files, using Unix' shell
19
+ You can also read a collection of GRIB files, using Unix shell
20
20
  wildcards_:
21
21
 
22
22
  .. literalinclude:: yaml/grib3.yaml
23
23
  :language: yaml
24
24
 
25
25
  You can also use the requested `date` to build the filenames. For
26
- example It the GRIB files containing the requested data are named
26
+ example, if the GRIB files containing the requested data are named
27
27
  according to the following pattern: ``/path/to/YYYY/MM/YYYYMMDDHH.grib``
28
- with `YYYY` being the year, `MM` the month, `DD` the day and `HH` the
28
+ with `YYYY` being the year, `MM` the month, `DD` the day, and `HH` the
29
29
  hour, you can use the following configuration:
30
30
 
31
31
  .. literalinclude:: yaml/grib4.yaml
@@ -39,7 +39,7 @@ See :ref:`create-grib-data` for more information.
39
39
  .. note::
40
40
 
41
41
  You can combine all the above options when selecting GRIB messages
42
- from file.
42
+ from a file.
43
43
 
44
44
  .. _strftime: https://python.readthedocs.io/en/latest/library/datetime.html#strftime-and-strptime-behavior
45
45
 
@@ -8,7 +8,7 @@
8
8
  internally. This will be changed in the future.
9
9
 
10
10
  Hindcasts data, also known as reforecasts, are unique because they are
11
- run for a specific day of year (such as 1 January or 11 June) for
11
+ run for a specific day of the year (such as 1 January or 11 June) for
12
12
  multiple years. So, for a given reference date like 2022-05-12, we can
13
13
  have hindcasts for 2001-05-12, 2002-05-12, 2003-05-12, and so on. This
14
14
  is useful in many cases. For more details, please refer to this ECMWF
@@ -17,7 +17,7 @@ documentation.
17
17
  The `hindcasts` source has a special argument called `reference_year`,
18
18
  which represents the year of the reference date. Based on the requested
19
19
  valid datetime and on the `reference_year`, the `hindcasts` source will
20
- calculate the `hdate` and `date` and `time` appropriately.
20
+ calculate the `hdate`, `date`, and `time` appropriately.
21
21
 
22
22
  For example, if the `reference_year` is 2022, then the data for
23
23
  2002-05-12 will use data with `hdate=2002-05-12` and `date=2022-05-12`.
@@ -6,8 +6,8 @@ The ``mars`` source will retrieve the data from the ECMWF MARS archive.
6
6
  For that, you need to have an ECMWF account and build your dataset on
7
7
  one of the Centre's computers, or use the ``ecmwfapi`` Python package.
8
8
 
9
- The `yaml` block can contain any keys that following the `MARS language
10
- specification`_, with the exception of the ``date``, ``time``` and
9
+ The `yaml` block can contain any keys that follow the `MARS language
10
+ specification`_, with the exception of the ``date``, ``time``, and
11
11
  ``step``.
12
12
 
13
13
  The missing keys will be filled with the default values, as defined in
@@ -16,13 +16,13 @@ the MARS language specification.
16
16
  .. literalinclude:: yaml/mars1.yaml
17
17
  :language: yaml
18
18
 
19
- Data from several levels types must be requested in separate requests,
19
+ Data from several level types must be requested in separate requests,
20
20
  with the ``join`` command.
21
21
 
22
22
  .. literalinclude:: yaml/mars2.yaml
23
23
  :language: yaml
24
24
 
25
25
  See :ref:`naming-variables` for information on how to name the variables
26
- when mixing single level and multi-levels variables in the same dataset.
26
+ when mixing single-level and multi-level variables in the same dataset.
27
27
 
28
28
  .. _mars language specification: https://confluence.ecmwf.int/display/UDOC/MARS+user+documentation
@@ -2,7 +2,7 @@
2
2
  netcdf
3
3
  ########
4
4
 
5
- In the examples below we explain how to create an anemoi dataset from
5
+ In the examples below, we explain how to create an anemoi dataset from
6
6
  one or more netCDF files.
7
7
 
8
8
  .. literalinclude:: yaml/netcdf.yaml