resqpy 4.15.2__tar.gz → 4.15.3__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.15.2 → resqpy-4.15.3}/PKG-INFO +1 -1
  2. {resqpy-4.15.2 → resqpy-4.15.3}/pyproject.toml +1 -1
  3. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/__init__.py +1 -1
  4. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_surface.py +18 -2
  5. {resqpy-4.15.2 → resqpy-4.15.3}/LICENSE +0 -0
  6. {resqpy-4.15.2 → resqpy-4.15.3}/README.md +0 -0
  7. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/crs.py +0 -0
  8. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/__init__.py +0 -0
  9. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  10. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_faults.py +0 -0
  11. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  12. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  13. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  14. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  15. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  16. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_coarsened_grid.py +0 -0
  17. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_common.py +0 -0
  18. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_copy_grid.py +0 -0
  19. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_drape_to_surface.py +0 -0
  20. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_extract_box.py +0 -0
  21. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  22. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  23. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_gather_ensemble.py +0 -0
  24. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_interpolated_grid.py +0 -0
  25. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  26. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_refined_grid.py +0 -0
  27. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_tilted_grid.py +0 -0
  28. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_unsplit_grid.py +0 -0
  29. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_zonal_grid.py +0 -0
  30. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  31. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/fault/__init__.py +0 -0
  32. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/fault/_gcs_functions.py +0 -0
  33. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/fault/_grid_connection_set.py +0 -0
  34. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/__init__.py +0 -0
  35. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_cell_properties.py +0 -0
  36. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_connection_sets.py +0 -0
  37. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_create_grid_xml.py +0 -0
  38. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_defined_geometry.py +0 -0
  39. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_extract_functions.py +0 -0
  40. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_face_functions.py +0 -0
  41. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_faults.py +0 -0
  42. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_grid.py +0 -0
  43. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_grid_types.py +0 -0
  44. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_intervals_info.py +0 -0
  45. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_moved_functions.py +0 -0
  46. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_pillars.py +0 -0
  47. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_pixel_maps.py +0 -0
  48. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_points_functions.py +0 -0
  49. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_regular_grid.py +0 -0
  50. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_transmissibility.py +0 -0
  51. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  52. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_write_nexus_corp.py +0 -0
  53. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid/_xyz.py +0 -0
  54. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/__init__.py +0 -0
  55. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
  56. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/_find_faces.py +0 -0
  57. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/_grid_skin.py +0 -0
  58. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/_grid_surface.py +0 -0
  59. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  60. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  61. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/lines/__init__.py +0 -0
  62. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/lines/_common.py +0 -0
  63. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/lines/_polyline.py +0 -0
  64. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/lines/_polyline_set.py +0 -0
  65. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/__init__.py +0 -0
  66. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_catalogue.py +0 -0
  67. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_context.py +0 -0
  68. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_forestry.py +0 -0
  69. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_grids.py +0 -0
  70. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_hdf5.py +0 -0
  71. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_model.py +0 -0
  72. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/model/_xml.py +0 -0
  73. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/__init__.py +0 -0
  74. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/_multiprocessing.py +0 -0
  75. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  76. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  77. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
  78. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  79. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/__init__.py +0 -0
  80. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/ab_toolbox.py +0 -0
  81. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/base.py +0 -0
  82. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/box_utilities.py +0 -0
  83. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/class_dict.py +0 -0
  84. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/consolidation.py +0 -0
  85. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/data/build.py +0 -0
  86. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/data/properties.json +0 -0
  87. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/dataframe.py +0 -0
  88. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/exceptions.py +0 -0
  89. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/factors.py +0 -0
  90. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/fine_coarse.py +0 -0
  91. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/grid_functions.py +0 -0
  92. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/intersection.py +0 -0
  93. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/keyword_files.py +0 -0
  94. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/load_data.py +0 -0
  95. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/point_inclusion.py +0 -0
  96. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/random_seed.py +0 -0
  97. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/read_nexus_fault.py +0 -0
  98. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/relperm.py +0 -0
  99. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/simple_lines.py +0 -0
  100. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/time.py +0 -0
  101. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/trademark.py +0 -0
  102. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/transmission.py +0 -0
  103. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/triangulation.py +0 -0
  104. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/uuid.py +0 -0
  105. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/vdb.py +0 -0
  106. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/vector_utilities.py +0 -0
  107. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/volume.py +0 -0
  108. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/wellspec_keywords.py +0 -0
  109. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/write_data.py +0 -0
  110. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/write_hdf5.py +0 -0
  111. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/xml_et.py +0 -0
  112. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/xml_namespaces.py +0 -0
  113. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/olio/zmap_reader.py +0 -0
  114. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/__init__.py +0 -0
  115. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/_utils.py +0 -0
  116. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/boundary_feature.py +0 -0
  117. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  118. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/earth_model_interpretation.py +0 -0
  119. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/fault_interpretation.py +0 -0
  120. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/fluid_boundary_feature.py +0 -0
  121. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/frontier_feature.py +0 -0
  122. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/generic_interpretation.py +0 -0
  123. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/genetic_boundary_feature.py +0 -0
  124. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  125. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/geobody_feature.py +0 -0
  126. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/geobody_interpretation.py +0 -0
  127. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/geologic_unit_feature.py +0 -0
  128. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/horizon_interpretation.py +0 -0
  129. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/organization_feature.py +0 -0
  130. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  131. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/structural_organization_interpretation.py +0 -0
  132. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  133. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/wellbore_feature.py +0 -0
  134. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/organize/wellbore_interpretation.py +0 -0
  135. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/__init__.py +0 -0
  136. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/_collection_add_part.py +0 -0
  137. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/_collection_create_xml.py +0 -0
  138. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/_collection_get_attributes.py +0 -0
  139. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/_collection_support.py +0 -0
  140. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/_property.py +0 -0
  141. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/attribute_property_set.py +0 -0
  142. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/grid_property_collection.py +0 -0
  143. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/property_collection.py +0 -0
  144. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/property_common.py +0 -0
  145. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/property_kind.py +0 -0
  146. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/string_lookup.py +0 -0
  147. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/well_interval_property.py +0 -0
  148. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/well_interval_property_collection.py +0 -0
  149. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/well_log.py +0 -0
  150. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/property/well_log_collection.py +0 -0
  151. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/__init__.py +0 -0
  152. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_add_ab_properties.py +0 -0
  153. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_add_surfaces.py +0 -0
  154. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_grid_from_cp.py +0 -0
  155. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_import_nexus.py +0 -0
  156. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
  157. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
  158. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/__init__.py +0 -0
  159. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  160. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  161. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_strata_common.py +0 -0
  162. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_stratigraphic_column.py +0 -0
  163. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  164. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  165. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  166. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/__init__.py +0 -0
  167. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_base_surface.py +0 -0
  168. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_combined_surface.py +0 -0
  169. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_mesh.py +0 -0
  170. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_pointset.py +0 -0
  171. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_tri_mesh.py +0 -0
  172. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_tri_mesh_stencil.py +0 -0
  173. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/surface/_triangulated_patch.py +0 -0
  174. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/__init__.py +0 -0
  175. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_any_time_series.py +0 -0
  176. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_from_nexus_summary.py +0 -0
  177. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_functions.py +0 -0
  178. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_geologic_time_series.py +0 -0
  179. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_time_duration.py +0 -0
  180. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/time_series/_time_series.py +0 -0
  181. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/__init__.py +0 -0
  182. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/_hexa_grid.py +0 -0
  183. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/_prism_grid.py +0 -0
  184. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/_pyramid_grid.py +0 -0
  185. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/_tetra_grid.py +0 -0
  186. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/unstructured/_unstructured_grid.py +0 -0
  187. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/weights_and_measures/__init__.py +0 -0
  188. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/weights_and_measures/nexus_units.py +0 -0
  189. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  190. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/__init__.py +0 -0
  191. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_blocked_well.py +0 -0
  192. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_deviation_survey.py +0 -0
  193. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_md_datum.py +0 -0
  194. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_trajectory.py +0 -0
  195. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_wellbore_frame.py +0 -0
  196. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_wellbore_marker.py +0 -0
  197. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/_wellbore_marker_frame.py +0 -0
  198. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/blocked_well_frame.py +0 -0
  199. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/well_object_funcs.py +0 -0
  200. {resqpy-4.15.2 → resqpy-4.15.3}/resqpy/well/well_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.15.2
3
+ Version: 4.15.3
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.15.2" # Set at build time
12
+ version = "4.15.3" # 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.15.2" # Set at build time
31
+ __version__ = "4.15.3" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -122,6 +122,7 @@ class Surface(rqsb.BaseSurface):
122
122
  self.set_from_mesh_file(mesh_file, mesh_format, quad_triangles = quad_triangles)
123
123
  elif tsurf_file is not None:
124
124
  self.set_from_tsurf_file(tsurf_file)
125
+ self._load_normal_vector_from_extra_metadata()
125
126
 
126
127
  @classmethod
127
128
  def from_tri_mesh(cls, tri_mesh, exclude_nans = False):
@@ -715,7 +716,7 @@ class Surface(rqsb.BaseSurface):
715
716
 
716
717
  _, p = self.triangles_and_points()
717
718
  crs = rqc.Crs(self.model, uuid = self.crs_uuid)
718
- if crs.xy_units == self.z_units:
719
+ if crs.xy_units == crs.z_units:
719
720
  return p
720
721
  unit_adjusted_p = p.copy()
721
722
  wam.convert_lengths(unit_adjusted_p[:, 2], crs.z_units, crs.xy_units)
@@ -1203,7 +1204,12 @@ class Surface(rqsb.BaseSurface):
1203
1204
  if not self.title:
1204
1205
  self.title = 'surface'
1205
1206
 
1206
- tri_rep = super().create_xml(add_as_part = False, title = title, originator = originator)
1207
+ em = None
1208
+ if self.normal_vector is not None:
1209
+ assert len(self.normal_vector) == 3
1210
+ em = {'normal vector': f'{self.normal_vector[0]},{self.normal_vector[1]},{self.normal_vector[2]}'}
1211
+
1212
+ tri_rep = super().create_xml(add_as_part = False, title = title, originator = originator, extra_metadata = em)
1207
1213
 
1208
1214
  # todo: if crs_uuid is None, attempt to set to surface patch crs uuid (within patch loop, below)
1209
1215
  if crs_uuid is not None:
@@ -1309,6 +1315,16 @@ class Surface(rqsb.BaseSurface):
1309
1315
 
1310
1316
  return tri_rep
1311
1317
 
1318
+ def _load_normal_vector_from_extra_metadata(self):
1319
+ if self.normal_vector is None and self.extra_metadata is not None:
1320
+ nv_str = self.extra_metadata.get('normal vector')
1321
+ if nv_str is not None:
1322
+ nv_words = nv_str.split(',')
1323
+ assert len(nv_words) == 3, f'failed to convert normal vector string into triplet: {nv_str}'
1324
+ self.normal_vector = np.empty(3, dtype = float)
1325
+ for i in range(3):
1326
+ self.normal_vector[i] = float(nv_words[i])
1327
+
1312
1328
 
1313
1329
  def distill_triangle_points(t, p):
1314
1330
  """Returns a (triangles, points) pair with points distilled as only those used from p."""
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