webviz-subsurface 0.2.36__tar.gz → 0.2.37__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.
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/PKG-INFO +2 -2
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/setup.py +1 -1
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/__init__.py +1 -1
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/color_picker.py +1 -1
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/__init__.py +3 -0
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/_polygon_discovery.py +97 -0
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/_provider_impl_file.py +226 -0
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/ensemble_polygon_provider.py +53 -0
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/ensemble_polygon_provider_factory.py +99 -0
- webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/polygon_server.py +125 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_plugin.py +764 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/_misc.py +9 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/callbacks.py +169 -173
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/co2volume.py +329 -84
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/containment_data_provider.py +147 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/ensemble_well_picks.py +105 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/generic.py +240 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/initialization.py +272 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/polygon_handler.py +60 -0
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/summary_graphs.py +142 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/surface_publishing.py +29 -21
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/unsmry_data_provider.py +108 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/views/mainview/mainview.py +30 -18
- webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/views/mainview/settings.py +1478 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/PKG-INFO +2 -2
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/SOURCES.txt +12 -1
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/requires.txt +1 -1
- webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_plugin.py +0 -610
- webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/generic.py +0 -72
- webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/initialization.py +0 -179
- webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/summary_graphs.py +0 -238
- webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/views/mainview/settings.py +0 -1016
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.github/pull_request_template.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.github/workflows/subsurface.yml +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.gitignore +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.isort.cfg +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/.pylintrc +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/CHANGELOG.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/LICENSE +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/LICENSE.chromedriver +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/README.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/SECURITY.md +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/bandit.yml +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/deploy_docker_image.sh +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/mypy.ini +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/pytest.ini +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/setup.cfg +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/conftest.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/colormap.txt +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/gruptree.csv +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/parameters.csv +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/realizations.csv +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/surface_png.txt +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/surface_zarr.np.gz +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/vfp.arrow +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/data/volumes.csv +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/integration_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/integration_tests/test_parameter_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/integration_tests/test_surface_selector.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/abbreviations_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/abbreviations_tests/test_reservoir_simulation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/data_input/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/data_input/test_calc_from_cumulatives.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/data_input/test_image_processing.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/mocks/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/mocks/ensemble_summary_provider_dummy.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_ensemble_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_ensemble_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_gruptree_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_property_statistics_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_surface_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_well_attributes_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/model_tests/test_well_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_grouptree.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/mocks/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/mocks/derived_vectors_accessor_ensemble_summary_provider_mock.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_create_vector_traces_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_dataframe_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_datetime_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_delta_ensemble_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_delta_ensemble_vectors_accessor_impl.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_ensemble_vectors_accessor_impl.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_ensemble_vectors_accessor_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_vector_accessor.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_ensemble_summary_provider_set_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_from_timeseries_cumulatives.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_history_vectors.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_trace_line_shape.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_vector_statistics.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_tornado_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/plugin_tests/test_well_completions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/test_ensemble_summary_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_impl_arrow_lazy.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_impl_arrow_presampled.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_resampling.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/provider_tests/test_ensemble_table_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_dataframe_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/mocks/ensemble_summary_provider_mock.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/test_ensemble_summary_provider_set.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_formatting.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/tests/unit_tests/utils_tests/test_simulation_timeseries.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/abbreviation_data/reservoir_simulation_unit_terminology.json +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/abbreviation_data/si_prefixes.json +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/abbreviation_data/volume_terminology.json +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/number_formatting.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/reservoir_simulation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_abbreviations/volume_terminology.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/css/block_options.css +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/css/container.css +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/css/inplace_volumes.css +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/css/modal.css +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/css/structural_uncertainty.css +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_assets/js/clientside_functions.js +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/parameter_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/tornado/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/tornado/_tornado_bar_chart.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/tornado/_tornado_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/tornado/_tornado_table.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/tornado/tornado_widget.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_init_io/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_init_io/pvt_common.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_init_io/pvt_gas.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_init_io/pvt_oil.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_init_io/pvt_water.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/eclipse_unit.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/fmu_input.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/from_timeseries_cumulatives.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/grid.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/history_match.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/image_processing.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/inplace_volumes.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/pvt_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/relative_permeability.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/seismic.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/surface.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/units.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/well.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/well_completions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_datainput/xsection.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_figures/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_figures/barchart.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_figures/px_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_figures/scatterplot.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_figures/timeseries_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/caching_ensemble_set_model_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/ensemble_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/ensemble_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/gruptree_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/inplace_volumes_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/observation_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/parameter_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/stratigraphy_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/surface_leaflet_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/surface_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/well_attributes_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_models/well_set_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_private_plugins/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_private_plugins/surface_selector.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/_fault_polygons_discovery.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/_provider_impl_file.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/ensemble_fault_polygons_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/ensemble_fault_polygons_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/fault_polygons_server.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/_egrid_file_discovery.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/_roff_file_discovery.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/_xtgeo_to_vtk_explicit_structured_grid.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/ensemble_grid_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/ensemble_grid_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/grid_viz_service.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/provider_impl_egrid.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_grid_provider/provider_impl_roff.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_arrow_unsmry_import.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_csv_import.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_dataframe_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_field_metadata.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_provider_impl_arrow_lazy.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_provider_impl_arrow_presampled.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_resampling.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/_table_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/dev_compare_fmu_to_lazy_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/dev_provider_perf_testing.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/ensemble_summary_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/ensemble_summary_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_summary_provider/utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_provider_impl_file.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_stat_surf_cache.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_discovery.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_to_float32_array.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_to_image.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/dev_experiments.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/dev_surface_server_lazy.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/ensemble_surface_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/ensemble_surface_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/surface_array_server.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_surface_provider/surface_image_server.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/_field_metadata.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/_table_import.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider_impl_arrow.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/_provider_impl_file.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/dev_experiments.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/well_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/well_provider_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_providers/well_provider/well_server.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/colors.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/dataframe_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/ensemble_summary_provider_set.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/ensemble_summary_provider_set_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/ensemble_table_provider_set.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/ensemble_table_provider_set_factory.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/enum_shim.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/fanchart_plotting.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/formatting.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/parameter_response.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/perf_timer.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/simulation_timeseries.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/statistics_plotting.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/unique_theming.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/user_defined_vector_definitions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/vector_calculator.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/vector_selector.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_utils/webvizstore_functions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_assisted_history_matching_analysis.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/_plugin_ids.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/shared_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/shared_settings/_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/view_elements/_graph.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/views/_bar_chart.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/views/_fan_chart.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/views/_line_chart.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_bhp_qc/views/_view_functions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_error.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/color_tables.py +0 -0
- /webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/fault_polygons.py → /webviz_subsurface-0.2.37/webviz_subsurface/plugins/_co2_leakage/_utilities/fault_polygons_handler.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/_utilities/plume_extent.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_co2_leakage/views/mainview/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_disk_usage.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/_layout_elements.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/_routes.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/_view_3d.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_color_scale.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_data_selection.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_grid_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/view_elements/_vtk_view_3d_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_utils/_ensemble_group_tree_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_history_match.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/_huv_table.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/_huv_xsection.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/horizon_uncertainty_viewer.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_inplace_volumes.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_inplace_volumes_onebyone.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/build_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/update_figure_clientside.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/figures/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/figures/plotly_line_plot.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/line_plotter_fmu.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/views/data_selectors_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/views/plot_options_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_line_plotter_fmu/views/plot_traces_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/_layer_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/_tmp_well_pick_provider.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/callbacks.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/color_tables.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_map_viewer_fmu/map_viewer_fmu.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_morris_plot.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_utils/_datetime_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_utils/_parameters_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_utils/_provider_timesseries_datamodel.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_ensembles.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_parameters.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_visualization_type.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_options.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_parameter_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_selections.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_vizualisation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_utils/_color_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/_error.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/_plugin_ids.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/_parameter_plot.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/settings/_parameter_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_distribution.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_parallel_coordinates.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_parameter_response_correlation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/_plugin_ids.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/shared_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/shared_settings/_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/utils/make_dataframes.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/utils/make_figures.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/view_elements/_graph.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/views/_production_misfit_per_real.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/views/_view_functions.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/views/_well_production_coverage.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_prod_misfit/views/_well_production_heatmap.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/controllers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/controllers/property_delta_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/controllers/property_qc_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/controllers/property_response_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/data_loaders/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/figures/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/figures/correlation_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/models/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/models/ensemble_timeseries_datamodel.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/models/property_statistics_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/models/simulation_timeseries_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/property_statistics.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/utils/colors.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/utils/surface.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/main_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/property_delta_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/property_qc_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/property_response_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_property_statistics/views/selector_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/_data_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/_view_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_utils/_plot_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_relative_permeability.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_reservoir_simulation_timeseries.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_reservoir_simulation_timeseries_onebyone.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_reservoir_simulation_timeseries_regional.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_reusable_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_reusable_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_utils/_formation_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_utils/_rft_plotter_data_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/_formation_plot_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/_map_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_utils/_map_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_utils/_misfit_per_real_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_options.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_parameter_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_selections.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_table_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_ensembles.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_plot_type.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_size_color_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/_crossplot_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/_errorplot_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_running_time_analysis_fmu.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_segy_viewer.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_seismic_misfit.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/ensemble_subplot_builder.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/graph_figure_builder_base.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/vector_subplot_builder.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_ensembles.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_filter_realization.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_group_by.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_resampling_frequency.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_time_series.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_visualization.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_types/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_types/types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/create_vector_traces_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/dataframe_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/datetime_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/delta_ensemble_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_ensemble_vectors_accessor_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_delta_ensemble_vectors_accessor_impl.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_ensemble_vectors_accessor_impl.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_vectors_accessor.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/ensemble_summary_provider_set_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/from_timeseries_cumulatives.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/history_vectors.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/trace_line_shape.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/vector_statistics.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view_elements/_subplot_graph.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_datetime_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_onebyone_timeseries_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_simulation_time_series_onebyone_datamodel.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_general_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_selections.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_sensitivity_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_vizualisation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/_bottom_visualization_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/_general_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/_tour_steps.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/dialog_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/intersection_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/intersection_source_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/map_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/realization_filter_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/controllers/uncertainty_table_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/figures/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/figures/intersection.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/structural_uncertainty.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/clientside_stores.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/dialog.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/intersection_and_map.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/intersection_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/map_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/realization_filter.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_structural_uncertainty/views/uncertainty_table.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_subsurface_map.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_surface_viewer_fmu.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_surface_with_grid_cross_section.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_surface_with_seismic_cross_section.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_business_logic.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_callbacks.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_figures.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_markdown.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_swatinit_qc/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/_error.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_filters.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_selectors.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_view_settings.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/_plot_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/view_elements/plot.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/_table_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/view_elements/table.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_utils/_vfp_data_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_filters.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_pressure_option.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_selections.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_vizualisation.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_utils/_vfp_figure_builder.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view_elements/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view_elements/_vfp_graph.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/comparison_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/distribution_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/export_data_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/fipfile_qc_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/layout_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/selections_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/controllers/tornado_controllers.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/utils/table_and_figure_utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/utils/utils.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/clientside_stores.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/comparison_layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/distribution_main_layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/filter_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/fipfile_qc_layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/main_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/selections_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/views/tornado_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/volume_validator_and_combinator.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_volumetric_analysis/volumetric_analysis.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_types.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_utils/_ensemble_well_analysis_data.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_utils/_well_control_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_chart_type.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_filters.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_layout_options.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_selections.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_statistical_options.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_utils/_well_overview_figure.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_utils/_well_completion_data_model.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_views/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/_view.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/_view_element.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completions/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completions/_business_logic.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completions/_callbacks.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completions/_layout.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_completions/_plugin.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_cross_section.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_cross_section_fmu.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/_validate_log_templates.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/controllers/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/controllers/_well_controller.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/utils/__init__.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/utils/default_color_tables.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/utils/xtgeo_well_log_to_json.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/plugins/_well_log_viewer/well_log_viewer.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/smry2arrow_batch.py +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/dependency_links.txt +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/entry_points.txt +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/not-zip-safe +0 -0
- {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: webviz-subsurface
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.37
|
|
4
4
|
Summary: Webviz config plugins for subsurface data
|
|
5
5
|
Home-page: https://github.com/equinor/webviz-subsurface
|
|
6
6
|
Author: R&T Equinor
|
|
@@ -22,7 +22,7 @@ Requires-Python: ~=3.8
|
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
License-File: LICENSE.chromedriver
|
|
25
|
-
Requires-Dist: dash
|
|
25
|
+
Requires-Dist: dash<3,>=2.0.0
|
|
26
26
|
Requires-Dist: dash_bootstrap_components>=0.10.3
|
|
27
27
|
Requires-Dist: dash-daq>=0.5.0
|
|
28
28
|
Requires-Dist: defusedxml>=0.6.0
|
|
@@ -5,7 +5,7 @@ from typing import Dict, Optional
|
|
|
5
5
|
import jsonschema
|
|
6
6
|
import webviz_config
|
|
7
7
|
import yaml
|
|
8
|
-
from pkg_resources import DistributionNotFound, get_distribution
|
|
8
|
+
from pkg_resources import DistributionNotFound, get_distribution # type: ignore
|
|
9
9
|
|
|
10
10
|
from webviz_subsurface._utils.user_defined_vector_definitions import (
|
|
11
11
|
USER_DEFINED_VECTOR_DEFINITIONS_JSON_SCHEMA,
|
{webviz_subsurface-0.2.36 → webviz_subsurface-0.2.37}/webviz_subsurface/_components/color_picker.py
RENAMED
|
@@ -171,7 +171,7 @@ class ColorPicker:
|
|
|
171
171
|
if not cell:
|
|
172
172
|
raise PreventUpdate
|
|
173
173
|
row_no = cell["row"]
|
|
174
|
-
return dash_daq.ColorPicker(
|
|
174
|
+
return dash_daq.ColorPicker(
|
|
175
175
|
{"id": self._uuid, "element": "picker"},
|
|
176
176
|
label=f"Color for {[col for col in self._dframe.iloc[row_no] if col != 'COLOR']}",
|
|
177
177
|
value={"hex": current_color_store[row_no]},
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import glob
|
|
2
|
+
import os
|
|
3
|
+
import re
|
|
4
|
+
from dataclasses import dataclass
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Dict, List, Optional
|
|
7
|
+
|
|
8
|
+
# The fmu.ensemble dependency resdata is only available for Linux,
|
|
9
|
+
# hence, ignore any import exception here to make
|
|
10
|
+
# it still possible to use the PvtPlugin on
|
|
11
|
+
# machines with other OSes.
|
|
12
|
+
#
|
|
13
|
+
# NOTE: Functions in this file cannot be used
|
|
14
|
+
# on non-Linux OSes.
|
|
15
|
+
try:
|
|
16
|
+
from fmu.ensemble import ScratchEnsemble
|
|
17
|
+
except ImportError:
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass(frozen=True)
|
|
22
|
+
class PolygonsFileInfo:
|
|
23
|
+
path: str
|
|
24
|
+
real: int
|
|
25
|
+
name: str
|
|
26
|
+
attribute: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _discover_ensemble_realizations_fmu(ens_path: str) -> Dict[int, str]:
|
|
30
|
+
"""Returns dict indexed by realization number and with runpath as value"""
|
|
31
|
+
scratch_ensemble = ScratchEnsemble("dummyEnsembleName", paths=ens_path).filter("OK")
|
|
32
|
+
real_dict = {i: r.runpath() for i, r in scratch_ensemble.realizations.items()}
|
|
33
|
+
return real_dict
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _discover_ensemble_realizations(ens_path: str) -> Dict[int, str]:
|
|
37
|
+
# Much faster than FMU impl above, but is it risky?
|
|
38
|
+
# Do we need to check for OK-file?
|
|
39
|
+
real_dict: Dict[int, str] = {}
|
|
40
|
+
|
|
41
|
+
realidxregexp = re.compile(r"realization-(\d+)")
|
|
42
|
+
globbed_real_dirs = sorted(glob.glob(str(ens_path)))
|
|
43
|
+
for real_dir in globbed_real_dirs:
|
|
44
|
+
realnum: Optional[int] = None
|
|
45
|
+
for path_comp in reversed(real_dir.split(os.path.sep)):
|
|
46
|
+
realmatch = re.match(realidxregexp, path_comp)
|
|
47
|
+
if realmatch:
|
|
48
|
+
realnum = int(realmatch.group(1))
|
|
49
|
+
break
|
|
50
|
+
|
|
51
|
+
if realnum is not None:
|
|
52
|
+
real_dict[realnum] = real_dir
|
|
53
|
+
|
|
54
|
+
return real_dict
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@dataclass(frozen=True)
|
|
58
|
+
class PolygonsIdent:
|
|
59
|
+
name: str
|
|
60
|
+
attribute: str
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def _polygons_ident_from_filename(filename: str) -> Optional[PolygonsIdent]:
|
|
64
|
+
"""Split the stem part of the fault polygons filename into fault polygons name and attribute"""
|
|
65
|
+
delimiter: str = "--"
|
|
66
|
+
parts = Path(filename).stem.split(delimiter)
|
|
67
|
+
if len(parts) != 2:
|
|
68
|
+
return None
|
|
69
|
+
|
|
70
|
+
return PolygonsIdent(name=parts[0], attribute=parts[1])
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def discover_per_realization_polygons_files(
|
|
74
|
+
ens_path: str,
|
|
75
|
+
polygons_pattern: str,
|
|
76
|
+
) -> List[PolygonsFileInfo]:
|
|
77
|
+
polygons_files: List[PolygonsFileInfo] = []
|
|
78
|
+
|
|
79
|
+
real_dict = _discover_ensemble_realizations_fmu(ens_path)
|
|
80
|
+
for realnum, runpath in sorted(real_dict.items()):
|
|
81
|
+
if Path(polygons_pattern).is_absolute():
|
|
82
|
+
filenames = [polygons_pattern]
|
|
83
|
+
else:
|
|
84
|
+
filenames = glob.glob(str(Path(runpath) / polygons_pattern))
|
|
85
|
+
for polygons_filename in sorted(filenames):
|
|
86
|
+
polygons_ident = _polygons_ident_from_filename(polygons_filename)
|
|
87
|
+
if polygons_ident:
|
|
88
|
+
polygons_files.append(
|
|
89
|
+
PolygonsFileInfo(
|
|
90
|
+
path=polygons_filename,
|
|
91
|
+
real=realnum,
|
|
92
|
+
name=polygons_ident.name,
|
|
93
|
+
attribute=polygons_ident.attribute,
|
|
94
|
+
)
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
return polygons_files
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import shutil
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from typing import List, Optional
|
|
5
|
+
|
|
6
|
+
import pandas as pd
|
|
7
|
+
import xtgeo
|
|
8
|
+
|
|
9
|
+
from webviz_subsurface._utils.enum_shim import StrEnum
|
|
10
|
+
from webviz_subsurface._utils.perf_timer import PerfTimer
|
|
11
|
+
|
|
12
|
+
from ._polygon_discovery import PolygonsFileInfo
|
|
13
|
+
from .ensemble_polygon_provider import (
|
|
14
|
+
EnsemblePolygonProvider,
|
|
15
|
+
PolygonsAddress,
|
|
16
|
+
SimulatedPolygonsAddress,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
LOGGER = logging.getLogger(__name__)
|
|
20
|
+
|
|
21
|
+
REL_SIM_DIR = "sim"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# pylint: disable=too-few-public-methods
|
|
25
|
+
class Col:
|
|
26
|
+
TYPE = "type"
|
|
27
|
+
REAL = "real"
|
|
28
|
+
ATTRIBUTE = "attribute"
|
|
29
|
+
NAME = "name"
|
|
30
|
+
ORIGINAL_PATH = "original_path"
|
|
31
|
+
REL_PATH = "rel_path"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class PolygonType(StrEnum):
|
|
35
|
+
SIMULATED = "simulated"
|
|
36
|
+
HAZARDUOUS_BOUNDARY = "hazarduous_boundary"
|
|
37
|
+
CONTAINMENT_BOUNDARY = "containment_boundary"
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ProviderImplFile(EnsemblePolygonProvider):
|
|
41
|
+
def __init__(
|
|
42
|
+
self,
|
|
43
|
+
provider_id: str,
|
|
44
|
+
provider_dir: Path,
|
|
45
|
+
polygon_inventory_df: pd.DataFrame,
|
|
46
|
+
) -> None:
|
|
47
|
+
self._provider_id = provider_id
|
|
48
|
+
self._provider_dir = provider_dir
|
|
49
|
+
self._inventory_df = polygon_inventory_df
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
# pylint: disable=too-many-locals
|
|
53
|
+
def write_backing_store(
|
|
54
|
+
storage_dir: Path,
|
|
55
|
+
storage_key: str,
|
|
56
|
+
sim_polygons: List[PolygonsFileInfo],
|
|
57
|
+
) -> None:
|
|
58
|
+
timer = PerfTimer()
|
|
59
|
+
|
|
60
|
+
# All data for this provider will be stored inside a sub-directory
|
|
61
|
+
# given by the storage key
|
|
62
|
+
provider_dir = storage_dir / storage_key
|
|
63
|
+
LOGGER.debug(f"Writing polygon backing store to: {provider_dir}")
|
|
64
|
+
provider_dir.mkdir(parents=True, exist_ok=True)
|
|
65
|
+
(provider_dir / REL_SIM_DIR).mkdir(parents=True, exist_ok=True)
|
|
66
|
+
|
|
67
|
+
type_arr: List[PolygonType] = []
|
|
68
|
+
real_arr: List[int] = []
|
|
69
|
+
attribute_arr: List[str] = []
|
|
70
|
+
name_arr: List[str] = []
|
|
71
|
+
rel_path_arr: List[str] = []
|
|
72
|
+
original_path_arr: List[str] = []
|
|
73
|
+
|
|
74
|
+
for polygon_info in sim_polygons:
|
|
75
|
+
rel_path_in_store = _compose_rel_sim_polygons_path(
|
|
76
|
+
real=polygon_info.real,
|
|
77
|
+
attribute=polygon_info.attribute,
|
|
78
|
+
name=polygon_info.name,
|
|
79
|
+
extension=Path(polygon_info.path).suffix,
|
|
80
|
+
)
|
|
81
|
+
type_arr.append(PolygonType.SIMULATED)
|
|
82
|
+
real_arr.append(polygon_info.real)
|
|
83
|
+
attribute_arr.append(polygon_info.attribute)
|
|
84
|
+
name_arr.append(polygon_info.name)
|
|
85
|
+
rel_path_arr.append(str(rel_path_in_store))
|
|
86
|
+
original_path_arr.append(polygon_info.path)
|
|
87
|
+
|
|
88
|
+
LOGGER.debug(f"Copying {len(original_path_arr)} polygons into backing store...")
|
|
89
|
+
timer.lap_s()
|
|
90
|
+
_copy_polygons_into_provider_dir(original_path_arr, rel_path_arr, provider_dir)
|
|
91
|
+
et_copy_s = timer.lap_s()
|
|
92
|
+
|
|
93
|
+
polygons_inventory_df = pd.DataFrame(
|
|
94
|
+
{
|
|
95
|
+
Col.TYPE: type_arr,
|
|
96
|
+
Col.REAL: real_arr,
|
|
97
|
+
Col.ATTRIBUTE: attribute_arr,
|
|
98
|
+
Col.NAME: name_arr,
|
|
99
|
+
Col.REL_PATH: rel_path_arr,
|
|
100
|
+
Col.ORIGINAL_PATH: original_path_arr,
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
parquet_file_name = provider_dir / "polygons_inventory.parquet"
|
|
105
|
+
polygons_inventory_df.to_parquet(path=parquet_file_name)
|
|
106
|
+
|
|
107
|
+
LOGGER.debug(
|
|
108
|
+
f"Wrote polygon backing store in: {timer.elapsed_s():.2f}s ("
|
|
109
|
+
f"copy={et_copy_s:.2f}s)"
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
@staticmethod
|
|
113
|
+
def from_backing_store(
|
|
114
|
+
storage_dir: Path,
|
|
115
|
+
storage_key: str,
|
|
116
|
+
) -> Optional["ProviderImplFile"]:
|
|
117
|
+
provider_dir = storage_dir / storage_key
|
|
118
|
+
parquet_file_name = provider_dir / "polygons_inventory.parquet"
|
|
119
|
+
|
|
120
|
+
try:
|
|
121
|
+
polygons_inventory_df = pd.read_parquet(path=parquet_file_name)
|
|
122
|
+
return ProviderImplFile(storage_key, provider_dir, polygons_inventory_df)
|
|
123
|
+
except FileNotFoundError:
|
|
124
|
+
return None
|
|
125
|
+
|
|
126
|
+
def provider_id(self) -> str:
|
|
127
|
+
return self._provider_id
|
|
128
|
+
|
|
129
|
+
def attributes(self) -> List[str]:
|
|
130
|
+
return sorted(list(self._inventory_df[Col.ATTRIBUTE].unique()))
|
|
131
|
+
|
|
132
|
+
def fault_polygons_names_for_attribute(self, polygons_attribute: str) -> List[str]:
|
|
133
|
+
return sorted(
|
|
134
|
+
list(
|
|
135
|
+
self._inventory_df.loc[
|
|
136
|
+
self._inventory_df[Col.ATTRIBUTE] == polygons_attribute
|
|
137
|
+
][Col.NAME].unique()
|
|
138
|
+
)
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
def realizations(self) -> List[int]:
|
|
142
|
+
unique_reals = self._inventory_df[Col.REAL].unique()
|
|
143
|
+
|
|
144
|
+
# Sort and strip out any entries with real == -1
|
|
145
|
+
return sorted([r for r in unique_reals if r >= 0])
|
|
146
|
+
|
|
147
|
+
def get_polygons(
|
|
148
|
+
self,
|
|
149
|
+
address: PolygonsAddress,
|
|
150
|
+
) -> Optional[xtgeo.Polygons]:
|
|
151
|
+
if isinstance(address, SimulatedPolygonsAddress):
|
|
152
|
+
return self._get_simulated_polygons(address)
|
|
153
|
+
|
|
154
|
+
raise TypeError("Unknown type of fault polygons address")
|
|
155
|
+
|
|
156
|
+
def _get_simulated_polygons(
|
|
157
|
+
self, address: SimulatedPolygonsAddress
|
|
158
|
+
) -> Optional[xtgeo.Polygons]:
|
|
159
|
+
"""Returns a Xtgeo fault polygons instance of a single realization fault polygons"""
|
|
160
|
+
|
|
161
|
+
timer = PerfTimer()
|
|
162
|
+
|
|
163
|
+
polygons_fns: List[Path] = self._locate_simulated_polygons(
|
|
164
|
+
attribute=address.attribute,
|
|
165
|
+
name=address.name,
|
|
166
|
+
realizations=[address.realization],
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
if len(polygons_fns) == 0:
|
|
170
|
+
LOGGER.warning(f"No simulated polygons found for {address}")
|
|
171
|
+
return None
|
|
172
|
+
if len(polygons_fns) > 1:
|
|
173
|
+
LOGGER.warning(
|
|
174
|
+
f"Multiple simulated polygonss found for: {address}"
|
|
175
|
+
"Returning first fault polygons."
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
if polygons_fns[0].suffix == ".csv":
|
|
179
|
+
polygons = xtgeo.Polygons(pd.read_csv(polygons_fns[0]))
|
|
180
|
+
else:
|
|
181
|
+
polygons = xtgeo.polygons_from_file(polygons_fns[0])
|
|
182
|
+
|
|
183
|
+
LOGGER.debug(f"Loaded simulated fault polygons in: {timer.elapsed_s():.2f}s")
|
|
184
|
+
|
|
185
|
+
return polygons
|
|
186
|
+
|
|
187
|
+
def _locate_simulated_polygons(
|
|
188
|
+
self, attribute: str, name: str, realizations: List[int]
|
|
189
|
+
) -> List[Path]:
|
|
190
|
+
"""Returns list of file names matching the specified filter criteria"""
|
|
191
|
+
df = self._inventory_df.loc[
|
|
192
|
+
self._inventory_df[Col.TYPE] == PolygonType.SIMULATED
|
|
193
|
+
]
|
|
194
|
+
|
|
195
|
+
df = df.loc[
|
|
196
|
+
(df[Col.ATTRIBUTE] == attribute)
|
|
197
|
+
& (df[Col.NAME] == name)
|
|
198
|
+
& (df[Col.REAL].isin(realizations))
|
|
199
|
+
]
|
|
200
|
+
|
|
201
|
+
return [self._provider_dir / rel_path for rel_path in df[Col.REL_PATH]]
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def _copy_polygons_into_provider_dir(
|
|
205
|
+
original_path_arr: List[str],
|
|
206
|
+
rel_path_arr: List[str],
|
|
207
|
+
provider_dir: Path,
|
|
208
|
+
) -> None:
|
|
209
|
+
for src_path, dst_rel_path in zip(original_path_arr, rel_path_arr):
|
|
210
|
+
# LOGGER.debug(f"copying fault polygons from: {src_path}")
|
|
211
|
+
shutil.copyfile(src_path, provider_dir / dst_rel_path)
|
|
212
|
+
|
|
213
|
+
# full_dst_path_arr = [storage_dir / dst_rel_path for dst_rel_path in store_path_arr]
|
|
214
|
+
# with ProcessPoolExecutor() as executor:
|
|
215
|
+
# executor.map(shutil.copyfile, original_path_arr, full_dst_path_arr)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
def _compose_rel_sim_polygons_path(
|
|
219
|
+
real: int,
|
|
220
|
+
attribute: str,
|
|
221
|
+
name: str,
|
|
222
|
+
extension: str,
|
|
223
|
+
) -> Path:
|
|
224
|
+
"""Compose path to simulated fault polygons file, relative to provider's directory"""
|
|
225
|
+
fname = f"{real}--{name}--{attribute}{extension}"
|
|
226
|
+
return Path(REL_SIM_DIR) / fname
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import abc
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
import xtgeo
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass(frozen=True)
|
|
9
|
+
class SimulatedPolygonsAddress:
|
|
10
|
+
"""Specifies a unique simulated polygon set for a given ensemble realization"""
|
|
11
|
+
|
|
12
|
+
attribute: str
|
|
13
|
+
name: str
|
|
14
|
+
realization: int
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Type aliases used for signature readability
|
|
18
|
+
PolygonsAddress = SimulatedPolygonsAddress
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Class provides data for ensemble surfaces
|
|
22
|
+
class EnsemblePolygonProvider(abc.ABC):
|
|
23
|
+
@abc.abstractmethod
|
|
24
|
+
def provider_id(self) -> str:
|
|
25
|
+
"""Returns string ID of the provider."""
|
|
26
|
+
|
|
27
|
+
@abc.abstractmethod
|
|
28
|
+
def attributes(self) -> List[str]:
|
|
29
|
+
"""Returns list of all available attributes."""
|
|
30
|
+
|
|
31
|
+
@abc.abstractmethod
|
|
32
|
+
def realizations(self) -> List[int]:
|
|
33
|
+
"""Returns list of all available realizations."""
|
|
34
|
+
|
|
35
|
+
@abc.abstractmethod
|
|
36
|
+
def get_polygons(
|
|
37
|
+
self,
|
|
38
|
+
address: PolygonsAddress,
|
|
39
|
+
) -> Optional[xtgeo.Polygons]:
|
|
40
|
+
"""Returns fault polygons for a given fault polygons address"""
|
|
41
|
+
|
|
42
|
+
# @abc.abstractmethod
|
|
43
|
+
# def get_surface_bounds(self, surface: EnsembleSurfaceContext) -> List[float]:
|
|
44
|
+
# """Returns the bounds for a surface [xmin,ymin, xmax,ymax]"""
|
|
45
|
+
|
|
46
|
+
# @abc.abstractmethod
|
|
47
|
+
# def get_surface_value_range(self, surface: EnsembleSurfaceContext) -> List[float]:
|
|
48
|
+
# """Returns the value range for a given surface context [zmin, zmax]"""
|
|
49
|
+
|
|
50
|
+
# @abc.abstractmethod
|
|
51
|
+
# def get_surface_as_rgba(self, surface: EnsembleSurfaceContext) -> io.BytesIO:
|
|
52
|
+
# """Returns surface as a greyscale png RGBA with encoded elevation values
|
|
53
|
+
# in a bytestream"""
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import hashlib
|
|
2
|
+
import logging
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from webviz_config.webviz_factory import WebvizFactory
|
|
7
|
+
from webviz_config.webviz_factory_registry import WEBVIZ_FACTORY_REGISTRY
|
|
8
|
+
from webviz_config.webviz_instance_info import WebvizRunMode
|
|
9
|
+
|
|
10
|
+
from webviz_subsurface._utils.perf_timer import PerfTimer
|
|
11
|
+
|
|
12
|
+
from ._polygon_discovery import discover_per_realization_polygons_files
|
|
13
|
+
from ._provider_impl_file import ProviderImplFile
|
|
14
|
+
from .ensemble_polygon_provider import EnsemblePolygonProvider
|
|
15
|
+
|
|
16
|
+
LOGGER = logging.getLogger(__name__)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class EnsemblePolygonProviderFactory(WebvizFactory):
|
|
20
|
+
def __init__(self, root_storage_folder: Path, allow_storage_writes: bool) -> None:
|
|
21
|
+
self._storage_dir = Path(root_storage_folder) / __name__
|
|
22
|
+
self._allow_storage_writes = allow_storage_writes
|
|
23
|
+
|
|
24
|
+
LOGGER.info(
|
|
25
|
+
f"EnsemblePolygonProviderFactory init: storage_dir={self._storage_dir}"
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
if self._allow_storage_writes:
|
|
29
|
+
os.makedirs(self._storage_dir, exist_ok=True)
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def instance() -> "EnsemblePolygonProviderFactory":
|
|
33
|
+
"""Static method to access the singleton instance of the factory."""
|
|
34
|
+
|
|
35
|
+
factory = WEBVIZ_FACTORY_REGISTRY.get_factory(EnsemblePolygonProviderFactory)
|
|
36
|
+
if not factory:
|
|
37
|
+
app_instance_info = WEBVIZ_FACTORY_REGISTRY.app_instance_info
|
|
38
|
+
storage_folder = app_instance_info.storage_folder
|
|
39
|
+
allow_writes = app_instance_info.run_mode != WebvizRunMode.PORTABLE
|
|
40
|
+
|
|
41
|
+
factory = EnsemblePolygonProviderFactory(storage_folder, allow_writes)
|
|
42
|
+
|
|
43
|
+
# Store the factory object in the global factory registry
|
|
44
|
+
WEBVIZ_FACTORY_REGISTRY.set_factory(EnsemblePolygonProviderFactory, factory)
|
|
45
|
+
|
|
46
|
+
return factory
|
|
47
|
+
|
|
48
|
+
def create_from_ensemble_polygon_files(
|
|
49
|
+
self,
|
|
50
|
+
ens_path: str,
|
|
51
|
+
polygon_path_pattern: str,
|
|
52
|
+
) -> EnsemblePolygonProvider:
|
|
53
|
+
timer = PerfTimer()
|
|
54
|
+
|
|
55
|
+
storage_key = f"ens__{_make_hash_string(ens_path)}"
|
|
56
|
+
provider = ProviderImplFile.from_backing_store(self._storage_dir, storage_key)
|
|
57
|
+
if provider:
|
|
58
|
+
LOGGER.info(
|
|
59
|
+
f"Loaded polygon provider from backing store in {timer.elapsed_s():.2f}s ("
|
|
60
|
+
f"ens_path={ens_path})"
|
|
61
|
+
)
|
|
62
|
+
return provider
|
|
63
|
+
|
|
64
|
+
# We can only import data from data source if storage writes are allowed
|
|
65
|
+
if not self._allow_storage_writes:
|
|
66
|
+
raise ValueError(f"Failed to load polygon provider for {ens_path}")
|
|
67
|
+
|
|
68
|
+
LOGGER.info(f"Importing/copying polygon data for: {ens_path}")
|
|
69
|
+
|
|
70
|
+
timer.lap_s()
|
|
71
|
+
sim_polygons_files = discover_per_realization_polygons_files(
|
|
72
|
+
ens_path,
|
|
73
|
+
polygon_path_pattern,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
et_discover_s = timer.lap_s()
|
|
77
|
+
|
|
78
|
+
ProviderImplFile.write_backing_store(
|
|
79
|
+
self._storage_dir,
|
|
80
|
+
storage_key,
|
|
81
|
+
sim_polygons=sim_polygons_files,
|
|
82
|
+
)
|
|
83
|
+
et_write_s = timer.lap_s()
|
|
84
|
+
|
|
85
|
+
provider = ProviderImplFile.from_backing_store(self._storage_dir, storage_key)
|
|
86
|
+
if not provider:
|
|
87
|
+
raise ValueError(f"Failed to load/create polygon provider for {ens_path}")
|
|
88
|
+
|
|
89
|
+
LOGGER.info(
|
|
90
|
+
f"Saved polygon provider to backing store in {timer.elapsed_s():.2f}s ("
|
|
91
|
+
f"discover={et_discover_s:.2f}s, write={et_write_s:.2f}s, ens_path={ens_path})"
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
return provider
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
def _make_hash_string(string_to_hash: str) -> str:
|
|
98
|
+
# There is no security risk here and chances of collision should be very slim
|
|
99
|
+
return hashlib.md5(string_to_hash.encode()).hexdigest() # nosec
|
webviz_subsurface-0.2.37/webviz_subsurface/_providers/ensemble_polygon_provider/polygon_server.py
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import logging
|
|
3
|
+
from dataclasses import asdict, dataclass
|
|
4
|
+
from typing import Dict, Optional
|
|
5
|
+
from urllib.parse import quote
|
|
6
|
+
|
|
7
|
+
import flask
|
|
8
|
+
import geojson
|
|
9
|
+
import xtgeo
|
|
10
|
+
from dash import Dash
|
|
11
|
+
|
|
12
|
+
from .ensemble_polygon_provider import EnsemblePolygonProvider, PolygonsAddress
|
|
13
|
+
|
|
14
|
+
LOGGER = logging.getLogger(__name__)
|
|
15
|
+
|
|
16
|
+
_ROOT_URL_PATH = "/PolygonServer"
|
|
17
|
+
|
|
18
|
+
_POLYGONS_SERVER_INSTANCE: Optional["PolygonServer"] = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass(frozen=True)
|
|
22
|
+
class QualifiedAddress:
|
|
23
|
+
provider_id: str
|
|
24
|
+
address: PolygonsAddress
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class PolygonServer:
|
|
28
|
+
def __init__(self, app: Dash) -> None:
|
|
29
|
+
self._setup_url_rule(app)
|
|
30
|
+
self._id_to_provider_dict: Dict[str, EnsemblePolygonProvider] = {}
|
|
31
|
+
|
|
32
|
+
@staticmethod
|
|
33
|
+
def instance(app: Dash) -> "PolygonServer":
|
|
34
|
+
# pylint: disable=global-statement
|
|
35
|
+
global _POLYGONS_SERVER_INSTANCE
|
|
36
|
+
if not _POLYGONS_SERVER_INSTANCE:
|
|
37
|
+
LOGGER.debug("Initializing PolygonServer instance")
|
|
38
|
+
_POLYGONS_SERVER_INSTANCE = PolygonServer(app)
|
|
39
|
+
|
|
40
|
+
return _POLYGONS_SERVER_INSTANCE
|
|
41
|
+
|
|
42
|
+
def add_provider(self, provider: EnsemblePolygonProvider) -> None:
|
|
43
|
+
provider_id = provider.provider_id()
|
|
44
|
+
LOGGER.debug(f"Adding provider with id={provider_id}")
|
|
45
|
+
|
|
46
|
+
existing_provider = self._id_to_provider_dict.get(provider_id)
|
|
47
|
+
if existing_provider:
|
|
48
|
+
# Issue a warning if there already is a provider registered with the same
|
|
49
|
+
# id AND if the actual provider instance is different.
|
|
50
|
+
# This should not be a problem, but will happen until the provider factory
|
|
51
|
+
# gets caching.
|
|
52
|
+
if existing_provider is not provider:
|
|
53
|
+
LOGGER.warning(
|
|
54
|
+
f"Provider with id={provider_id} ignored, the id is already present"
|
|
55
|
+
)
|
|
56
|
+
return
|
|
57
|
+
|
|
58
|
+
self._id_to_provider_dict[provider_id] = provider
|
|
59
|
+
|
|
60
|
+
def encode_partial_url(
|
|
61
|
+
self,
|
|
62
|
+
provider_id: str,
|
|
63
|
+
polygons_address: PolygonsAddress,
|
|
64
|
+
) -> str:
|
|
65
|
+
if not provider_id in self._id_to_provider_dict:
|
|
66
|
+
raise ValueError("Could not find provider")
|
|
67
|
+
|
|
68
|
+
url_path: str = (
|
|
69
|
+
f"{_ROOT_URL_PATH}/{quote(provider_id)}"
|
|
70
|
+
f"/{quote(json.dumps(asdict(polygons_address)))}"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
return url_path
|
|
74
|
+
|
|
75
|
+
def _setup_url_rule(self, app: Dash) -> None:
|
|
76
|
+
@app.server.route(_ROOT_URL_PATH + "/<provider_id>/<polygons_address>")
|
|
77
|
+
def _handle_polygons_request(
|
|
78
|
+
provider_id: str,
|
|
79
|
+
polygons_address: str,
|
|
80
|
+
) -> flask.Response:
|
|
81
|
+
LOGGER.debug(
|
|
82
|
+
f"Handling polygons_request: "
|
|
83
|
+
f"full_polygons_address={polygons_address} "
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
polygons_geojson = None
|
|
87
|
+
# try:
|
|
88
|
+
|
|
89
|
+
address = PolygonsAddress(**json.loads(polygons_address))
|
|
90
|
+
provider = self._id_to_provider_dict[provider_id]
|
|
91
|
+
polygons = provider.get_polygons(address)
|
|
92
|
+
if polygons is not None:
|
|
93
|
+
polygons_geojson = _create_polygons_geojson(
|
|
94
|
+
polygons=polygons,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
# except Exception as e:
|
|
98
|
+
# LOGGER.error("Error decoding polygons address")
|
|
99
|
+
# print(e)
|
|
100
|
+
# # flask.abort(404)
|
|
101
|
+
featurecoll = (
|
|
102
|
+
polygons_geojson
|
|
103
|
+
if polygons_geojson is not None
|
|
104
|
+
else {
|
|
105
|
+
"type": "FeatureCollection",
|
|
106
|
+
"features": [],
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
return flask.Response(
|
|
111
|
+
geojson.dumps(featurecoll), mimetype="application/geo+json"
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _create_polygons_geojson(polygons: xtgeo.Polygons) -> Dict:
|
|
116
|
+
feature_arr = []
|
|
117
|
+
prop_style = {"color": [0, 0, 0, 255]}
|
|
118
|
+
for name, polygon in polygons.dataframe.groupby("POLY_ID"):
|
|
119
|
+
coords = [list(zip(polygon.X_UTME, polygon.Y_UTMN))]
|
|
120
|
+
feature = geojson.Feature(
|
|
121
|
+
geometry=geojson.Polygon(coords),
|
|
122
|
+
properties={"name": f"id:{name}", **prop_style},
|
|
123
|
+
)
|
|
124
|
+
feature_arr.append(feature)
|
|
125
|
+
return geojson.FeatureCollection(features=feature_arr)
|