polytope-python 1.0.41__tar.gz → 1.1.0__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.
- {polytope_python-1.0.41/polytope_python.egg-info → polytope_python-1.1.0}/PKG-INFO +1 -1
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/fdb.py +8 -13
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix_nested.py +1 -1
- polytope_python-1.1.0/polytope_feature/version.py +1 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0/polytope_python.egg-info}/PKG-INFO +1 -1
- polytope_python-1.0.41/polytope_feature/version.py +0 -1
- {polytope_python-1.0.41 → polytope_python-1.1.0}/LICENSE +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/MANIFEST.in +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/datacube.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/mock.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/xarray.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/datacube_axis.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/index_tree_pb2.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/tensor_index_tree.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_cyclic/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_cyclic/datacube_cyclic.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/datacube_mappers.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/local_regular.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/octahedral.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_gaussian.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_ll.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/regular.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_merger/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_merger/datacube_merger.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_reverse/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_reverse/datacube_reverse.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_transformations.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_type_change/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/transformations/datacube_type_change/datacube_type_change.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/tree_encoding.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/engine/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/engine/engine.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/engine/hullslicer.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/options.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/polytope.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/shapes.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/__init__.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/combinatorics.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/exceptions.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/geometry.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/list_tools.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/utility/profiling.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/SOURCES.txt +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/dependency_links.txt +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/not-zip-safe +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/requires.txt +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/top_level.txt +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/pyproject.toml +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/requirements.txt +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/setup.cfg +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/setup.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_axis_mappers.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_bad_request_error.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_combinatorics.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_axis_over_negative_vals.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_axis_slicer_not_0.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_axis_slicing.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_nearest.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_simple.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_snapping.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_datacube_axes_init.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_datacube_mock.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_datacube_xarray.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_date_time_unmerged.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_ecmwf_oper_data_fdb.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_engine_slicer.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_fdb_datacube.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_fdb_unmap_tree.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_float_type.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_healpix_mapper.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_healpix_nested_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_hull_slicer.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_hullslicer_engine.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_incomplete_tree_fdb.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_local_grid_cyclic.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_local_regular_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_local_swiss_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_mappers.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_merge_cyclic_octahedral.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_merge_octahedral_one_axis.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_merge_transformation.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_multiple_param_fdb.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_octahedral_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_override_md5_hash_options.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_point_nearest.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_point_shape.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_point_union.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_profiling_requesttree.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_reduced_ll_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_regular_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_regular_reduced_grid.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_request_tree.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_request_trees_after_slicing.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_reverse_transformation.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_shapes.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slice_date_range_fdb.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slice_date_range_fdb_v2.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slice_fdb_box.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicer_engine.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicer_era5.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicer_xarray.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicing_unsliceable_axis.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicing_xarray_3D.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_slicing_xarray_4D.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_snapping.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_snapping_real_data.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_tree_protobuf.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_tree_protobuf_encoding.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_tree_protobuf_encoding_fdb.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_type_change_transformation.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_union_gj.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_union_point_box.py +0 -0
- {polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_wave_spectra_data.py +0 -0
|
@@ -140,7 +140,7 @@ class FDBDatacube(Datacube):
|
|
|
140
140
|
logging.debug("The requests we give GribJump are: %s", printed_list_to_gj)
|
|
141
141
|
logging.info("Requests given to GribJump extract for %s", context)
|
|
142
142
|
try:
|
|
143
|
-
|
|
143
|
+
iterator = self.gj.extract(complete_list_complete_uncompressed_requests, context)
|
|
144
144
|
except Exception as e:
|
|
145
145
|
if "BadValue: Grid hash mismatch" in str(e):
|
|
146
146
|
logging.info("Error is: %s", e)
|
|
@@ -152,10 +152,7 @@ class FDBDatacube(Datacube):
|
|
|
152
152
|
raise e
|
|
153
153
|
|
|
154
154
|
logging.info("Requests extracted from GribJump for %s", context)
|
|
155
|
-
|
|
156
|
-
printed_output_values = output_values[::1000]
|
|
157
|
-
logging.debug("GribJump outputs: %s", printed_output_values)
|
|
158
|
-
self.assign_fdb_output_to_nodes(output_values, complete_fdb_decoding_info)
|
|
155
|
+
self.assign_fdb_output_to_nodes(iterator, complete_fdb_decoding_info)
|
|
159
156
|
|
|
160
157
|
def get_fdb_requests(
|
|
161
158
|
self,
|
|
@@ -205,11 +202,11 @@ class FDBDatacube(Datacube):
|
|
|
205
202
|
original_fdb_node_range_vals = []
|
|
206
203
|
new_current_start_idx = []
|
|
207
204
|
for j, idx in enumerate(sub_lat_idxs):
|
|
208
|
-
if idx
|
|
205
|
+
if idx not in seen_indices:
|
|
209
206
|
# NOTE: need to remove it from the values in the corresponding tree node
|
|
210
207
|
# NOTE: need to read just the range we give to gj
|
|
211
208
|
original_fdb_node_range_vals.append(actual_fdb_node[0].values[j])
|
|
212
|
-
seen_indices.add(idx
|
|
209
|
+
seen_indices.add(idx)
|
|
213
210
|
new_current_start_idx.append(idx)
|
|
214
211
|
if original_fdb_node_range_vals != []:
|
|
215
212
|
actual_fdb_node[0].values = tuple(original_fdb_node_range_vals)
|
|
@@ -321,9 +318,8 @@ class FDBDatacube(Datacube):
|
|
|
321
318
|
fdb_range_n[i].append(c)
|
|
322
319
|
return (current_idx, fdb_range_n)
|
|
323
320
|
|
|
324
|
-
def assign_fdb_output_to_nodes(self,
|
|
325
|
-
for k in
|
|
326
|
-
request_output_values = output_values[k]
|
|
321
|
+
def assign_fdb_output_to_nodes(self, output_iterator, fdb_requests_decoding_info):
|
|
322
|
+
for k, result in enumerate(output_iterator):
|
|
327
323
|
(
|
|
328
324
|
original_indices,
|
|
329
325
|
fdb_node_ranges,
|
|
@@ -331,13 +327,12 @@ class FDBDatacube(Datacube):
|
|
|
331
327
|
sorted_fdb_range_nodes = [fdb_node_ranges[i] for i in original_indices]
|
|
332
328
|
for i in range(len(sorted_fdb_range_nodes)):
|
|
333
329
|
n = sorted_fdb_range_nodes[i][0]
|
|
334
|
-
if len(
|
|
330
|
+
if len(result.values) == 0:
|
|
335
331
|
# If we are here, no data was found for this path in the fdb
|
|
336
332
|
none_array = [None] * len(n.values)
|
|
337
333
|
n.result.extend(none_array)
|
|
338
334
|
else:
|
|
339
|
-
|
|
340
|
-
n.result.extend(interm_request_output_values)
|
|
335
|
+
n.result.extend(result.values[i])
|
|
341
336
|
|
|
342
337
|
def sort_fdb_request_ranges(self, current_start_idx, lat_length, fdb_node_ranges):
|
|
343
338
|
(new_fdb_node_ranges, new_current_start_idx) = self.remove_duplicates_in_request_ranges(
|
|
@@ -113,7 +113,7 @@ class NestedHealpixGridMapper(DatacubeMapper):
|
|
|
113
113
|
if not np.all(valid_mask):
|
|
114
114
|
return None
|
|
115
115
|
healpix_idxs = [self.axes_idx_to_healpix_idx(idx, sec_idx) for sec_idx in second_idxs]
|
|
116
|
-
return self.ring_to_nested(np.asarray(healpix_idxs))
|
|
116
|
+
return self.ring_to_nested(np.asarray(healpix_idxs)).tolist()
|
|
117
117
|
|
|
118
118
|
def div_03(self, a, b):
|
|
119
119
|
"""Vectorized version of div_03"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.1.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.0.41"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/__init__.py
RENAMED
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/datacube.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/backends/xarray.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/index_tree_pb2.py
RENAMED
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_feature/datacube/tensor_index_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/polytope_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-1.0.41 → polytope_python-1.1.0}/tests/test_cyclic_axis_over_negative_vals.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|