webviz-subsurface 0.2.36__tar.gz → 0.2.38__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.github/workflows/subsurface.yml +1 -4
  2. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/PKG-INFO +2 -2
  3. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/setup.py +1 -1
  4. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/__init__.py +1 -1
  5. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/color_picker.py +1 -1
  6. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/well_completions.py +2 -1
  7. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/__init__.py +3 -0
  8. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/_polygon_discovery.py +97 -0
  9. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/_provider_impl_file.py +226 -0
  10. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/ensemble_polygon_provider.py +53 -0
  11. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/ensemble_polygon_provider_factory.py +99 -0
  12. webviz_subsurface-0.2.38/webviz_subsurface/_providers/ensemble_polygon_provider/polygon_server.py +125 -0
  13. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_plugin.py +577 -293
  14. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_types.py +7 -0
  15. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/_misc.py +9 -0
  16. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_utilities/callbacks.py +226 -186
  17. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/co2volume.py +1083 -0
  18. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/containment_data_provider.py +147 -0
  19. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/containment_info.py +31 -0
  20. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/ensemble_well_picks.py +105 -0
  21. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/generic.py +240 -0
  22. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/initialization.py +281 -0
  23. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/polygon_handler.py +60 -0
  24. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/summary_graphs.py +142 -0
  25. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/surface_publishing.py +239 -0
  26. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/unsmry_data_provider.py +108 -0
  27. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/views/mainview/mainview.py +44 -19
  28. webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/views/mainview/settings.py +1601 -0
  29. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/PKG-INFO +2 -2
  30. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/SOURCES.txt +14 -1
  31. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/requires.txt +1 -1
  32. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/co2volume.py +0 -620
  33. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/generic.py +0 -72
  34. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/initialization.py +0 -179
  35. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/summary_graphs.py +0 -238
  36. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/surface_publishing.py +0 -138
  37. webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/views/mainview/settings.py +0 -1016
  38. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  39. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  40. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  41. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.github/pull_request_template.md +0 -0
  42. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.gitignore +0 -0
  43. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.isort.cfg +0 -0
  44. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/.pylintrc +0 -0
  45. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/CHANGELOG.md +0 -0
  46. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/LICENSE +0 -0
  47. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/LICENSE.chromedriver +0 -0
  48. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/README.md +0 -0
  49. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/SECURITY.md +0 -0
  50. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/bandit.yml +0 -0
  51. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/deploy_docker_image.sh +0 -0
  52. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/mypy.ini +0 -0
  53. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/pytest.ini +0 -0
  54. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/setup.cfg +0 -0
  55. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/__init__.py +0 -0
  56. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/conftest.py +0 -0
  57. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/colormap.txt +0 -0
  58. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/gruptree.csv +0 -0
  59. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/parameters.csv +0 -0
  60. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/realizations.csv +0 -0
  61. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/surface_png.txt +0 -0
  62. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/surface_zarr.np.gz +0 -0
  63. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/vfp.arrow +0 -0
  64. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/data/volumes.csv +0 -0
  65. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/integration_tests/__init__.py +0 -0
  66. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/integration_tests/test_parameter_filter.py +0 -0
  67. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/integration_tests/test_surface_selector.py +0 -0
  68. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/__init__.py +0 -0
  69. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/abbreviations_tests/__init__.py +0 -0
  70. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/abbreviations_tests/test_reservoir_simulation.py +0 -0
  71. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/data_input/__init__.py +0 -0
  72. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/data_input/test_calc_from_cumulatives.py +0 -0
  73. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/data_input/test_image_processing.py +0 -0
  74. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/mocks/__init__.py +0 -0
  75. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/mocks/ensemble_summary_provider_dummy.py +0 -0
  76. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/__init__.py +0 -0
  77. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_ensemble_model.py +0 -0
  78. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_ensemble_set_model.py +0 -0
  79. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_gruptree_model.py +0 -0
  80. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_property_statistics_model.py +0 -0
  81. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_surface_set_model.py +0 -0
  82. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_well_attributes_model.py +0 -0
  83. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/model_tests/test_well_set_model.py +0 -0
  84. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/__init__.py +0 -0
  85. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_grouptree.py +0 -0
  86. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/__init__.py +0 -0
  87. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/mocks/__init__.py +0 -0
  88. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/mocks/derived_vectors_accessor_ensemble_summary_provider_mock.py +0 -0
  89. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/__init__.py +0 -0
  90. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_create_vector_traces_utils.py +0 -0
  91. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_dataframe_utils.py +0 -0
  92. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_datetime_utils.py +0 -0
  93. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_delta_ensemble_utils.py +0 -0
  94. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_delta_ensemble_vectors_accessor_impl.py +0 -0
  95. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_ensemble_vectors_accessor_impl.py +0 -0
  96. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_ensemble_vectors_accessor_utils.py +0 -0
  97. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_derived_vector_accessor.py +0 -0
  98. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_ensemble_summary_provider_set_utils.py +0 -0
  99. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_from_timeseries_cumulatives.py +0 -0
  100. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_history_vectors.py +0 -0
  101. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_trace_line_shape.py +0 -0
  102. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_simulation_time_series/test_utils/test_vector_statistics.py +0 -0
  103. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_tornado_data.py +0 -0
  104. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/plugin_tests/test_well_completions.py +0 -0
  105. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/__init__.py +0 -0
  106. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/test_ensemble_summary_provider.py +0 -0
  107. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_impl_arrow_lazy.py +0 -0
  108. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_impl_arrow_presampled.py +0 -0
  109. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/test_ensemble_summary_provider_resampling.py +0 -0
  110. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/provider_tests/test_ensemble_table_provider.py +0 -0
  111. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/__init__.py +0 -0
  112. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_dataframe_utils.py +0 -0
  113. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/__init__.py +0 -0
  114. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/mocks/ensemble_summary_provider_mock.py +0 -0
  115. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_ensemble_summary_provider_set/test_ensemble_summary_provider_set.py +0 -0
  116. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_formatting.py +0 -0
  117. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/tests/unit_tests/utils_tests/test_simulation_timeseries.py +0 -0
  118. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/__init__.py +0 -0
  119. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/abbreviation_data/reservoir_simulation_unit_terminology.json +0 -0
  120. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/abbreviation_data/si_prefixes.json +0 -0
  121. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/abbreviation_data/volume_terminology.json +0 -0
  122. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/number_formatting.py +0 -0
  123. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/reservoir_simulation.py +0 -0
  124. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_abbreviations/volume_terminology.py +0 -0
  125. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/css/block_options.css +0 -0
  126. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/css/container.css +0 -0
  127. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/css/inplace_volumes.css +0 -0
  128. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/css/modal.css +0 -0
  129. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/css/structural_uncertainty.css +0 -0
  130. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_assets/js/clientside_functions.js +0 -0
  131. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/__init__.py +0 -0
  132. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/parameter_filter.py +0 -0
  133. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/tornado/__init__.py +0 -0
  134. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/tornado/_tornado_bar_chart.py +0 -0
  135. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/tornado/_tornado_data.py +0 -0
  136. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/tornado/_tornado_table.py +0 -0
  137. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_components/tornado/tornado_widget.py +0 -0
  138. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/__init__.py +0 -0
  139. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_init_io/__init__.py +0 -0
  140. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_init_io/pvt_common.py +0 -0
  141. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_init_io/pvt_gas.py +0 -0
  142. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_init_io/pvt_oil.py +0 -0
  143. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_init_io/pvt_water.py +0 -0
  144. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/eclipse_unit.py +0 -0
  145. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/fmu_input.py +0 -0
  146. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/from_timeseries_cumulatives.py +0 -0
  147. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/grid.py +0 -0
  148. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/history_match.py +0 -0
  149. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/image_processing.py +0 -0
  150. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/inplace_volumes.py +0 -0
  151. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/pvt_data.py +0 -0
  152. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/relative_permeability.py +0 -0
  153. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/seismic.py +0 -0
  154. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/surface.py +0 -0
  155. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/units.py +0 -0
  156. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/well.py +0 -0
  157. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_datainput/xsection.py +0 -0
  158. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_figures/__init__.py +0 -0
  159. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_figures/barchart.py +0 -0
  160. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_figures/px_figure.py +0 -0
  161. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_figures/scatterplot.py +0 -0
  162. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_figures/timeseries_figure.py +0 -0
  163. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/__init__.py +0 -0
  164. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/caching_ensemble_set_model_factory.py +0 -0
  165. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/ensemble_model.py +0 -0
  166. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/ensemble_set_model.py +0 -0
  167. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/gruptree_model.py +0 -0
  168. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/inplace_volumes_model.py +0 -0
  169. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/observation_model.py +0 -0
  170. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/parameter_model.py +0 -0
  171. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/stratigraphy_model.py +0 -0
  172. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/surface_leaflet_model.py +0 -0
  173. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/surface_set_model.py +0 -0
  174. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/well_attributes_model.py +0 -0
  175. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_models/well_set_model.py +0 -0
  176. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_private_plugins/__init__.py +0 -0
  177. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_private_plugins/surface_selector.py +0 -0
  178. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/__init__.py +0 -0
  179. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/__init__.py +0 -0
  180. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/_fault_polygons_discovery.py +0 -0
  181. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/_provider_impl_file.py +0 -0
  182. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/ensemble_fault_polygons_provider.py +0 -0
  183. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/ensemble_fault_polygons_provider_factory.py +0 -0
  184. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_fault_polygons_provider/fault_polygons_server.py +0 -0
  185. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/__init__.py +0 -0
  186. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/_egrid_file_discovery.py +0 -0
  187. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/_roff_file_discovery.py +0 -0
  188. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/_xtgeo_to_vtk_explicit_structured_grid.py +0 -0
  189. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/ensemble_grid_provider.py +0 -0
  190. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/ensemble_grid_provider_factory.py +0 -0
  191. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/grid_viz_service.py +0 -0
  192. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/provider_impl_egrid.py +0 -0
  193. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_grid_provider/provider_impl_roff.py +0 -0
  194. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/__init__.py +0 -0
  195. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_arrow_unsmry_import.py +0 -0
  196. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_csv_import.py +0 -0
  197. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_dataframe_utils.py +0 -0
  198. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_field_metadata.py +0 -0
  199. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_provider_impl_arrow_lazy.py +0 -0
  200. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_provider_impl_arrow_presampled.py +0 -0
  201. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_resampling.py +0 -0
  202. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/_table_utils.py +0 -0
  203. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/dev_compare_fmu_to_lazy_provider.py +0 -0
  204. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/dev_provider_perf_testing.py +0 -0
  205. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/ensemble_summary_provider.py +0 -0
  206. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/ensemble_summary_provider_factory.py +0 -0
  207. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_summary_provider/utils.py +0 -0
  208. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/__init__.py +0 -0
  209. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_provider_impl_file.py +0 -0
  210. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_stat_surf_cache.py +0 -0
  211. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_discovery.py +0 -0
  212. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_to_float32_array.py +0 -0
  213. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_surface_to_image.py +0 -0
  214. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/_types.py +0 -0
  215. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/dev_experiments.py +0 -0
  216. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/dev_surface_server_lazy.py +0 -0
  217. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/ensemble_surface_provider.py +0 -0
  218. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/ensemble_surface_provider_factory.py +0 -0
  219. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/surface_array_server.py +0 -0
  220. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_surface_provider/surface_image_server.py +0 -0
  221. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/__init__.py +0 -0
  222. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/_field_metadata.py +0 -0
  223. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/_table_import.py +0 -0
  224. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider.py +0 -0
  225. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider_factory.py +0 -0
  226. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/ensemble_table_provider/ensemble_table_provider_impl_arrow.py +0 -0
  227. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/__init__.py +0 -0
  228. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/_provider_impl_file.py +0 -0
  229. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/dev_experiments.py +0 -0
  230. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/well_provider.py +0 -0
  231. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/well_provider_factory.py +0 -0
  232. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_providers/well_provider/well_server.py +0 -0
  233. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/__init__.py +0 -0
  234. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/colors.py +0 -0
  235. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/dataframe_utils.py +0 -0
  236. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/ensemble_summary_provider_set.py +0 -0
  237. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/ensemble_summary_provider_set_factory.py +0 -0
  238. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/ensemble_table_provider_set.py +0 -0
  239. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/ensemble_table_provider_set_factory.py +0 -0
  240. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/enum_shim.py +0 -0
  241. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/fanchart_plotting.py +0 -0
  242. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/formatting.py +0 -0
  243. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/parameter_response.py +0 -0
  244. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/perf_timer.py +0 -0
  245. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/simulation_timeseries.py +0 -0
  246. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/statistics_plotting.py +0 -0
  247. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/unique_theming.py +0 -0
  248. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/user_defined_vector_definitions.py +0 -0
  249. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/vector_calculator.py +0 -0
  250. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/vector_selector.py +0 -0
  251. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/_utils/webvizstore_functions.py +0 -0
  252. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/__init__.py +0 -0
  253. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_assisted_history_matching_analysis.py +0 -0
  254. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/__init__.py +0 -0
  255. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/_plugin.py +0 -0
  256. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/_plugin_ids.py +0 -0
  257. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/shared_settings/__init__.py +0 -0
  258. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/shared_settings/_filter.py +0 -0
  259. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/view_elements/__init__.py +0 -0
  260. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/view_elements/_graph.py +0 -0
  261. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/views/__init__.py +0 -0
  262. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/views/_bar_chart.py +0 -0
  263. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/views/_fan_chart.py +0 -0
  264. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/views/_line_chart.py +0 -0
  265. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_bhp_qc/views/_view_functions.py +0 -0
  266. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/__init__.py +0 -0
  267. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_error.py +0 -0
  268. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_utilities/__init__.py +0 -0
  269. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_utilities/color_tables.py +0 -0
  270. /webviz_subsurface-0.2.36/webviz_subsurface/plugins/_co2_leakage/_utilities/fault_polygons.py → /webviz_subsurface-0.2.38/webviz_subsurface/plugins/_co2_leakage/_utilities/fault_polygons_handler.py +0 -0
  271. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/_utilities/plume_extent.py +0 -0
  272. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/views/__init__.py +0 -0
  273. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_co2_leakage/views/mainview/__init__.py +0 -0
  274. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_disk_usage.py +0 -0
  275. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/__init__.py +0 -0
  276. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/_layout_elements.py +0 -0
  277. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/_plugin.py +0 -0
  278. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/_routes.py +0 -0
  279. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/_types.py +0 -0
  280. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/__init__.py +0 -0
  281. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/__init__.py +0 -0
  282. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/_view_3d.py +0 -0
  283. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/__init__.py +0 -0
  284. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_color_scale.py +0 -0
  285. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_data_selection.py +0 -0
  286. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/settings/_grid_filter.py +0 -0
  287. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/view_elements/__init__.py +0 -0
  288. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_grid_viewer_fmu/views/view_3d/view_elements/_vtk_view_3d_element.py +0 -0
  289. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/__init__.py +0 -0
  290. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_plugin.py +0 -0
  291. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_types.py +0 -0
  292. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_utils/__init__.py +0 -0
  293. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_utils/_ensemble_group_tree_data.py +0 -0
  294. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_views/__init__.py +0 -0
  295. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/__init__.py +0 -0
  296. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/_view.py +0 -0
  297. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_group_tree/_views/_group_tree_view/_view_element.py +0 -0
  298. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_history_match.py +0 -0
  299. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/__init__.py +0 -0
  300. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/_huv_table.py +0 -0
  301. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/_huv_xsection.py +0 -0
  302. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_horizon_uncertainty_viewer/horizon_uncertainty_viewer.py +0 -0
  303. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_inplace_volumes.py +0 -0
  304. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_inplace_volumes_onebyone.py +0 -0
  305. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/__init__.py +0 -0
  306. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/__init__.py +0 -0
  307. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/build_figure.py +0 -0
  308. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/controllers/update_figure_clientside.py +0 -0
  309. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/figures/__init__.py +0 -0
  310. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/figures/plotly_line_plot.py +0 -0
  311. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/line_plotter_fmu.py +0 -0
  312. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/views/__init__.py +0 -0
  313. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/views/data_selectors_view.py +0 -0
  314. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/views/plot_options_view.py +0 -0
  315. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_line_plotter_fmu/views/plot_traces_view.py +0 -0
  316. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/__init__.py +0 -0
  317. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/_layer_model.py +0 -0
  318. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/_tmp_well_pick_provider.py +0 -0
  319. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/_types.py +0 -0
  320. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/_utils.py +0 -0
  321. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/callbacks.py +0 -0
  322. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/color_tables.py +0 -0
  323. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/layout.py +0 -0
  324. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_map_viewer_fmu/map_viewer_fmu.py +0 -0
  325. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_morris_plot.py +0 -0
  326. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/__init__.py +0 -0
  327. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_plugin.py +0 -0
  328. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_types.py +0 -0
  329. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_utils/__init__.py +0 -0
  330. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_utils/_datetime_utils.py +0 -0
  331. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_utils/_parameters_model.py +0 -0
  332. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_utils/_provider_timesseries_datamodel.py +0 -0
  333. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/__init__.py +0 -0
  334. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/__init__.py +0 -0
  335. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/__init__.py +0 -0
  336. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_ensembles.py +0 -0
  337. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_parameters.py +0 -0
  338. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_settings/_visualization_type.py +0 -0
  339. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_view.py +0 -0
  340. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_distributions_view/_view_element.py +0 -0
  341. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/__init__.py +0 -0
  342. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/__init__.py +0 -0
  343. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_options.py +0 -0
  344. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_parameter_filter.py +0 -0
  345. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_selections.py +0 -0
  346. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_settings/_vizualisation.py +0 -0
  347. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_utils/__init__.py +0 -0
  348. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_utils/_color_figure.py +0 -0
  349. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_view.py +0 -0
  350. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_analysis/_views/_parameter_response_view/_view_element.py +0 -0
  351. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/__init__.py +0 -0
  352. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/_error.py +0 -0
  353. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/_plugin.py +0 -0
  354. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/_plugin_ids.py +0 -0
  355. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/views/__init__.py +0 -0
  356. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/__init__.py +0 -0
  357. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/_parameter_plot.py +0 -0
  358. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/settings/__init__.py +0 -0
  359. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_correlation/views/parameter_plot/settings/_parameter_settings.py +0 -0
  360. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_distribution.py +0 -0
  361. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_parallel_coordinates.py +0 -0
  362. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_parameter_response_correlation.py +0 -0
  363. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/__init__.py +0 -0
  364. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/_plugin.py +0 -0
  365. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/_plugin_ids.py +0 -0
  366. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/shared_settings/__init__.py +0 -0
  367. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/shared_settings/_filter.py +0 -0
  368. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/utils/__init__.py +0 -0
  369. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/utils/make_dataframes.py +0 -0
  370. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/utils/make_figures.py +0 -0
  371. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/view_elements/__init__.py +0 -0
  372. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/view_elements/_graph.py +0 -0
  373. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/views/__init__.py +0 -0
  374. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/views/_production_misfit_per_real.py +0 -0
  375. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/views/_view_functions.py +0 -0
  376. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/views/_well_production_coverage.py +0 -0
  377. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_prod_misfit/views/_well_production_heatmap.py +0 -0
  378. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/__init__.py +0 -0
  379. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/controllers/__init__.py +0 -0
  380. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/controllers/property_delta_controller.py +0 -0
  381. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/controllers/property_qc_controller.py +0 -0
  382. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/controllers/property_response_controller.py +0 -0
  383. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/data_loaders/__init__.py +0 -0
  384. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/figures/__init__.py +0 -0
  385. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/figures/correlation_figure.py +0 -0
  386. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/models/__init__.py +0 -0
  387. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/models/ensemble_timeseries_datamodel.py +0 -0
  388. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/models/property_statistics_model.py +0 -0
  389. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/models/simulation_timeseries_model.py +0 -0
  390. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/property_statistics.py +0 -0
  391. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/utils/__init__.py +0 -0
  392. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/utils/colors.py +0 -0
  393. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/utils/surface.py +0 -0
  394. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/__init__.py +0 -0
  395. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/main_view.py +0 -0
  396. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/property_delta_view.py +0 -0
  397. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/property_qc_view.py +0 -0
  398. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/property_response_view.py +0 -0
  399. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_property_statistics/views/selector_view.py +0 -0
  400. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/__init__.py +0 -0
  401. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_plugin.py +0 -0
  402. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/__init__.py +0 -0
  403. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/__init__.py +0 -0
  404. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/__init__.py +0 -0
  405. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/_data_settings.py +0 -0
  406. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_settings/_view_settings.py +0 -0
  407. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_utils/__init__.py +0 -0
  408. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_utils/_plot_utils.py +0 -0
  409. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_pvt_plot/_views/_pvt/_view.py +0 -0
  410. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_relative_permeability.py +0 -0
  411. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_reservoir_simulation_timeseries.py +0 -0
  412. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_reservoir_simulation_timeseries_onebyone.py +0 -0
  413. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_reservoir_simulation_timeseries_regional.py +0 -0
  414. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/__init__.py +0 -0
  415. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_plugin.py +0 -0
  416. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_reusable_settings.py +0 -0
  417. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_reusable_view_element.py +0 -0
  418. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_types.py +0 -0
  419. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_utils/__init__.py +0 -0
  420. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_utils/_formation_figure.py +0 -0
  421. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_utils/_rft_plotter_data_model.py +0 -0
  422. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/__init__.py +0 -0
  423. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/__init__.py +0 -0
  424. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/__init__.py +0 -0
  425. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/_formation_plot_settings.py +0 -0
  426. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_settings/_map_settings.py +0 -0
  427. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_utils/__init__.py +0 -0
  428. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_utils/_map_figure.py +0 -0
  429. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_map_view/_view.py +0 -0
  430. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/__init__.py +0 -0
  431. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_settings.py +0 -0
  432. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_utils/__init__.py +0 -0
  433. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_utils/_misfit_per_real_figure.py +0 -0
  434. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_misfit_per_real_view/_view.py +0 -0
  435. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/__init__.py +0 -0
  436. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/__init__.py +0 -0
  437. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_options.py +0 -0
  438. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_parameter_filter.py +0 -0
  439. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_settings/_selections.py +0 -0
  440. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_parameter_response_view/_view.py +0 -0
  441. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/__init__.py +0 -0
  442. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_settings.py +0 -0
  443. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_table_view_element.py +0 -0
  444. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_qc_view/_view.py +0 -0
  445. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/__init__.py +0 -0
  446. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/__init__.py +0 -0
  447. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_ensembles.py +0 -0
  448. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_plot_type.py +0 -0
  449. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_settings/_size_color_settings.py +0 -0
  450. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/__init__.py +0 -0
  451. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/_crossplot_figure.py +0 -0
  452. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_utils/_errorplot_figure.py +0 -0
  453. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_rft_plotter/_views/_sim_vs_obs_view/_view.py +0 -0
  454. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_running_time_analysis_fmu.py +0 -0
  455. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_segy_viewer.py +0 -0
  456. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_seismic_misfit.py +0 -0
  457. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/__init__.py +0 -0
  458. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_plugin.py +0 -0
  459. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/__init__.py +0 -0
  460. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/__init__.py +0 -0
  461. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/__init__.py +0 -0
  462. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/ensemble_subplot_builder.py +0 -0
  463. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/graph_figure_builder_base.py +0 -0
  464. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_property_serialization/vector_subplot_builder.py +0 -0
  465. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/__init__.py +0 -0
  466. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_ensembles.py +0 -0
  467. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_filter_realization.py +0 -0
  468. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_group_by.py +0 -0
  469. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_resampling_frequency.py +0 -0
  470. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_time_series.py +0 -0
  471. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_settings/_visualization.py +0 -0
  472. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_types/__init__.py +0 -0
  473. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_types/types.py +0 -0
  474. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/__init__.py +0 -0
  475. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/create_vector_traces_utils.py +0 -0
  476. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/dataframe_utils.py +0 -0
  477. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/datetime_utils.py +0 -0
  478. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/delta_ensemble_utils.py +0 -0
  479. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_ensemble_vectors_accessor_utils.py +0 -0
  480. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/__init__.py +0 -0
  481. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_delta_ensemble_vectors_accessor_impl.py +0 -0
  482. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_ensemble_vectors_accessor_impl.py +0 -0
  483. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/derived_vectors_accessor/derived_vectors_accessor.py +0 -0
  484. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/ensemble_summary_provider_set_utils.py +0 -0
  485. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/from_timeseries_cumulatives.py +0 -0
  486. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/history_vectors.py +0 -0
  487. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/trace_line_shape.py +0 -0
  488. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_utils/vector_statistics.py +0 -0
  489. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view.py +0 -0
  490. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view_elements/__init__.py +0 -0
  491. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series/_views/_subplot_view/_view_elements/_subplot_graph.py +0 -0
  492. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/__init__.py +0 -0
  493. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_plugin.py +0 -0
  494. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_types.py +0 -0
  495. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/__init__.py +0 -0
  496. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_datetime_utils.py +0 -0
  497. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_onebyone_timeseries_figure.py +0 -0
  498. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_utils/_simulation_time_series_onebyone_datamodel.py +0 -0
  499. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/__init__.py +0 -0
  500. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/__init__.py +0 -0
  501. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/__init__.py +0 -0
  502. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_general_settings.py +0 -0
  503. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_selections.py +0 -0
  504. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_sensitivity_filter.py +0 -0
  505. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_settings/_vizualisation.py +0 -0
  506. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view.py +0 -0
  507. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/__init__.py +0 -0
  508. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/_bottom_visualization_view_element.py +0 -0
  509. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_simulation_time_series_onebyone/_views/_onebyone_view/_view_elements/_general_view_element.py +0 -0
  510. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/__init__.py +0 -0
  511. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/_tour_steps.py +0 -0
  512. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/__init__.py +0 -0
  513. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/dialog_controller.py +0 -0
  514. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/intersection_controller.py +0 -0
  515. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/intersection_source_controller.py +0 -0
  516. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/map_controller.py +0 -0
  517. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/realization_filter_controller.py +0 -0
  518. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/controllers/uncertainty_table_controller.py +0 -0
  519. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/figures/__init__.py +0 -0
  520. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/figures/intersection.py +0 -0
  521. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/structural_uncertainty.py +0 -0
  522. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/__init__.py +0 -0
  523. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/clientside_stores.py +0 -0
  524. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/dialog.py +0 -0
  525. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/intersection_and_map.py +0 -0
  526. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/intersection_data.py +0 -0
  527. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/map_data.py +0 -0
  528. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/realization_filter.py +0 -0
  529. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_structural_uncertainty/views/uncertainty_table.py +0 -0
  530. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_subsurface_map.py +0 -0
  531. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_surface_viewer_fmu.py +0 -0
  532. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_surface_with_grid_cross_section.py +0 -0
  533. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_surface_with_seismic_cross_section.py +0 -0
  534. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/__init__.py +0 -0
  535. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_business_logic.py +0 -0
  536. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_callbacks.py +0 -0
  537. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_figures.py +0 -0
  538. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_layout.py +0 -0
  539. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_markdown.py +0 -0
  540. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_swatinit_qc/_plugin.py +0 -0
  541. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/__init__.py +0 -0
  542. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/_error.py +0 -0
  543. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/_plugin.py +0 -0
  544. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/__init__.py +0 -0
  545. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_filters.py +0 -0
  546. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_selectors.py +0 -0
  547. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/shared_settings/_view_settings.py +0 -0
  548. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/__init__.py +0 -0
  549. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/__init__.py +0 -0
  550. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/_plot_view.py +0 -0
  551. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/view_elements/__init__.py +0 -0
  552. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/plot_view/view_elements/plot.py +0 -0
  553. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/__init__.py +0 -0
  554. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/_table_view.py +0 -0
  555. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/view_elements/__init__.py +0 -0
  556. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_tornado_plotter_fmu/views/table_view/view_elements/table.py +0 -0
  557. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/__init__.py +0 -0
  558. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_plugin.py +0 -0
  559. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_types.py +0 -0
  560. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_utils/__init__.py +0 -0
  561. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_utils/_vfp_data_model.py +0 -0
  562. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/__init__.py +0 -0
  563. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/__init__.py +0 -0
  564. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/__init__.py +0 -0
  565. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_filters.py +0 -0
  566. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_pressure_option.py +0 -0
  567. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_selections.py +0 -0
  568. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_settings/_vizualisation.py +0 -0
  569. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_utils/__init__.py +0 -0
  570. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_utils/_vfp_figure_builder.py +0 -0
  571. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view.py +0 -0
  572. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view_elements/__init__.py +0 -0
  573. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_vfp_analysis/_views/_vfp_view/_view_elements/_vfp_graph.py +0 -0
  574. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/__init__.py +0 -0
  575. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/__init__.py +0 -0
  576. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/comparison_controllers.py +0 -0
  577. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/distribution_controllers.py +0 -0
  578. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/export_data_controllers.py +0 -0
  579. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/fipfile_qc_controller.py +0 -0
  580. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/layout_controllers.py +0 -0
  581. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/selections_controllers.py +0 -0
  582. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/controllers/tornado_controllers.py +0 -0
  583. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/utils/__init__.py +0 -0
  584. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/utils/table_and_figure_utils.py +0 -0
  585. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/utils/utils.py +0 -0
  586. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/__init__.py +0 -0
  587. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/clientside_stores.py +0 -0
  588. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/comparison_layout.py +0 -0
  589. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/distribution_main_layout.py +0 -0
  590. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/filter_view.py +0 -0
  591. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/fipfile_qc_layout.py +0 -0
  592. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/main_view.py +0 -0
  593. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/selections_view.py +0 -0
  594. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/views/tornado_view.py +0 -0
  595. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/volume_validator_and_combinator.py +0 -0
  596. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_volumetric_analysis/volumetric_analysis.py +0 -0
  597. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/__init__.py +0 -0
  598. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_plugin.py +0 -0
  599. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_types.py +0 -0
  600. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_utils/__init__.py +0 -0
  601. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_utils/_ensemble_well_analysis_data.py +0 -0
  602. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/__init__.py +0 -0
  603. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/__init__.py +0 -0
  604. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_utils/__init__.py +0 -0
  605. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_utils/_well_control_figure.py +0 -0
  606. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_view.py +0 -0
  607. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_control_view/_view_element.py +0 -0
  608. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/__init__.py +0 -0
  609. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/__init__.py +0 -0
  610. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_chart_type.py +0 -0
  611. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_filters.py +0 -0
  612. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_layout_options.py +0 -0
  613. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_selections.py +0 -0
  614. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_settings/_statistical_options.py +0 -0
  615. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_utils/__init__.py +0 -0
  616. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_utils/_well_overview_figure.py +0 -0
  617. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_view.py +0 -0
  618. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_analysis/_views/_well_overview_view/_view_element.py +0 -0
  619. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/__init__.py +0 -0
  620. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_plugin.py +0 -0
  621. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_utils/__init__.py +0 -0
  622. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_utils/_well_completion_data_model.py +0 -0
  623. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_views/__init__.py +0 -0
  624. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/__init__.py +0 -0
  625. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/_view.py +0 -0
  626. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completion/_views/_well_completion_view/_view_element.py +0 -0
  627. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completions/__init__.py +0 -0
  628. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completions/_business_logic.py +0 -0
  629. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completions/_callbacks.py +0 -0
  630. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completions/_layout.py +0 -0
  631. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_completions/_plugin.py +0 -0
  632. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_cross_section.py +0 -0
  633. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_cross_section_fmu.py +0 -0
  634. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/__init__.py +0 -0
  635. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/_validate_log_templates.py +0 -0
  636. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/controllers/__init__.py +0 -0
  637. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/controllers/_well_controller.py +0 -0
  638. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/utils/__init__.py +0 -0
  639. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/utils/default_color_tables.py +0 -0
  640. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/utils/xtgeo_well_log_to_json.py +0 -0
  641. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/plugins/_well_log_viewer/well_log_viewer.py +0 -0
  642. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface/smry2arrow_batch.py +0 -0
  643. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/dependency_links.txt +0 -0
  644. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/entry_points.txt +0 -0
  645. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/not-zip-safe +0 -0
  646. {webviz_subsurface-0.2.36 → webviz_subsurface-0.2.38}/webviz_subsurface.egg-info/top_level.txt +0 -0
@@ -48,10 +48,7 @@ jobs:
48
48
  if [[ $(pip freeze) ]]; then
49
49
  pip freeze | grep -vw "pip" | xargs pip uninstall -y
50
50
  fi
51
- pip install "shapely"
52
- pip install "bleach"
53
- pip install "werkzeug"
54
- pip install "selenium"
51
+ pip install "urllib3<2"
55
52
  pip install .
56
53
 
57
54
  # Testing against our latest release (including pre-releases)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webviz-subsurface
3
- Version: 0.2.36
3
+ Version: 0.2.38
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>=2.0.0
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
@@ -87,7 +87,7 @@ setup(
87
87
  "console_scripts": ["smry2arrow_batch=webviz_subsurface.smry2arrow_batch:main"],
88
88
  },
89
89
  install_requires=[
90
- "dash>=2.0.0",
90
+ "dash>=2.0.0,<3",
91
91
  "dash_bootstrap_components>=0.10.3",
92
92
  "dash-daq>=0.5.0",
93
93
  "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,
@@ -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( # pylint: disable=not-callable
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]},
@@ -15,7 +15,8 @@ import pandas as pd
15
15
  # NOTE: Functions in this file cannot be used
16
16
  # on non-Linux OSes.
17
17
  try:
18
- from res2df.resdatafiles import ResdataFiles, common
18
+ from res2df import common
19
+ from res2df.resdatafiles import ResdataFiles
19
20
  except ImportError:
20
21
  pass
21
22
 
@@ -0,0 +1,3 @@
1
+ from .ensemble_polygon_provider import EnsemblePolygonProvider, SimulatedPolygonsAddress
2
+ from .ensemble_polygon_provider_factory import EnsemblePolygonProviderFactory
3
+ from .polygon_server import PolygonsAddress, PolygonServer
@@ -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
@@ -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)