polytope-python 1.0.26__tar.gz → 1.0.28__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 (58) hide show
  1. {polytope-python-1.0.26/polytope_python.egg-info → polytope-python-1.0.28}/PKG-INFO +1 -1
  2. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/backends/fdb.py +14 -3
  3. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/datacube_mappers.py +1 -0
  4. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix_nested.py +1 -1
  5. polytope-python-1.0.28/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_gaussian.py +1459 -0
  6. polytope-python-1.0.28/polytope_feature/version.py +1 -0
  7. {polytope-python-1.0.26 → polytope-python-1.0.28/polytope_python.egg-info}/PKG-INFO +1 -1
  8. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_python.egg-info/SOURCES.txt +1 -0
  9. polytope-python-1.0.26/polytope_feature/version.py +0 -1
  10. {polytope-python-1.0.26 → polytope-python-1.0.28}/LICENSE +0 -0
  11. {polytope-python-1.0.26 → polytope-python-1.0.28}/MANIFEST.in +0 -0
  12. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/__init__.py +0 -0
  13. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/__init__.py +0 -0
  14. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/backends/__init__.py +0 -0
  15. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/backends/datacube.py +0 -0
  16. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/backends/mock.py +0 -0
  17. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/backends/xarray.py +0 -0
  18. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/datacube_axis.py +0 -0
  19. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/index_tree_pb2.py +0 -0
  20. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/tensor_index_tree.py +0 -0
  21. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/__init__.py +0 -0
  22. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_cyclic/__init__.py +0 -0
  23. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_cyclic/datacube_cyclic.py +0 -0
  24. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/__init__.py +0 -0
  25. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/__init__.py +0 -0
  26. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix.py +0 -0
  27. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/local_regular.py +0 -0
  28. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/octahedral.py +0 -0
  29. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_ll.py +0 -0
  30. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/regular.py +0 -0
  31. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_merger/__init__.py +0 -0
  32. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_merger/datacube_merger.py +0 -0
  33. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_reverse/__init__.py +0 -0
  34. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_reverse/datacube_reverse.py +0 -0
  35. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_transformations.py +0 -0
  36. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_type_change/__init__.py +0 -0
  37. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/transformations/datacube_type_change/datacube_type_change.py +0 -0
  38. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/datacube/tree_encoding.py +0 -0
  39. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/engine/__init__.py +0 -0
  40. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/engine/engine.py +0 -0
  41. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/engine/hullslicer.py +0 -0
  42. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/options.py +0 -0
  43. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/polytope.py +0 -0
  44. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/shapes.py +0 -0
  45. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/__init__.py +0 -0
  46. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/combinatorics.py +0 -0
  47. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/exceptions.py +0 -0
  48. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/geometry.py +0 -0
  49. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/list_tools.py +0 -0
  50. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_feature/utility/profiling.py +0 -0
  51. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_python.egg-info/dependency_links.txt +0 -0
  52. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_python.egg-info/not-zip-safe +0 -0
  53. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_python.egg-info/requires.txt +0 -0
  54. {polytope-python-1.0.26 → polytope-python-1.0.28}/polytope_python.egg-info/top_level.txt +0 -0
  55. {polytope-python-1.0.26 → polytope-python-1.0.28}/pyproject.toml +0 -0
  56. {polytope-python-1.0.26 → polytope-python-1.0.28}/requirements.txt +0 -0
  57. {polytope-python-1.0.26 → polytope-python-1.0.28}/setup.cfg +0 -0
  58. {polytope-python-1.0.26 → polytope-python-1.0.28}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.0
2
2
  Name: polytope-python
3
- Version: 1.0.26
3
+ Version: 1.0.28
4
4
  Summary: Polytope datacube feature extraction library
5
5
  Home-page: https://github.com/ecmwf/polytope
6
6
  Author: ECMWF
@@ -80,10 +80,21 @@ class FDBDatacube(Datacube):
80
80
  (upper, lower, idx) = polytope.extents(ax)
81
81
  if "sfc" in polytope.points[idx]:
82
82
  self.fdb_coordinates.pop("levelist", None)
83
+
84
+ if ax == "param":
85
+ (upper, lower, idx) = polytope.extents(ax)
86
+ if "140251" not in polytope.points[idx]:
87
+ self.fdb_coordinates.pop("direction", None)
88
+ self.fdb_coordinates.pop("frequency", None)
89
+ else:
90
+ # special param with direction and frequency
91
+ if len(polytope.points[idx]) > 1:
92
+ raise ValueError(
93
+ "Param 251 is part of a special branching of the datacube. Please request it separately." # noqa: E501
94
+ )
83
95
  self.fdb_coordinates.pop("quantile", None)
84
- # TODO: When do these not appear??
85
- self.fdb_coordinates.pop("direction", None)
86
- self.fdb_coordinates.pop("frequency", None)
96
+ self.fdb_coordinates.pop("year", None)
97
+ self.fdb_coordinates.pop("month", None)
87
98
 
88
99
  # NOTE: verify that we also remove the axis object for axes we've removed here
89
100
  axes_to_remove = set(self.complete_axes) - set(self.fdb_coordinates.keys())
@@ -137,4 +137,5 @@ _type_to_datacube_mapper_lookup = {
137
137
  "reduced_ll": "ReducedLatLonMapper",
138
138
  "local_regular": "LocalRegularGridMapper",
139
139
  "healpix_nested": "NestedHealpixGridMapper",
140
+ "reduced_gaussian": "ReducedGaussianGridMapper",
140
141
  }
@@ -224,6 +224,6 @@ class NestedHealpixGridMapper(DatacubeMapper):
224
224
  # md5 grid hash in form {resolution : hash}
225
225
  _md5_hash = {
226
226
  1024: "cbda19e48d4d7e5e22641154878b9b22",
227
- 512: "9533855ee8e38314e19aaa0434c310da",
227
+ 512: "47efaa0853e70948a41d5225e7653194",
228
228
  128: "f3dfeb7a5bbbdd13a20d10fdb3797c71",
229
229
  }