polytope-python 2.1.8__tar.gz → 2.1.9__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-2.1.8/polytope_python.egg-info → polytope_python-2.1.9}/PKG-INFO +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/_version.py +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/quadtree_slicer.py +15 -2
- {polytope_python-2.1.8 → polytope_python-2.1.9/polytope_python.egg-info}/PKG-INFO +1 -1
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/ci-config.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/ci-hpc-config.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/workflows/cd.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/workflows/ci.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/workflows/downstream-ci.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/workflows/label-public-pr.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.github/workflows/test-pypi.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.gitignore +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.pre-commit-config.yaml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/.readthedocs.yaml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/ACKNOWLEDGEMENTS.rst +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/CONTRIBUTING.rst +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/LICENSE +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/Makefile +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/README.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/codecov.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/API.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/Axis_types.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/Datacube.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/Slicer.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/images/Polytope_APIs_3.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/images/polytope_components_5.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/images/slicing_process.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/shapes.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Overview/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Overview/Polytope_at_ECMWF.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Overview/images_overview/ecmwf_datacube.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Overview/images_overview/ecmwf_polytope.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Building_Features.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Example.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Getting_started.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/images_users/shipping_route.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Client/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Server/Design.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Server/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Data_Portfolio.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Design_doc.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_boundingbox_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_circle_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_country_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_polygon_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_position_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_timeseries_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_trajectory_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/OpenData/od_vertical_profile_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/boundingbox_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/circle_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/climate_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/country_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/examples.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/extremes_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/on-demand_dt_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/opendata_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/operational_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/polygon_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/position_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/timeseries_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/trajectory_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/vertical_profile_example.ipynb +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/boundingbox.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/circle.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/feature.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/polygon.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/position.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/timeseries.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/trajectory.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Features/vertical_profile.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Full_fields.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Installation.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Overview.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Quick_Start.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/extra.css +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/flight_path.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/greece.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/logo.gif +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/polytope_feature.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/polytope_logo_new_animated_AdobeExpress_3.gif +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/timeseries.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/timeseries_example.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/images/timeseries_qs.png +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/index.md +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/docs/requirements.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/3D_shipping_route.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/3D_shipping_route_wave_model.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/4D_flight_path.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/country_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/cyclic_route_around_earth.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/Shipping-Lanes-v1.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/Shipping-Lanes-v1.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/World_Countries__Generalized_.shp +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/World_Countries__Generalized_.shx +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/earth_image.jpg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/map_earth_4k.jpg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/mars_req_9km_wind.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/mars_req_levels.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/mars_req_timeseries.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/output4.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/output4.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/output8.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/output8.req +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/temp_model_levels.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/timeseries_t2m.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/winds.grib +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/healpix_grid_box_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/octahedral_grid_box_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/octahedral_grid_country_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/plotting_country_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/read_me_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/requirements_examples.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/slicing_all_ecmwf_countries.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/timeseries_example.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/examples/wind_farms.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/mkdocs.yml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/fdb_performance.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/fdb_performance_3D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/fdb_scalability_plot.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/fdb_slice_many_numbers_timeseries.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/performance_many_num_steps.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/plotting_scalability.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/scalability_test.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance/scalability_test_2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance_unstructured/octahedral_vs_unstructured_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/performance_unstructured/plot_structured_vs_unstructured_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/catalogue_helper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/datacube.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/mock.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/datacube_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/index_tree.proto +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/index_tree_pb2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/quadtree/quad_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/quadtree/quadtree_additional_operations.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/switching_grid_helper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/tensor_index_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_cyclic/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_cyclic/datacube_cyclic.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/datacube_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/healpix_nested.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/icon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/lambert_conformal.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/irregular_mapper_types/unstructured.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/local_regular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/octahedral.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_gaussian.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/reduced_ll.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_mappers/mapper_types/regular.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_merger/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_merger/datacube_merger.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_reverse/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_reverse/datacube_reverse.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_transformations.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_type_change/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/transformations/datacube_type_change/datacube_type_change.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/tree_encoding.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/hullslicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/optimised_point_in_polygon_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/optimised_quadtree_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/point_in_polygon_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/slicing_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/options.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/polytope.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/shapes.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/__init__.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/combinatorics.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/engine_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/exceptions.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/geometry.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/list_tools.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/utility/profiling.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_python.egg-info/SOURCES.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_python.egg-info/dependency_links.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_python.egg-info/requires.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_python.egg-info/top_level.txt +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/pyproject.toml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/Cargo.toml +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/distance.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/healpix_nested.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/lambert_conformal.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/lib.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/list_tools.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/octahedral.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/point_in_polygon.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/quadtree_mod.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/rust/src/slicing_tools.rs +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/setup.cfg +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/setup.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/conftest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/fdb_data/schema +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/helper_functions.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/profiled_quadtree.profile +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/quadtree_slicer_profiler.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_axis_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_bad_request_error.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_combinatorics.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_axis_over_negative_vals.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_axis_slicer_not_0.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_axis_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_nearest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_simple.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_cyclic_snapping.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_datacube_axes_init.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_datacube_mock.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_datacube_xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_date_time_unmerged.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_ecmwf_oper_data_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_engine_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_fdb_datacube.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_fdb_unmap_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_float_type.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_healpix_mapper.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_healpix_nested_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_hull_slicer.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_hullslicer_engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_icon_grid_unstructured.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_icon_grid_unstructured_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_incomplete_tree_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_lambert_lam_grid_unstructured_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_lambert_lam_grid_unstructured_fdb_optimised_quadtree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_local_grid_cyclic.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_local_regular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_local_swiss_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_mappers.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_merge_cyclic_octahedral.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_merge_octahedral_one_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_merge_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_multiple_param_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_octahedral_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_orca_irregular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_orca_irregular_grid_optimised_point_in_polygon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_orca_irregular_grid_point_in_polygon.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_override_md5_hash_options.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_point_nearest.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_point_shape.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_point_union.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_polytope_extract.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_polytope_extract_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_profiling_requesttree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_quad_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_quadtree_edge_cases.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_quadtree_indices.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_quadtree_optimisation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_reduced_ll_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_regular_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_regular_reduced_grid.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_request_tree.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_request_trees_after_slicing.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_reverse_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_shapes.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_shapes_volume.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slice_date_range_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slice_date_range_fdb_v2.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slice_fdb_box.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicer_engine.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicer_era5.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicer_xarray.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicing_unsliceable_axis.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicing_xarray_3D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_slicing_xarray_4D.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_snapping.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_snapping_real_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_tree_protobuf.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_tree_protobuf_encoding.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_tree_protobuf_encoding_fdb.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_type_change_transformation.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_union_gj.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_union_point_box.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tests/test_wave_spectra_data.py +0 -0
- {polytope_python-2.1.8 → polytope_python-2.1.9}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polytope-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.9
|
|
4
4
|
Summary: Polytope datacube feature extraction library
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
Maintainer-email: James Hawkes <James.Hawkes@ecmwf.int>, Mathilde Leuridan <Mathilde.Leuridan@ecmwf.int>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Do not change! Do not track in version control!
|
|
2
|
-
__version__ = "2.1.
|
|
2
|
+
__version__ = "2.1.9"
|
|
@@ -19,6 +19,7 @@ class QuadTreeSlicer(Engine):
|
|
|
19
19
|
# TODO: maybe we create the quadtree as soon as we have an unstructured slicer type and return it
|
|
20
20
|
# to the slicer somehow?
|
|
21
21
|
quad_tree = QuadTree()
|
|
22
|
+
# NOTE: the points here are assumed to be lat/lon implicitly
|
|
22
23
|
points = [tuple(point) for point in points]
|
|
23
24
|
quad_tree.build_point_tree(points)
|
|
24
25
|
self.points = points
|
|
@@ -27,17 +28,29 @@ class QuadTreeSlicer(Engine):
|
|
|
27
28
|
def extract_single(self, datacube, polytope):
|
|
28
29
|
# extract a single polygon
|
|
29
30
|
# if need to find nearest points, then take alternative slicing method using quadtree to find nearest point
|
|
31
|
+
axes = polytope.axes()
|
|
32
|
+
assert len(axes) == 2
|
|
33
|
+
assert "latitude" in axes and "longitude" in axes
|
|
34
|
+
revert_axes = not (list(axes) == ["latitude", "longitude"])
|
|
30
35
|
if use_rust:
|
|
31
36
|
if len(datacube.nearest_search) == 0:
|
|
32
|
-
|
|
37
|
+
if revert_axes:
|
|
38
|
+
polytope_points = [tuple(reversed(point)) for point in polytope.points]
|
|
39
|
+
else:
|
|
40
|
+
polytope_points = [tuple(point) for point in polytope.points]
|
|
33
41
|
polygon_points = self.quad_tree.query_polygon(self.points, 0, polytope_points)
|
|
34
42
|
else:
|
|
35
43
|
k = datacube.nearest_search[tuple(polytope.axes())][1]
|
|
36
|
-
|
|
44
|
+
if revert_axes:
|
|
45
|
+
nn_points = [tuple(reversed(pt)) for pt in datacube.nearest_search[tuple(polytope.axes())][0]]
|
|
46
|
+
else:
|
|
47
|
+
nn_points = [tuple(pt) for pt in datacube.nearest_search[tuple(polytope.axes())][0]]
|
|
37
48
|
polygon_points = []
|
|
38
49
|
for nn_pt in nn_points:
|
|
39
50
|
polygon_points.extend(self.quad_tree.k_nearest_neighbor(nn_pt, k, self.points))
|
|
40
51
|
else:
|
|
52
|
+
if revert_axes:
|
|
53
|
+
polytope.points = [tuple(reversed(point)) for point in polytope.points]
|
|
41
54
|
polygon_points = self.quad_tree.query_polygon(polytope)
|
|
42
55
|
return polygon_points
|
|
43
56
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: polytope-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.9
|
|
4
4
|
Summary: Polytope datacube feature extraction library
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
Maintainer-email: James Hawkes <James.Hawkes@ecmwf.int>, Mathilde Leuridan <Mathilde.Leuridan@ecmwf.int>
|
|
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-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Developer_Guide/Axis_types.md
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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/Overview/Polytope_at_ECMWF.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Building_Features.md
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Algorithm/User_Guide/Getting_started.md
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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/boundingbox_example.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/climate_dt_example.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/extremes_dt_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/on-demand_dt_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/opendata_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/operational_example.ipynb
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/position_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/timeseries_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/trajectory_example.ipynb
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/docs/Service/Examples/vertical_profile_example.ipynb
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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shp
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/EMODnet_HA_WindFarms_pg_20220324.shx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/World_Countries__Generalized_.shp
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/examples/data/World_Countries__Generalized_.shx
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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/performance/fdb_slice_many_numbers_timeseries.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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/datacube.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/backends/xarray.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/quadtree/quad_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/datacube/switching_grid_helper.py
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/optimised_quadtree_slicer.py
RENAMED
|
File without changes
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/polytope_feature/engine/point_in_polygon_slicer.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
|
{polytope_python-2.1.8 → polytope_python-2.1.9}/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
|
|
File without changes
|