resqpy 4.18.8__tar.gz → 4.18.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. {resqpy-4.18.8 → resqpy-4.18.9}/PKG-INFO +1 -1
  2. {resqpy-4.18.8 → resqpy-4.18.9}/pyproject.toml +1 -1
  3. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/__init__.py +1 -1
  4. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_surface.py +27 -0
  5. {resqpy-4.18.8 → resqpy-4.18.9}/LICENSE +0 -0
  6. {resqpy-4.18.8 → resqpy-4.18.9}/README.md +0 -0
  7. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/crs.py +0 -0
  8. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/__init__.py +0 -0
  9. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  10. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_faults.py +0 -0
  11. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  12. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  13. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  14. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  15. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  16. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_coarsened_grid.py +0 -0
  17. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_common.py +0 -0
  18. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_copy_grid.py +0 -0
  19. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_drape_to_surface.py +0 -0
  20. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_extract_box.py +0 -0
  21. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  22. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  23. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_gather_ensemble.py +0 -0
  24. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_interpolated_grid.py +0 -0
  25. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  26. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_refined_grid.py +0 -0
  27. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_tilted_grid.py +0 -0
  28. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_unsplit_grid.py +0 -0
  29. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_zonal_grid.py +0 -0
  30. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  31. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/fault/__init__.py +0 -0
  32. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/fault/_gcs_functions.py +0 -0
  33. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/fault/_grid_connection_set.py +0 -0
  34. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/__init__.py +0 -0
  35. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_cell_properties.py +0 -0
  36. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_connection_sets.py +0 -0
  37. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_create_grid_xml.py +0 -0
  38. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_defined_geometry.py +0 -0
  39. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_extract_functions.py +0 -0
  40. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_face_functions.py +0 -0
  41. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_faults.py +0 -0
  42. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_grid.py +0 -0
  43. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_grid_types.py +0 -0
  44. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_intervals_info.py +0 -0
  45. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_moved_functions.py +0 -0
  46. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_pillars.py +0 -0
  47. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_pixel_maps.py +0 -0
  48. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_points_functions.py +0 -0
  49. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_regular_grid.py +0 -0
  50. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_transmissibility.py +0 -0
  51. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  52. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_write_nexus_corp.py +0 -0
  53. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid/_xyz.py +0 -0
  54. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/__init__.py +0 -0
  55. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
  56. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/_find_faces.py +0 -0
  57. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/_grid_skin.py +0 -0
  58. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/_grid_surface.py +0 -0
  59. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  60. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  61. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/lines/__init__.py +0 -0
  62. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/lines/_common.py +0 -0
  63. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/lines/_polyline.py +0 -0
  64. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/lines/_polyline_set.py +0 -0
  65. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/__init__.py +0 -0
  66. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_catalogue.py +0 -0
  67. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_context.py +0 -0
  68. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_forestry.py +0 -0
  69. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_grids.py +0 -0
  70. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_hdf5.py +0 -0
  71. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_model.py +0 -0
  72. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/model/_xml.py +0 -0
  73. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/__init__.py +0 -0
  74. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/_multiprocessing.py +0 -0
  75. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  76. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  77. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
  78. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  79. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/__init__.py +0 -0
  80. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/ab_toolbox.py +0 -0
  81. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/base.py +0 -0
  82. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/box_utilities.py +0 -0
  83. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/class_dict.py +0 -0
  84. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/consolidation.py +0 -0
  85. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/data/build.py +0 -0
  86. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/data/properties.json +0 -0
  87. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/dataframe.py +0 -0
  88. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/exceptions.py +0 -0
  89. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/factors.py +0 -0
  90. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/fine_coarse.py +0 -0
  91. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/grid_functions.py +0 -0
  92. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/intersection.py +0 -0
  93. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/keyword_files.py +0 -0
  94. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/load_data.py +0 -0
  95. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/point_inclusion.py +0 -0
  96. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/random_seed.py +0 -0
  97. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/read_nexus_fault.py +0 -0
  98. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/relperm.py +0 -0
  99. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/simple_lines.py +0 -0
  100. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/time.py +0 -0
  101. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/trademark.py +0 -0
  102. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/transmission.py +0 -0
  103. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/triangulation.py +0 -0
  104. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/uuid.py +0 -0
  105. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/vdb.py +0 -0
  106. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/vector_utilities.py +0 -0
  107. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/volume.py +0 -0
  108. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/wellspec_keywords.py +0 -0
  109. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/write_data.py +0 -0
  110. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/write_hdf5.py +0 -0
  111. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/xml_et.py +0 -0
  112. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/xml_namespaces.py +0 -0
  113. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/olio/zmap_reader.py +0 -0
  114. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/__init__.py +0 -0
  115. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/_utils.py +0 -0
  116. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/boundary_feature.py +0 -0
  117. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  118. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/earth_model_interpretation.py +0 -0
  119. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/fault_interpretation.py +0 -0
  120. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/fluid_boundary_feature.py +0 -0
  121. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/frontier_feature.py +0 -0
  122. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/generic_interpretation.py +0 -0
  123. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/genetic_boundary_feature.py +0 -0
  124. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  125. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/geobody_feature.py +0 -0
  126. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/geobody_interpretation.py +0 -0
  127. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/geologic_unit_feature.py +0 -0
  128. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/horizon_interpretation.py +0 -0
  129. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/organization_feature.py +0 -0
  130. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  131. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/structural_organization_interpretation.py +0 -0
  132. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  133. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/wellbore_feature.py +0 -0
  134. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/organize/wellbore_interpretation.py +0 -0
  135. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/__init__.py +0 -0
  136. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/_collection_add_part.py +0 -0
  137. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/_collection_create_xml.py +0 -0
  138. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/_collection_get_attributes.py +0 -0
  139. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/_collection_support.py +0 -0
  140. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/_property.py +0 -0
  141. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/attribute_property_set.py +0 -0
  142. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/grid_property_collection.py +0 -0
  143. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/property_collection.py +0 -0
  144. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/property_common.py +0 -0
  145. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/property_kind.py +0 -0
  146. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/string_lookup.py +0 -0
  147. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/well_interval_property.py +0 -0
  148. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/well_interval_property_collection.py +0 -0
  149. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/well_log.py +0 -0
  150. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/property/well_log_collection.py +0 -0
  151. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/__init__.py +0 -0
  152. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_add_ab_properties.py +0 -0
  153. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_add_surfaces.py +0 -0
  154. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_grid_from_cp.py +0 -0
  155. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_import_nexus.py +0 -0
  156. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
  157. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
  158. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/__init__.py +0 -0
  159. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  160. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  161. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_strata_common.py +0 -0
  162. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_stratigraphic_column.py +0 -0
  163. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  164. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  165. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  166. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/__init__.py +0 -0
  167. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_base_surface.py +0 -0
  168. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_combined_surface.py +0 -0
  169. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_mesh.py +0 -0
  170. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_pointset.py +0 -0
  171. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_tri_mesh.py +0 -0
  172. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_tri_mesh_stencil.py +0 -0
  173. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/surface/_triangulated_patch.py +0 -0
  174. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/__init__.py +0 -0
  175. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_any_time_series.py +0 -0
  176. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_from_nexus_summary.py +0 -0
  177. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_functions.py +0 -0
  178. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_geologic_time_series.py +0 -0
  179. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_time_duration.py +0 -0
  180. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/time_series/_time_series.py +0 -0
  181. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/__init__.py +0 -0
  182. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/_hexa_grid.py +0 -0
  183. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/_prism_grid.py +0 -0
  184. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/_pyramid_grid.py +0 -0
  185. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/_tetra_grid.py +0 -0
  186. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/unstructured/_unstructured_grid.py +0 -0
  187. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/weights_and_measures/__init__.py +0 -0
  188. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/weights_and_measures/nexus_units.py +0 -0
  189. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  190. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/__init__.py +0 -0
  191. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_blocked_well.py +0 -0
  192. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_deviation_survey.py +0 -0
  193. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_md_datum.py +0 -0
  194. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_trajectory.py +0 -0
  195. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_wellbore_frame.py +0 -0
  196. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_wellbore_marker.py +0 -0
  197. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/_wellbore_marker_frame.py +0 -0
  198. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/blocked_well_frame.py +0 -0
  199. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/well_object_funcs.py +0 -0
  200. {resqpy-4.18.8 → resqpy-4.18.9}/resqpy/well/well_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.18.8
3
+ Version: 4.18.9
4
4
  Summary: Python API for working with RESQML models
5
5
  Home-page: https://github.com/bp/resqpy
6
6
  License: MIT
@@ -9,7 +9,7 @@ build-backend = "poetry.masonry.api"
9
9
 
10
10
  [tool.poetry]
11
11
  name = "resqpy"
12
- version = "4.18.8" # Set at build time
12
+ version = "4.18.9" # Set at build time
13
13
  description = "Python API for working with RESQML models"
14
14
  authors = ["BP"]
15
15
  license = "MIT"
@@ -28,6 +28,6 @@
28
28
 
29
29
  import logging
30
30
 
31
- __version__ = "4.18.8" # Set at build time
31
+ __version__ = "4.18.9" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -1169,6 +1169,33 @@ class Surface(rqsb.BaseSurface):
1169
1169
 
1170
1170
  return resampled
1171
1171
 
1172
+ def resample_surface_unique_edges(self):
1173
+ """Returns a new surface, with the same model, title and crs as the original surface, but with additional refined points along original surface tears and edges.
1174
+
1175
+ Each edge forming a tear or outer edge in the surface will have 3 additional points added, with 2 additional points on each edge of the original triangle. The output surface is re-triangulated using these new points (tears will be filled)
1176
+
1177
+ returns:
1178
+ resqpy.surface.Surface object with extra_metadata ('unique edges resampled from surface': uuid), where uuid is for the original surface uuid
1179
+ """
1180
+ _, op = self.triangles_and_points()
1181
+ ref = self.resampled_surface() # resample the original surface
1182
+ rt, rp = ref.triangles_and_points()
1183
+ de, dc = ref.distinct_edges_and_counts() # find the distinct edges and counts for the resampled surface
1184
+ de_edge = de[dc == 1] # find edges that only appear once - tears or surface edges
1185
+ edge_tri_index = np.sum(np.isin(rt, de_edge), axis = 1) == 2
1186
+ edge_tris = rp[rt[edge_tri_index]]
1187
+ mid = np.mean(rp[de_edge], axis = 1) # get the midpoint of each surface edge
1188
+ edge_ref_points = np.unique(np.concatenate([op, edge_tris.reshape(-1, 3), mid]), axis = 0) # combine all points
1189
+
1190
+ points = rqs.PointSet(self.model, points_array = edge_ref_points, title = self.title,
1191
+ crs_uuid = self.crs_uuid) # generate a pointset from these points
1192
+
1193
+ output = Surface(self.model, point_set = points,
1194
+ extra_metadata = {'resampled from surface': str(self.uuid)
1195
+ }) # return a surface with generated from these points
1196
+
1197
+ return output
1198
+
1172
1199
  def write_hdf5(self, file_name = None, mode = 'a'):
1173
1200
  """Create or append to an hdf5 file, writing datasets for the triangulated patches after caching arrays.
1174
1201
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes