anemoi-datasets 0.5.6__tar.gz → 0.5.10__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 (368) hide show
  1. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/CODEOWNERS +3 -3
  2. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/ISSUE_TEMPLATE/bug_report.md +6 -14
  3. anemoi_datasets-0.5.10/.github/ci-config.yml +3 -0
  4. anemoi_datasets-0.5.10/.github/ci-hpc-config.yml +9 -0
  5. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/changelog-release-update.yml +13 -3
  6. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/ci.yml +17 -9
  7. anemoi_datasets-0.5.10/.github/workflows/push-to-private.yml +33 -0
  8. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/python-publish.yml +5 -1
  9. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/python-pull-request.yml +8 -3
  10. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.pre-commit-config.yaml +6 -12
  11. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/CHANGELOG.md +56 -1
  12. anemoi_datasets-0.5.10/CONTRIBUTORS.md +13 -0
  13. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/PKG-INFO +11 -29
  14. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/README.md +1 -1
  15. anemoi_datasets-0.5.10/docs/building/filters/rename.rst +20 -0
  16. anemoi_datasets-0.5.10/docs/building/filters/yaml/rename.yaml +11 -0
  17. anemoi_datasets-0.5.10/docs/building/sources/xarray-zarr.rst +18 -0
  18. anemoi_datasets-0.5.10/docs/building/sources/yaml/xarray-zarr.yaml +22 -0
  19. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/conf.py +6 -2
  20. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/index.rst +1 -0
  21. anemoi_datasets-0.5.10/docs/using/code/fill_missing_dates1_.py +1 -0
  22. anemoi_datasets-0.5.10/docs/using/code/fill_missing_dates2_.py +1 -0
  23. anemoi_datasets-0.5.10/docs/using/code/set_missing_dates_.py +1 -0
  24. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/missing.rst +31 -2
  25. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/pyproject.toml +12 -32
  26. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/__init__.py +11 -3
  27. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/__main__.py +2 -3
  28. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/_version.py +2 -2
  29. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/__init__.py +2 -3
  30. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/cleanup.py +9 -0
  31. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/compare.py +3 -3
  32. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/copy.py +38 -68
  33. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/create.py +20 -5
  34. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/finalise-additions.py +9 -0
  35. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/finalise.py +9 -0
  36. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/init-additions.py +9 -0
  37. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/init.py +9 -0
  38. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/inspect.py +7 -1
  39. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/load-additions.py +9 -0
  40. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/load.py +9 -0
  41. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/patch.py +9 -0
  42. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/publish.py +9 -0
  43. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/commands/scan.py +9 -0
  44. {anemoi_datasets-0.5.6/src/anemoi/datasets/create/functions/filters → anemoi_datasets-0.5.10/src/anemoi/datasets/compute}/__init__.py +2 -2
  45. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/compute/recentre.py +3 -2
  46. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/__init__.py +64 -48
  47. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/check.py +4 -3
  48. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/chunks.py +3 -2
  49. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/config.py +5 -5
  50. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/__init__.py +22 -7
  51. anemoi_datasets-0.5.10/src/anemoi/datasets/create/functions/filters/__init__.py +9 -0
  52. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/empty.py +3 -2
  53. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/noop.py +2 -2
  54. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/pressure_level_relative_humidity_to_specific_humidity.py +3 -2
  55. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/pressure_level_specific_humidity_to_relative_humidity.py +3 -2
  56. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/rename.py +16 -10
  57. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/rotate_winds.py +3 -2
  58. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_dewpoint_to_relative_humidity.py +3 -2
  59. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_relative_humidity_to_dewpoint.py +3 -2
  60. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_relative_humidity_to_specific_humidity.py +2 -2
  61. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/single_level_specific_humidity_to_relative_humidity.py +2 -2
  62. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/speeddir_to_uv.py +3 -2
  63. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/unrotate_winds.py +3 -2
  64. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/filters/uv_to_speeddir.py +3 -2
  65. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/__init__.py +2 -2
  66. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/accumulations.py +10 -4
  67. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/constants.py +3 -2
  68. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/empty.py +3 -2
  69. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/forcings.py +3 -2
  70. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/grib.py +2 -2
  71. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/hindcasts.py +3 -2
  72. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/mars.py +97 -17
  73. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/netcdf.py +3 -2
  74. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/opendap.py +2 -2
  75. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/recentre.py +3 -2
  76. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/source.py +3 -2
  77. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/tendencies.py +3 -2
  78. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/__init__.py +8 -2
  79. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/coordinates.py +5 -2
  80. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/field.py +3 -2
  81. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/fieldlist.py +12 -2
  82. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/flavour.py +21 -16
  83. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/grid.py +3 -2
  84. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/metadata.py +3 -2
  85. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/time.py +39 -4
  86. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray/variable.py +6 -6
  87. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray_kerchunk.py +2 -2
  88. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/xarray_zarr.py +2 -2
  89. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/functions/sources/zenodo.py +2 -2
  90. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/__init__.py +3 -17
  91. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/action.py +3 -2
  92. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/concat.py +3 -2
  93. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/context.py +3 -2
  94. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/data_sources.py +3 -2
  95. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/empty.py +3 -2
  96. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/filter.py +3 -2
  97. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/function.py +3 -2
  98. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/join.py +3 -2
  99. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/misc.py +3 -2
  100. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/pipe.py +3 -2
  101. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/repeated_dates.py +3 -2
  102. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/result.py +187 -3
  103. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/step.py +4 -2
  104. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/template.py +3 -2
  105. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/input/trace.py +3 -2
  106. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/patch.py +9 -1
  107. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/persistent.py +7 -3
  108. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/size.py +3 -2
  109. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/statistics/__init__.py +7 -3
  110. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/statistics/summary.py +3 -2
  111. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/utils.py +15 -2
  112. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/writer.py +3 -2
  113. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/create/zarr.py +8 -3
  114. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/__init__.py +27 -1
  115. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/concat.py +5 -1
  116. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/dataset.py +216 -37
  117. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/debug.py +4 -1
  118. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/ensemble.py +4 -1
  119. anemoi_datasets-0.5.10/src/anemoi/datasets/data/fill_missing.py +165 -0
  120. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/forwards.py +27 -2
  121. anemoi_datasets-0.5.10/src/anemoi/datasets/data/grids.py +431 -0
  122. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/indexing.py +4 -1
  123. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/interpolate.py +4 -1
  124. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/join.py +17 -1
  125. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/masked.py +36 -10
  126. anemoi_datasets-0.5.10/src/anemoi/datasets/data/merge.py +180 -0
  127. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/misc.py +18 -3
  128. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/missing.py +4 -1
  129. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/rescale.py +4 -1
  130. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/select.py +15 -1
  131. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/statistics.py +4 -1
  132. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/stores.py +70 -3
  133. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/subset.py +6 -1
  134. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/unchecked.py +9 -1
  135. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/xy.py +20 -5
  136. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/dates/__init__.py +9 -7
  137. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/dates/groups.py +3 -1
  138. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/fields.py +3 -1
  139. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/grids.py +86 -2
  140. anemoi_datasets-0.5.10/src/anemoi/datasets/testing.py +60 -0
  141. anemoi_datasets-0.5.10/src/anemoi/datasets/utils/__init__.py +8 -0
  142. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/utils/fields.py +2 -2
  143. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/PKG-INFO +11 -29
  144. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/SOURCES.txt +17 -3
  145. anemoi_datasets-0.5.10/src/anemoi_datasets.egg-info/requires.txt +43 -0
  146. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/test_create.py +35 -20
  147. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_chunks.py +3 -1
  148. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_data.py +8 -1
  149. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_dates.py +4 -1
  150. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/test_indexing.py +3 -1
  151. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_kerchunk.py +4 -1
  152. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_netcdf.py +16 -7
  153. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_opendap.py +6 -5
  154. anemoi_datasets-0.5.10/tests/xarray/test_samples.py +73 -0
  155. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/xarray/test_zarr.py +66 -26
  156. anemoi_datasets-0.5.10/tools/grids/grids3.yaml +42 -0
  157. anemoi_datasets-0.5.10/tools/grids/grids4.yaml +41 -0
  158. anemoi_datasets-0.5.10/tools/grids/grids5.yaml +41 -0
  159. anemoi_datasets-0.5.10/tools/grids/grids6.yaml +41 -0
  160. anemoi_datasets-0.5.10/tools/grids/grids7.yaml +41 -0
  161. anemoi_datasets-0.5.10/tools/grids/grids_multilam.ipynb +1032 -0
  162. anemoi_datasets-0.5.10/tools/make-sample-dataset.py +37 -0
  163. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/upload-sample-dataset.py +13 -2
  164. anemoi_datasets-0.5.6/.github/ci-config.yml +0 -9
  165. anemoi_datasets-0.5.6/.github/ci-hpc-config.yml +0 -18
  166. anemoi_datasets-0.5.6/docs/building/filters/rename.rst +0 -6
  167. anemoi_datasets-0.5.6/docs/building/filters/yaml/rename.yaml +0 -4
  168. anemoi_datasets-0.5.6/docs/building/sources/xarray-zarr.rst +0 -6
  169. anemoi_datasets-0.5.6/docs/building/sources/yaml/xarray-zarr.yaml +0 -3
  170. anemoi_datasets-0.5.6/docs/using/code/missing_dates_.py +0 -1
  171. anemoi_datasets-0.5.6/src/anemoi/datasets/compute/__init__.py +0 -0
  172. anemoi_datasets-0.5.6/src/anemoi/datasets/data/grids.py +0 -253
  173. anemoi_datasets-0.5.6/src/anemoi/datasets/utils/__init__.py +0 -0
  174. anemoi_datasets-0.5.6/src/anemoi_datasets.egg-info/requires.txt +0 -62
  175. anemoi_datasets-0.5.6/tests/create/data_sources.yaml +0 -28
  176. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.gitattributes +0 -0
  177. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/changelog-pr-update.yml +0 -0
  178. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/label-public-pr.yml +0 -0
  179. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.github/workflows/readthedocs-pr-update.yml +0 -0
  180. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.gitignore +0 -0
  181. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.readthedocs.yaml +0 -0
  182. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/.vscode/spellright.dict +0 -0
  183. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/LICENSE +0 -0
  184. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/Makefile +0 -0
  185. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_static/logo.png +0 -0
  186. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_static/style.css +0 -0
  187. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/_templates/.gitkeep +0 -0
  188. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/apply-fmt.sh +0 -0
  189. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/advanced-options.rst +0 -0
  190. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/empty.rst +0 -0
  191. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/noop.rst +0 -0
  192. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/rotate_winds.rst +0 -0
  193. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/select.rst +0 -0
  194. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters/unrotate_winds.rst +0 -0
  195. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/filters.rst +0 -0
  196. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/handling-missing-dates.rst +0 -0
  197. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/handling-missing-values.rst +0 -0
  198. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/incremental.rst +0 -0
  199. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/introduction.rst +0 -0
  200. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/naming-variables.rst +0 -0
  201. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/operations.rst +0 -0
  202. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/accumulations.rst +0 -0
  203. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/forcings.rst +0 -0
  204. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/grib.rst +0 -0
  205. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/hindcasts.rst +0 -0
  206. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/mars.rst +0 -0
  207. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/netcdf.rst +0 -0
  208. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/opendap.rst +0 -0
  209. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/recentre.rst +0 -0
  210. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/repeated_dates.rst +0 -0
  211. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-based.rst +0 -0
  212. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-kerchunk.py +0 -0
  213. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/xarray-kerchunk.rst +0 -0
  214. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/accumulations1.yaml +0 -0
  215. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/accumulations2.yaml +0 -0
  216. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/forcings.yaml +0 -0
  217. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib1.yaml +0 -0
  218. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib2.yaml +0 -0
  219. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib3.yaml +0 -0
  220. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/grib4.yaml +0 -0
  221. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/hindcasts.yaml +0 -0
  222. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/mars1.yaml +0 -0
  223. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/mars2.yaml +0 -0
  224. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/netcdf.yaml +0 -0
  225. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/opendap.yaml +0 -0
  226. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/recentre.yaml +0 -0
  227. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates1.yaml +0 -0
  228. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates2.yaml +0 -0
  229. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates3.yaml +0 -0
  230. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/repeated_dates4.yaml +0 -0
  231. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/xarray-based.yaml +0 -0
  232. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/xarray-kerchunk.yaml +0 -0
  233. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/yaml/zenodo.yaml +0 -0
  234. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources/zenodo.rst +0 -0
  235. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/sources.rst +0 -0
  236. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/statistics.rst +0 -0
  237. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/syntax.yaml +0 -0
  238. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/Makefile +0 -0
  239. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building1.txt +0 -0
  240. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building1.yaml +0 -0
  241. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building2.txt +0 -0
  242. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building2.yaml +0 -0
  243. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building3.txt +0 -0
  244. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/building3.yaml +0 -0
  245. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/concat.yaml +0 -0
  246. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/hindcasts.yaml +0 -0
  247. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/input.yaml +0 -0
  248. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/missing_dates.yaml +0 -0
  249. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/nan.yaml +0 -0
  250. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/building/yaml/pipe.yaml +0 -0
  251. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/check-index.sh +0 -0
  252. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/compare.rst +0 -0
  253. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/copy.rst +0 -0
  254. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/create.rst +0 -0
  255. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/inspect.rst +0 -0
  256. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/introduction.rst +0 -0
  257. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/cli/scan.rst +0 -0
  258. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/images.pptx +0 -0
  259. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/installing.rst +0 -0
  260. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/overview.rst +0 -0
  261. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/overview_.py +0 -0
  262. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/matrix.excalidraw +0 -0
  263. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/matrix.png +0 -0
  264. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/overview.excalidraw +0 -0
  265. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/overview.png +0 -0
  266. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/recipe.excalidraw +0 -0
  267. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/schemas/recipe.png +0 -0
  268. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/area1_.py +0 -0
  269. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/area2_.py +0 -0
  270. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/chain_.py +0 -0
  271. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/combine_example.py +0 -0
  272. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/concat1.py +0 -0
  273. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/cutout_.py +0 -0
  274. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/drop_.py +0 -0
  275. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/end_.py +0 -0
  276. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/ensembles1_.py +0 -0
  277. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/fill_missing_gaps_.py +0 -0
  278. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/frequency1_.py +0 -0
  279. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/frequency2_.py +0 -0
  280. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/grids1_.py +0 -0
  281. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates1_.py +0 -0
  282. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates2_.py +0 -0
  283. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/iterating_missing_dates3_.py +0 -0
  284. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/join1.py +0 -0
  285. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching0_.py +0 -0
  286. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching1_.py +0 -0
  287. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching2_.py +0 -0
  288. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching3_.py +0 -0
  289. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/matching4_.py +0 -0
  290. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/misc1.py +0 -0
  291. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/misc2.py +0 -0
  292. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/missing_.py +0 -0
  293. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_cloud.py +0 -0
  294. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_combine1_.py +0 -0
  295. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_combine2_.py +0 -0
  296. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_complex.py +0 -0
  297. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_dict_.py +0 -0
  298. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_first_.py +0 -0
  299. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_list_.py +0 -0
  300. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_name.py +0 -0
  301. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_other.py +0 -0
  302. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_path.py +0 -0
  303. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/open_yaml_.py +0 -0
  304. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/rename_.py +0 -0
  305. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/reorder1_.py +0 -0
  306. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/reorder2_.py +0 -0
  307. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/rescale_.py +0 -0
  308. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/select1_.py +0 -0
  309. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/select2_.py +0 -0
  310. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/shuffle_.py +0 -0
  311. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/some_attributes_.py +0 -0
  312. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/start_.py +0 -0
  313. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/statistics_.py +0 -0
  314. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/subset_example.py +0 -0
  315. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/thinning_.py +0 -0
  316. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/xy1_.py +0 -0
  317. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/xy2_.py +0 -0
  318. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip1_.py +0 -0
  319. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip2_.py +0 -0
  320. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/code/zip_xy_.py +0 -0
  321. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/combining.rst +0 -0
  322. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/configuration.rst +0 -0
  323. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/configuration.toml +0 -0
  324. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/grids.rst +0 -0
  325. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/area-1.png +0 -0
  326. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/concat.png +0 -0
  327. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-1.png +0 -0
  328. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-2.png +0 -0
  329. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-3.png +0 -0
  330. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-4.png +0 -0
  331. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-5.png +0 -0
  332. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/cutout-6.png +0 -0
  333. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/join.png +0 -0
  334. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/overlay.png +0 -0
  335. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/skip-missing.png +0 -0
  336. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/thinning-after.png +0 -0
  337. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/images/thinning-before.png +0 -0
  338. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/introduction.rst +0 -0
  339. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/matching.rst +0 -0
  340. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/methods.rst +0 -0
  341. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/miscellaneous.rst +0 -0
  342. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/opening.rst +0 -0
  343. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/other.rst +0 -0
  344. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/selecting.rst +0 -0
  345. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/statistics.rst +0 -0
  346. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/subsetting.rst +0 -0
  347. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/docs/using/zip.rst +0 -0
  348. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/setup.cfg +0 -0
  349. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi/datasets/data/debug.css +0 -0
  350. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/dependency_links.txt +0 -0
  351. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/entry_points.txt +0 -0
  352. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/src/anemoi_datasets.egg-info/top_level.txt +0 -0
  353. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/concat.yaml +0 -0
  354. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/join.yaml +0 -0
  355. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/missing.yaml +0 -0
  356. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/nan.yaml +0 -0
  357. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/pipe.yaml +0 -0
  358. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/recentre.yaml +0 -0
  359. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create/run.sh +0 -0
  360. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create-perturbations-full.yaml +0 -0
  361. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tests/create-shift.yaml +0 -0
  362. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/.gitignore +0 -0
  363. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/examples/Makefile +0 -0
  364. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/examples/an-oper-2023-2023-2p5-6h-v1.yaml +0 -0
  365. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/Makefile +0 -0
  366. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids.ipynb +0 -0
  367. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids1.yaml +0 -0
  368. {anemoi_datasets-0.5.6 → anemoi_datasets-0.5.10}/tools/grids/grids2.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  # CODEOWNERS file
2
2
 
3
3
  # Protect workflow files
4
- /.github/ @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
5
- /.pre-commit-config.yaml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
6
- /pyproject.toml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb
4
+ /.github/ @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
5
+ /.pre-commit-config.yaml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
6
+ /pyproject.toml @theissenhelen @jesperdramsch @gmertes @b8raoult @floriankrb @anaprietonem @HCookie @JPXKQX @mchantry
@@ -9,12 +9,15 @@ assignees: ''
9
9
  **Describe the bug**
10
10
  A clear and concise description of what the bug is.
11
11
 
12
+ ** Version number **
13
+ I am using the following versions/branch/sha1 of the anemoi packages
14
+ (alternatively the output of `pip freeze`)
15
+
12
16
  **To Reproduce**
13
17
  Steps to reproduce the behavior:
14
18
  1. Go to '...'
15
- 2. Click on '....'
16
- 3. Scroll down to '....'
17
- 4. See error
19
+ 2. Run this '....'
20
+ 3. See error
18
21
 
19
22
  **URL to sample input data**
20
23
  Provide a URL to a sample input data, or attach a file to that report if it is small enough.
@@ -25,16 +28,5 @@ A clear and concise description of what you expected to happen.
25
28
  **Screenshots**
26
29
  If applicable, add screenshots to help explain your problem.
27
30
 
28
- **Desktop (please complete the following information):**
29
- - OS: [e.g. iOS]
30
- - Browser [e.g. chrome, safari]
31
- - Version [e.g. 22]
32
-
33
- **Smartphone (please complete the following information):**
34
- - Device: [e.g. iPhone6]
35
- - OS: [e.g. iOS8.1]
36
- - Browser [e.g. stock browser, safari]
37
- - Version [e.g. 22]
38
-
39
31
  **Additional context**
40
32
  Add any other context about the problem here.
@@ -0,0 +1,3 @@
1
+ dependency_branch: develop
2
+ parallelism_factor: 8
3
+ self_build: false # Only for python packages
@@ -0,0 +1,9 @@
1
+ build:
2
+ python: '3.10'
3
+ modules:
4
+ - ninja
5
+ python_dependencies:
6
+ - ecmwf/anemoi-utils@develop
7
+ parallel: 64
8
+ pytest_cmd: |
9
+ python -m pytest -vv -m 'not notebook and not no_cache_init' --cov=. --cov-report=xml
@@ -2,9 +2,11 @@
2
2
  name: "Update Changelog"
3
3
 
4
4
  on:
5
- release:
6
- types: [released]
7
- workflow_dispatch: ~
5
+ workflow_run:
6
+ workflows:
7
+ - Upload Python Package
8
+ types:
9
+ - completed
8
10
 
9
11
  permissions:
10
12
  pull-requests: write
@@ -13,6 +15,7 @@ permissions:
13
15
  jobs:
14
16
  update:
15
17
  runs-on: ubuntu-latest
18
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
16
19
 
17
20
  steps:
18
21
  - name: Checkout code
@@ -25,11 +28,18 @@ jobs:
25
28
  with:
26
29
  latest-version: ${{ github.event.release.tag_name }}
27
30
  heading-text: ${{ github.event.release.name }}
31
+ release-notes: ${{ github.event.release.body }}
28
32
 
29
33
  - name: Create Pull Request
30
34
  uses: peter-evans/create-pull-request@v6
31
35
  with:
32
36
  branch: docs/changelog-update-${{ github.event.release.tag_name }}
37
+ base: develop
33
38
  title: '[Changelog] Update to ${{ github.event.release.tag_name }}'
39
+ body: |
40
+ This PR updates the changelog to include the changes in the latest release.
41
+
42
+ > [!CAUTION]
43
+ > Merge DO NOT squash to correctly update the tag version of `develop` branch.
34
44
  add-paths: |
35
45
  CHANGELOG.md
@@ -35,19 +35,27 @@ on:
35
35
  jobs:
36
36
  # Run CI including downstream packages on self-hosted runners
37
37
  downstream-ci:
38
+
38
39
  name: downstream-ci
39
- if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
40
+ if: ${{ !contains(github.repository, 'private') && (!github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
40
41
  uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci.yml@main
41
42
  with:
42
43
  anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
43
44
  codecov_upload: true
45
+ skip_matrix_jobs: |
46
+ gnu@debian-11
47
+ clang@rocky-8.6
48
+ gnu@debian-11
49
+ gnu@rocky-8.6
50
+ clang@rocky-8.6
51
+ gnu@fedora-37
44
52
  secrets: inherit
45
53
 
46
- # Build downstream packages on HPC
47
- downstream-ci-hpc:
48
- name: downstream-ci-hpc
49
- if: ${{ !github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci' }}
50
- uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
51
- with:
52
- anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
53
- secrets: inherit
54
+ # # Build downstream packages on HPC
55
+ # downstream-ci-hpc:
56
+ # name: downstream-ci-hpc
57
+ # if: ${{ !contains(github.repository, 'private') && (!github.event.pull_request.head.repo.fork && github.event.action != 'labeled' || github.event.label.name == 'approved-for-ci') }}
58
+ # uses: ecmwf-actions/downstream-ci/.github/workflows/downstream-ci-hpc.yml@main
59
+ # with:
60
+ # anemoi-datasets: ecmwf/anemoi-datasets@${{ github.event.pull_request.head.sha || github.sha }}
61
+ # secrets: inherit
@@ -0,0 +1,33 @@
1
+ name: Push to private repository
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - develop
7
+
8
+ jobs:
9
+ push_changes:
10
+ if: ${{ !contains(github.repository, 'private') }}
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Checkout source repository
15
+ uses: actions/checkout@v3
16
+ with:
17
+ fetch-depth: 0
18
+ fetch-tags: true
19
+
20
+ - name: Set up Git configuration
21
+ run: |
22
+ git config user.name "github-actions[bot]"
23
+ git config user.email "github-actions[bot]@users.noreply.github.com"
24
+
25
+ - name: Setup SSH key
26
+ uses: webfactory/ssh-agent@v0.5.0
27
+ with:
28
+ ssh-private-key: ${{ secrets.KEY_TO_PRIVATE }}
29
+
30
+ - name: Push changes to private repository
31
+ run: |
32
+ git remote add private git@github.com:${{ github.repository }}-private.git
33
+ git push --set-upstream private develop
@@ -9,14 +9,18 @@ on:
9
9
 
10
10
  jobs:
11
11
  quality:
12
+ if: ${{ !contains(github.repository, 'private') }}
12
13
  uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-precommit-run.yml@v2
13
14
  with:
14
15
  skip-hooks: "no-commit-to-branch"
15
16
 
16
17
  checks:
18
+ strategy:
19
+ matrix:
20
+ python-version: ["3.9", "3.10", "3.11", "3.12"]
17
21
  uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
18
22
  with:
19
- python-version: "3.9"
23
+ python-version: ${{ matrix.python-version }}
20
24
 
21
25
  deploy:
22
26
  needs: [checks, quality]
@@ -1,12 +1,17 @@
1
1
  # This workflow will upload a Python Package using Twine when a release is created
2
2
  # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
3
3
 
4
- name: Code Quality checks for PRs
4
+ name: Test PR
5
5
 
6
6
  on:
7
- push:
8
7
  pull_request:
9
8
  types: [opened, synchronize, reopened]
9
+ push:
10
+ branches:
11
+ - develop
12
+ schedule:
13
+ - cron: "9 2 * * 0" # at 9:02 on sunday
14
+
10
15
 
11
16
  jobs:
12
17
  quality:
@@ -17,7 +22,7 @@ jobs:
17
22
  checks:
18
23
  strategy:
19
24
  matrix:
20
- python-version: ["3.9", "3.10"]
25
+ python-version: ["3.11"]
21
26
  uses: ecmwf-actions/reusable-workflows/.github/workflows/qa-pytest-pyproject.yml@v2
22
27
  with:
23
28
  python-version: ${{ matrix.python-version }}
@@ -5,12 +5,12 @@ repos:
5
5
  - id: clear-notebooks-output
6
6
  name: clear-notebooks-output
7
7
  files: tools/.*\.ipynb$
8
- stages: [commit]
8
+ stages: [pre-commit]
9
9
  language: python
10
10
  entry: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace
11
11
  additional_dependencies: [jupyter]
12
12
  - repo: https://github.com/pre-commit/pre-commit-hooks
13
- rev: v4.6.0
13
+ rev: v5.0.0
14
14
  hooks:
15
15
  - id: check-yaml # Check YAML files for syntax errors only
16
16
  args: [--unsafe, --allow-multiple-documents]
@@ -27,7 +27,7 @@ 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.8.0
30
+ rev: 24.10.0
31
31
  hooks:
32
32
  - id: black
33
33
  args: [--line-length=120]
@@ -40,16 +40,15 @@ 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.6.4
43
+ rev: v0.7.2
44
44
  hooks:
45
45
  - id: ruff
46
- # Next line if for documenation cod snippets
47
- exclude: '.*/[^_].*_\.py$'
48
46
  args:
49
47
  - --line-length=120
50
48
  - --fix
51
49
  - --exit-non-zero-on-fix
52
50
  - --preview
51
+ - --exclude=docs/**/*_.py
53
52
  - repo: https://github.com/sphinx-contrib/sphinx-lint
54
53
  rev: v1.0.0
55
54
  hooks:
@@ -60,13 +59,8 @@ repos:
60
59
  hooks:
61
60
  - id: rstfmt
62
61
  exclude: 'cli/.*' # Because we use argparse
63
- - repo: https://github.com/b8raoult/pre-commit-docconvert
64
- rev: "0.1.5"
65
- hooks:
66
- - id: docconvert
67
- args: ["numpy"]
68
62
  - repo: https://github.com/tox-dev/pyproject-fmt
69
- rev: "2.2.3"
63
+ rev: "v2.5.0"
70
64
  hooks:
71
65
  - id: pyproject-fmt
72
66
 
@@ -8,7 +8,61 @@ 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
- ## [Unreleased](https://github.com/ecmwf/anemoi-datasets/compare/0.5.5...HEAD)
11
+ ## [Unreleased](https://github.com/ecmwf/anemoi-datasets/compare/0.5.8...HEAD)
12
+
13
+
14
+ ### Added
15
+
16
+ - Call filters from anemoi-transform
17
+ - make test optional when adls is not installed Pull request #110
18
+
19
+
20
+ ## [0.5.8](https://github.com/ecmwf/anemoi-datasets/compare/0.5.7...0.5.8) - 2024-10-26
21
+
22
+ ### Changed
23
+
24
+ - Bugfix in `auto_adjust`
25
+ - Fixed precommit CI errors
26
+ - Improve tests
27
+ - More verbosity
28
+
29
+ ### Added
30
+
31
+ - Add anemoi-transform link to documentation
32
+ - Various bug fixes
33
+ - Control compatibility check in xy/zip
34
+ - Add `merge` feature
35
+ - Add support for storing `supporting_arrays` in checkpoint files
36
+ - Allow naming of datasets components
37
+ - Contributors file (#105)
38
+
39
+ ### Changed
40
+
41
+ - Upload with ssh (experimental)
42
+ - Remove upstream dependencies from downstream-ci workflow (temporary) (#83)
43
+ - ci: pin python versions to 3.9 ... 3.12 for checks (#93)
44
+ - Fix `__version__` import in init
45
+
46
+ ## [0.5.7](https://github.com/ecmwf/anemoi-datasets/compare/0.5.6...0.5.7) - 2024-10-09
47
+
48
+ ### Changed
49
+
50
+ - Add support to fill missing dates
51
+
52
+ ## [Allow for unknown CF coordinates](https://github.com/ecmwf/anemoi-datasets/compare/0.5.5...0.5.6) - 2024-10-04
53
+
54
+ ### Changed
55
+
56
+ - Add `variables_metadata` entry in the dataset metadata
57
+ - Update documentation
58
+
59
+ ### Changed
60
+
61
+ - Add `variables_metadata` entry in the dataset metadata
62
+
63
+ ### Changed
64
+
65
+ - Add `variables_metadata` entry in the dataset metadata
12
66
 
13
67
  ## [0.5.5](https://github.com/ecmwf/anemoi-datasets/compare/0.5.4...0.5.5) - 2024-10-04
14
68
 
@@ -49,6 +103,7 @@ Keep it human-readable, your future self will thank you!
49
103
  - Bug fix when creating dataset from zarr
50
104
  - Bug fix with area selection in cutout operation
51
105
  - add paths-ignore to ci workflow
106
+ - call provenance less often
52
107
 
53
108
  ### Removed
54
109
 
@@ -0,0 +1,13 @@
1
+ ## How to Contribute
2
+
3
+ Please see the [read the docs](https://anemoi-training.readthedocs.io/en/latest/dev/contributing.html).
4
+
5
+
6
+ ## Contributors
7
+
8
+ Thank you to all the wonderful people who have contributed to Anemoi. Contributions can come in many forms, including code, documentation, bug reports, feature suggestions, design, and more. A list of code-based contributors can be found [here](https://github.com/ecmwf/anemoi-datasets/graphs/contributors).
9
+
10
+
11
+ ## Contributing Organisations
12
+
13
+ Significant contributions have been made by the following organisations: [DWD](https://www.dwd.de/), [MET Norway](https://www.met.no/), [MeteoSwiss](https://www.meteoswiss.admin.ch/), [RMI](https://www.meteo.be/) & [ECMWF](https://www.ecmwf.int/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: anemoi-datasets
3
- Version: 0.5.6
3
+ Version: 0.5.10
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
@@ -219,11 +219,13 @@ Classifier: Programming Language :: Python :: 3.9
219
219
  Classifier: Programming Language :: Python :: 3.10
220
220
  Classifier: Programming Language :: Python :: 3.11
221
221
  Classifier: Programming Language :: Python :: 3.12
222
+ Classifier: Programming Language :: Python :: 3.13
222
223
  Classifier: Programming Language :: Python :: Implementation :: CPython
223
224
  Classifier: Programming Language :: Python :: Implementation :: PyPy
224
225
  Requires-Python: >=3.9
225
226
  License-File: LICENSE
226
- Requires-Dist: anemoi-utils[provenance]>=0.3.15
227
+ Requires-Dist: anemoi-transform>=0.0.5
228
+ Requires-Dist: anemoi-utils[provenance]>=0.4.2
227
229
  Requires-Dist: cfunits
228
230
  Requires-Dist: numpy
229
231
  Requires-Dist: pyyaml
@@ -231,39 +233,16 @@ Requires-Dist: semantic-version
231
233
  Requires-Dist: tqdm
232
234
  Requires-Dist: zarr<=2.17
233
235
  Provides-Extra: all
234
- Requires-Dist: boto3; extra == "all"
235
- Requires-Dist: earthkit-data[mars]>=0.9; extra == "all"
236
- Requires-Dist: earthkit-geo>=0.2; extra == "all"
237
- Requires-Dist: earthkit-meteo; extra == "all"
238
- Requires-Dist: ecmwflibs>=0.6.3; extra == "all"
239
- Requires-Dist: entrypoints; extra == "all"
240
- Requires-Dist: gcsfs; extra == "all"
241
- Requires-Dist: kerchunk; extra == "all"
242
- Requires-Dist: pyproj; extra == "all"
243
- Requires-Dist: requests; extra == "all"
236
+ Requires-Dist: anemoi-datasets[create,remote,xarray]; extra == "all"
244
237
  Provides-Extra: create
245
- Requires-Dist: earthkit-data[mars]>=0.9; extra == "create"
238
+ Requires-Dist: earthkit-data[mars]>=0.10.7; extra == "create"
246
239
  Requires-Dist: earthkit-geo>=0.2; extra == "create"
247
240
  Requires-Dist: earthkit-meteo; extra == "create"
248
- Requires-Dist: ecmwflibs>=0.6.3; extra == "create"
241
+ Requires-Dist: eccodes>=2.38.1; extra == "create"
249
242
  Requires-Dist: entrypoints; extra == "create"
250
243
  Requires-Dist: pyproj; extra == "create"
251
244
  Provides-Extra: dev
252
- Requires-Dist: boto3; extra == "dev"
253
- Requires-Dist: earthkit-data[mars]>=0.9; extra == "dev"
254
- Requires-Dist: earthkit-geo>=0.2; extra == "dev"
255
- Requires-Dist: earthkit-meteo; extra == "dev"
256
- Requires-Dist: ecmwflibs>=0.6.3; extra == "dev"
257
- Requires-Dist: entrypoints; extra == "dev"
258
- Requires-Dist: gcsfs; extra == "dev"
259
- Requires-Dist: kerchunk; extra == "dev"
260
- Requires-Dist: nbsphinx; extra == "dev"
261
- Requires-Dist: pandoc; extra == "dev"
262
- Requires-Dist: pyproj; extra == "dev"
263
- Requires-Dist: pytest; extra == "dev"
264
- Requires-Dist: requests; extra == "dev"
265
- Requires-Dist: sphinx; extra == "dev"
266
- Requires-Dist: sphinx-rtd-theme; extra == "dev"
245
+ Requires-Dist: anemoi-datasets[all,docs,tests]; extra == "dev"
267
246
  Provides-Extra: docs
268
247
  Requires-Dist: nbsphinx; extra == "docs"
269
248
  Requires-Dist: pandoc; extra == "docs"
@@ -278,3 +257,6 @@ Requires-Dist: pytest; extra == "tests"
278
257
  Provides-Extra: xarray
279
258
  Requires-Dist: gcsfs; extra == "xarray"
280
259
  Requires-Dist: kerchunk; extra == "xarray"
260
+ Requires-Dist: pandas; extra == "xarray"
261
+ Requires-Dist: planetary-computer; extra == "xarray"
262
+ Requires-Dist: pystac-client; extra == "xarray"
@@ -22,7 +22,7 @@ $ pip install anemoi-datasets
22
22
  ## License
23
23
 
24
24
  ```
25
- Copyright 2022, European Centre for Medium Range Weather Forecasts.
25
+ Copyright 2024, Anemoi contributors.
26
26
 
27
27
  Licensed under the Apache License, Version 2.0 (the "License");
28
28
  you may not use this file except in compliance with the License.
@@ -0,0 +1,20 @@
1
+ ########
2
+ rename
3
+ ########
4
+
5
+ When combining several sources, it is common to have different values
6
+ for a given attribute to represents the same concept. For example,
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
10
+ :ref:`source <sources>` or another filter in a :ref:`building-pipe`
11
+ operation.
12
+
13
+ .. literalinclude:: yaml/rename.yaml
14
+ :language: yaml
15
+
16
+ .. note::
17
+
18
+ The ``rename`` filter was mostly designed to rename the ``param``
19
+ attribute, but any key can be renamed. The ``rename`` filter can take
20
+ several renaming keys.
@@ -0,0 +1,11 @@
1
+ input:
2
+ pipe:
3
+ - source: # mars, grib, netcdf, etc.
4
+ # source attributes here
5
+ # ...
6
+
7
+ - rename:
8
+ param: # Map old `param` names to new ones
9
+ temperature_2m: 2t
10
+ temperature_850hPa: t_850
11
+ # ...
@@ -0,0 +1,18 @@
1
+ #############
2
+ xarray-zarr
3
+ #############
4
+
5
+ Here is an example recipe that builds a dataset using one of the many
6
+ regridded versions of ERA5 hosted by Google in Analysis-Ready, Cloud
7
+ Optimized format. See `here
8
+ <https://cloud.google.com/storage/docs/public-datasets/era5>`_ for more
9
+ information.
10
+
11
+ .. literalinclude:: yaml/xarray-zarr.yaml
12
+ :language: yaml
13
+
14
+ Note that unlike the ``mars`` examples, there is no need to include a
15
+ ``grid`` specification. Also, in order to subselect the vertical levels,
16
+ it is necessary to use the :ref:`join <building-join>` operation to join
17
+ separate lists containing 2D variables and 3D variables. If all vertical
18
+ levels are desired, then it is OK to specify a single source.
@@ -0,0 +1,22 @@
1
+ dates:
2
+ start: 2021-01-01T00:00:00
3
+ end: 2021-01-10T12:00:00
4
+ frequency: 6h
5
+
6
+ input:
7
+ join:
8
+ - xarray-zarr:
9
+ url: "gs://gcp-public-data-arco-era5/ar/1959-2022-6h-128x64_equiangular_conservative.zarr"
10
+ param:
11
+ - surface_pressure
12
+ - 2m_temperature
13
+ - 10m_u_component_of_wind
14
+ - 10m_v_component_of_wind
15
+
16
+ - xarray-zarr:
17
+ url: "gs://gcp-public-data-arco-era5/ar/1959-2022-6h-128x64_equiangular_conservative.zarr"
18
+ param:
19
+ - temperature
20
+ level:
21
+ - 1000
22
+ - 500
@@ -34,7 +34,7 @@ html_logo = "_static/logo.png"
34
34
 
35
35
  project = "Anemoi"
36
36
 
37
- author = "ECMWF"
37
+ author = "Anemoi contributors"
38
38
 
39
39
  year = datetime.datetime.now().year
40
40
  if year == 2024:
@@ -42,7 +42,7 @@ if year == 2024:
42
42
  else:
43
43
  years = "2024-%s" % (year,)
44
44
 
45
- copyright = "%s, ECMWF" % (years,)
45
+ copyright = "%s, Anemoi contributors" % (years,)
46
46
 
47
47
 
48
48
  try:
@@ -107,6 +107,10 @@ intersphinx_mapping = {
107
107
  "https://anemoi-registry.readthedocs.io/en/latest/",
108
108
  ("../../anemoi-registry/docs/_build/html/objects.inv", None),
109
109
  ),
110
+ "anemoi-transform": (
111
+ "https://anemoi-transform.readthedocs.io/en/latest/",
112
+ ("../../anemoi-transform/docs/_build/html/objects.inv", None),
113
+ ),
110
114
  }
111
115
 
112
116
 
@@ -121,6 +121,7 @@ datasets <building-introduction>`.
121
121
  *****************
122
122
 
123
123
  - :ref:`anemoi-utils <anemoi-utils:index-page>`
124
+ - :ref:`anemoi-transform <anemoi-transform:index-page>`
124
125
  - :ref:`anemoi-datasets <anemoi-datasets:index-page>`
125
126
  - :ref:`anemoi-models <anemoi-models:index-page>`
126
127
  - :ref:`anemoi-graphs <anemoi-graphs:index-page>`
@@ -0,0 +1 @@
1
+ ds = open_dataset(dataset, fill_missing_dates="interpolate")
@@ -0,0 +1 @@
1
+ ds = open_dataset(dataset, fill_missing_dates="closest")
@@ -0,0 +1 @@
1
+ ds = open_dataset(dataset, set_missing_dates=["2010-01-01T12:00:00", "2010-02-01T12:00:00"])
@@ -4,6 +4,35 @@
4
4
  Managing missing dates
5
5
  ########################
6
6
 
7
+ *********************************************
8
+ Managing missing dates with anemoi-training
9
+ *********************************************
10
+
11
+ Anemoi-training has internal handling of missing dates, and will
12
+ calculate the valid date indices used during training using the
13
+ ``missing`` property. Consequenctly, when training a model with
14
+ anemoi-training, you should `not` specify a method to deal with missing
15
+ dates in the dataloader configuration file.
16
+
17
+ **************************************************
18
+ Filling the missing dates with artificial values
19
+ **************************************************
20
+
21
+ When you have missing dates in a dataset, you can fill them with
22
+ artificial values. You can either fill them with values that are the
23
+ result of a linear interpolation between the two closest dates:
24
+
25
+ .. literalinclude:: code/fill_missing_dates1_.py
26
+
27
+ Or you can select the copy the value of the closest date:
28
+
29
+ .. literalinclude:: code/fill_missing_dates2_.py
30
+
31
+ if the missing date is exactly in the middle of two dates, the library
32
+ will choose that value of the largest date. You can change this behavior
33
+ by setting the ``closest`` parameter to ``'down'`` or ``'up'``
34
+ explicitly.
35
+
7
36
  ************************************************
8
37
  Skipping missing when iterating over a dataset
9
38
  ************************************************
@@ -72,7 +101,7 @@ the datasets to make the dates contiguous.
72
101
  Debugging
73
102
  ***********
74
103
 
75
- You can set missing dates using the ``missing_dates`` option. This
104
+ You can set missing dates using the ``set_missing_dates`` option. This
76
105
  option is for debugging purposes only.
77
106
 
78
- .. literalinclude:: code/missing_dates_.py
107
+ .. literalinclude:: code/set_missing_dates_.py