resqpy 4.14.2__tar.gz → 5.1.6__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. {resqpy-4.14.2 → resqpy-5.1.6}/PKG-INFO +8 -9
  2. {resqpy-4.14.2 → resqpy-5.1.6}/pyproject.toml +8 -8
  3. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/__init__.py +1 -1
  4. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/fault/_gcs_functions.py +10 -10
  5. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/fault/_grid_connection_set.py +277 -113
  6. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/__init__.py +2 -3
  7. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_defined_geometry.py +3 -3
  8. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_extract_functions.py +8 -2
  9. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_grid.py +95 -12
  10. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_grid_types.py +22 -7
  11. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_points_functions.py +1 -1
  12. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_regular_grid.py +6 -2
  13. resqpy-5.1.6/resqpy/grid_surface/__init__.py +52 -0
  14. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid_surface/_blocked_well_populate.py +5 -5
  15. resqpy-5.1.6/resqpy/grid_surface/_find_faces.py +2583 -0
  16. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/lines/_polyline.py +24 -33
  17. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_catalogue.py +9 -0
  18. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_forestry.py +18 -14
  19. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_hdf5.py +11 -3
  20. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_model.py +85 -10
  21. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_xml.py +38 -13
  22. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/wrappers/grid_surface_mp.py +92 -37
  23. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/read_nexus_fault.py +8 -2
  24. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/relperm.py +1 -1
  25. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/transmission.py +8 -8
  26. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/triangulation.py +36 -30
  27. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/vector_utilities.py +340 -6
  28. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/volume.py +0 -20
  29. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/wellspec_keywords.py +19 -13
  30. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/write_hdf5.py +1 -1
  31. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/xml_et.py +12 -0
  32. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/__init__.py +6 -4
  33. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/_collection_add_part.py +4 -3
  34. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/_collection_create_xml.py +4 -2
  35. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/_collection_get_attributes.py +4 -0
  36. resqpy-5.1.6/resqpy/property/attribute_property_set.py +311 -0
  37. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/grid_property_collection.py +11 -11
  38. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/property_collection.py +79 -31
  39. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/property_common.py +3 -8
  40. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/_add_surfaces.py +34 -14
  41. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/_grid_from_cp.py +2 -2
  42. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/_import_nexus.py +75 -48
  43. resqpy-5.1.6/resqpy/rq_import/_import_vdb_all_grids.py +120 -0
  44. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/_import_vdb_ensemble.py +12 -13
  45. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_mesh.py +4 -0
  46. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_surface.py +593 -118
  47. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_tri_mesh.py +13 -10
  48. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_tri_mesh_stencil.py +4 -4
  49. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_triangulated_patch.py +71 -51
  50. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_any_time_series.py +7 -4
  51. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_geologic_time_series.py +1 -1
  52. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/_hexa_grid.py +6 -2
  53. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/_prism_grid.py +13 -5
  54. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/_pyramid_grid.py +6 -2
  55. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/_tetra_grid.py +6 -2
  56. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/_unstructured_grid.py +6 -2
  57. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_blocked_well.py +1986 -1946
  58. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_deviation_survey.py +3 -3
  59. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_md_datum.py +11 -21
  60. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_trajectory.py +10 -5
  61. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_wellbore_frame.py +10 -2
  62. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/blocked_well_frame.py +3 -3
  63. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/well_object_funcs.py +7 -9
  64. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/well_utils.py +33 -0
  65. resqpy-4.14.2/resqpy/grid/_moved_functions.py +0 -15
  66. resqpy-4.14.2/resqpy/grid_surface/__init__.py +0 -73
  67. resqpy-4.14.2/resqpy/grid_surface/_find_faces.py +0 -1423
  68. resqpy-4.14.2/resqpy/rq_import/_import_vdb_all_grids.py +0 -108
  69. {resqpy-4.14.2 → resqpy-5.1.6}/LICENSE +0 -0
  70. {resqpy-4.14.2 → resqpy-5.1.6}/README.md +0 -0
  71. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/crs.py +0 -0
  72. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/__init__.py +0 -0
  73. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  74. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_faults.py +0 -0
  75. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  76. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  77. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  78. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  79. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  80. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_coarsened_grid.py +0 -0
  81. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_common.py +0 -0
  82. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_copy_grid.py +0 -0
  83. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_drape_to_surface.py +0 -0
  84. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_extract_box.py +0 -0
  85. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  86. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  87. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_gather_ensemble.py +0 -0
  88. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_interpolated_grid.py +0 -0
  89. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  90. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_refined_grid.py +0 -0
  91. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_tilted_grid.py +0 -0
  92. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_unsplit_grid.py +0 -0
  93. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_zonal_grid.py +0 -0
  94. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  95. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/fault/__init__.py +0 -0
  96. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_cell_properties.py +0 -0
  97. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_connection_sets.py +0 -0
  98. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_create_grid_xml.py +0 -0
  99. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_face_functions.py +0 -0
  100. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_faults.py +0 -0
  101. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_intervals_info.py +0 -0
  102. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_pillars.py +0 -0
  103. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_pixel_maps.py +0 -0
  104. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_transmissibility.py +0 -0
  105. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  106. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_write_nexus_corp.py +0 -0
  107. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid/_xyz.py +0 -0
  108. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid_surface/_grid_skin.py +0 -0
  109. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid_surface/_grid_surface.py +0 -0
  110. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  111. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  112. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/lines/__init__.py +0 -0
  113. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/lines/_common.py +0 -0
  114. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/lines/_polyline_set.py +0 -0
  115. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/__init__.py +0 -0
  116. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_context.py +0 -0
  117. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/model/_grids.py +0 -0
  118. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/__init__.py +0 -0
  119. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/_multiprocessing.py +0 -0
  120. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  121. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  122. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  123. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/__init__.py +0 -0
  124. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/ab_toolbox.py +0 -0
  125. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/base.py +0 -0
  126. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/box_utilities.py +0 -0
  127. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/class_dict.py +0 -0
  128. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/consolidation.py +0 -0
  129. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/data/build.py +0 -0
  130. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/data/properties.json +0 -0
  131. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/dataframe.py +0 -0
  132. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/exceptions.py +0 -0
  133. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/factors.py +0 -0
  134. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/fine_coarse.py +0 -0
  135. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/grid_functions.py +0 -0
  136. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/intersection.py +0 -0
  137. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/keyword_files.py +0 -0
  138. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/load_data.py +0 -0
  139. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/point_inclusion.py +0 -0
  140. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/random_seed.py +0 -0
  141. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/simple_lines.py +0 -0
  142. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/time.py +0 -0
  143. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/trademark.py +0 -0
  144. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/uuid.py +0 -0
  145. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/vdb.py +0 -0
  146. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/write_data.py +0 -0
  147. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/xml_namespaces.py +0 -0
  148. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/olio/zmap_reader.py +0 -0
  149. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/__init__.py +0 -0
  150. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/_utils.py +0 -0
  151. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/boundary_feature.py +0 -0
  152. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  153. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/earth_model_interpretation.py +0 -0
  154. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/fault_interpretation.py +0 -0
  155. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/fluid_boundary_feature.py +0 -0
  156. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/frontier_feature.py +0 -0
  157. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/generic_interpretation.py +0 -0
  158. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/genetic_boundary_feature.py +0 -0
  159. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  160. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/geobody_feature.py +0 -0
  161. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/geobody_interpretation.py +0 -0
  162. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/geologic_unit_feature.py +0 -0
  163. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/horizon_interpretation.py +0 -0
  164. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/organization_feature.py +0 -0
  165. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  166. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/structural_organization_interpretation.py +0 -0
  167. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  168. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/wellbore_feature.py +0 -0
  169. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/organize/wellbore_interpretation.py +0 -0
  170. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/_collection_support.py +0 -0
  171. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/_property.py +0 -0
  172. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/property_kind.py +0 -0
  173. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/string_lookup.py +0 -0
  174. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/well_interval_property.py +0 -0
  175. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/well_interval_property_collection.py +0 -0
  176. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/well_log.py +0 -0
  177. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/property/well_log_collection.py +0 -0
  178. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/__init__.py +0 -0
  179. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/rq_import/_add_ab_properties.py +0 -0
  180. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/__init__.py +0 -0
  181. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  182. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  183. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_strata_common.py +0 -0
  184. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_stratigraphic_column.py +0 -0
  185. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  186. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  187. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  188. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/__init__.py +0 -0
  189. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_base_surface.py +0 -0
  190. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_combined_surface.py +0 -0
  191. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/surface/_pointset.py +0 -0
  192. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/__init__.py +0 -0
  193. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_from_nexus_summary.py +0 -0
  194. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_functions.py +0 -0
  195. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_time_duration.py +0 -0
  196. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/time_series/_time_series.py +0 -0
  197. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/unstructured/__init__.py +0 -0
  198. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/weights_and_measures/__init__.py +0 -0
  199. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/weights_and_measures/nexus_units.py +0 -0
  200. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  201. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/__init__.py +0 -0
  202. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_wellbore_marker.py +0 -0
  203. {resqpy-4.14.2 → resqpy-5.1.6}/resqpy/well/_wellbore_marker_frame.py +0 -0
@@ -1,12 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: resqpy
3
- Version: 4.14.2
3
+ Version: 5.1.6
4
4
  Summary: Python API for working with RESQML models
5
- Home-page: https://github.com/bp/resqpy
6
5
  License: MIT
7
6
  Keywords: RESQML
8
7
  Author: BP
9
- Requires-Python: >=3.8.1,<3.12
8
+ Requires-Python: >=3.9,<3.13
10
9
  Classifier: Development Status :: 5 - Production/Stable
11
10
  Classifier: License :: OSI Approved :: MIT License
12
11
  Classifier: Operating System :: OS Independent
@@ -14,17 +13,17 @@ Classifier: Programming Language :: Python :: 3
14
13
  Classifier: Programming Language :: Python :: 3.9
15
14
  Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
17
- Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.12
18
17
  Classifier: Topic :: Scientific/Engineering
19
18
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
20
19
  Classifier: Topic :: System :: Filesystems
21
20
  Requires-Dist: h5py (>=3.7,<4.0)
22
21
  Requires-Dist: joblib (>=1.2,<2.0)
23
22
  Requires-Dist: lasio (>=0.31,<0.32)
24
- Requires-Dist: lxml (>=4.9,<5.0)
25
- Requires-Dist: numba (>=0.56,<1.0)
26
- Requires-Dist: numpy (>=1.23,<2.0)
27
- Requires-Dist: pandas (>=1.4,<2.0)
23
+ Requires-Dist: lxml (>=5.1,<6.0)
24
+ Requires-Dist: numba (>=0.59,<1.0)
25
+ Requires-Dist: numpy (>=1.26,<2.0)
26
+ Requires-Dist: pandas (>=2.2,<3.0)
28
27
  Requires-Dist: scipy (>=1.9,<2.0)
29
28
  Project-URL: Documentation, https://resqpy.readthedocs.io/en/latest/
30
29
  Project-URL: Repository, https://github.com/bp/resqpy
@@ -9,7 +9,7 @@ build-backend = "poetry.masonry.api"
9
9
 
10
10
  [tool.poetry]
11
11
  name = "resqpy"
12
- version = "4.14.2" # Set at build time
12
+ version = "5.1.6" # Set at build time
13
13
  description = "Python API for working with RESQML models"
14
14
  authors = ["BP"]
15
15
  license = "MIT"
@@ -20,10 +20,10 @@ keywords = ["RESQML"]
20
20
  classifiers = [
21
21
  "License :: OSI Approved :: MIT License",
22
22
  "Operating System :: OS Independent",
23
- "Programming Language :: Python :: 3.8",
24
23
  "Programming Language :: Python :: 3.9",
25
24
  "Programming Language :: Python :: 3.10",
26
25
  "Programming Language :: Python :: 3.11",
26
+ "Programming Language :: Python :: 3.12",
27
27
  "Development Status :: 5 - Production/Stable",
28
28
  "Topic :: Scientific/Engineering",
29
29
  "Topic :: System :: Filesystems",
@@ -40,14 +40,14 @@ include = ["data/*.json"]
40
40
  # - https://semver.org/
41
41
  # See here for "caret" style dependency specifications:
42
42
  # - https://python-poetry.org/docs/dependency-specification/
43
- python = ">= 3.8.1, < 3.12"
44
- numpy = "^1.23"
45
- pandas = "^1.4"
43
+ python = ">= 3.9, < 3.13"
44
+ numpy = "^1.26"
45
+ pandas = "^2.2"
46
46
  h5py = "^3.7"
47
- lxml = "^4.9"
47
+ lxml = "^5.1"
48
48
  lasio = "^0.31"
49
49
  scipy = "^1.9"
50
- numba = ">=0.56, < 1.0"
50
+ numba = ">=0.59, < 1.0"
51
51
  joblib = "^1.2"
52
52
 
53
53
  [tool.poetry.group.dev.dependencies]
@@ -117,4 +117,4 @@ filterwarnings = [
117
117
  "ignore:.*importing the ABCs from 'collections'.*:DeprecationWarning:.*pyreadline.*",
118
118
  "ignore:.*the imp module is deprecated in favour of importlib.*:DeprecationWarning:.*pywintypes.*",
119
119
  "ignore:.*distutils package is deprecated.*:DeprecationWarning:.*joblib.*",
120
- ]
120
+ ]
@@ -28,6 +28,6 @@
28
28
 
29
29
  import logging
30
30
 
31
- __version__ = "4.14.2" # Set at build time
31
+ __version__ = "5.1.6" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -423,15 +423,15 @@ def combined_tr_mult_from_gcs_mults(model,
423
423
 
424
424
  if grid is None: # first gcs: grab grid and initialise combined tr mult arrays
425
425
  grid = gcs.grid_list[0]
426
- combo_trm_k = np.full((grid.nk + 1, grid.nj, grid.ni), np.NaN, dtype = float)
427
- combo_trm_j = np.full((grid.nk, grid.nj + 1, grid.ni), np.NaN, dtype = float)
428
- combo_trm_i = np.full((grid.nk, grid.nj, grid.ni + 1), np.NaN, dtype = float)
426
+ combo_trm_k = np.full((grid.nk + 1, grid.nj, grid.ni), np.nan, dtype = float)
427
+ combo_trm_j = np.full((grid.nk, grid.nj + 1, grid.ni), np.nan, dtype = float)
428
+ combo_trm_i = np.full((grid.nk, grid.nj, grid.ni + 1), np.nan, dtype = float)
429
429
  else: # check same grid is referenced by this gcs
430
430
  assert bu.matching_uuids(gcs.grid_list[0].uuid, grid.uuid)
431
431
 
432
432
  # get gcs tr mult data in form of triplet of grid faces arrays
433
433
  gcs_trm_k, gcs_trm_j, gcs_trm_i = gcs.grid_face_arrays(tr_mult_uuid,
434
- default_value = np.NaN,
434
+ default_value = np.nan,
435
435
  active_only = active_only,
436
436
  lazy = not sided,
437
437
  baffle_uuid = baffle_uuid)
@@ -439,29 +439,29 @@ def combined_tr_mult_from_gcs_mults(model,
439
439
 
440
440
  # merge in each of the three directional face arrays for this gcs with combined arrays
441
441
  for (combo_trm, gcs_trm) in [(combo_trm_k, gcs_trm_k), (combo_trm_j, gcs_trm_j), (combo_trm_i, gcs_trm_i)]:
442
- mask = np.logical_not(np.isnan(gcs_trm)) # true where this tr mult is present
442
+ mask = np.logical_not(np.isnan(gcs_trm)).astype(bool) # true where this tr mult is present
443
443
  clash_mask = np.logical_and(mask, np.logical_not(np.isnan(combo_trm))) # true where combined value clashes
444
444
  if np.any(clash_mask):
445
445
  if merge_mode == 'exception':
446
446
  raise ValueError('gcs transmissibility multiplier conflict when merging')
447
447
  if merge_mode == 'minimum':
448
- combo_trm[:] = np.where(clash_mask, np.minimum(combo_trm, gcs_trm), combo_trm)
448
+ combo_trm[clash_mask] = np.minimum(combo_trm, gcs_trm)[clash_mask]
449
449
  elif merge_mode == 'maximum':
450
- combo_trm[:] = np.where(clash_mask, np.maximum(combo_trm, gcs_trm), combo_trm)
450
+ combo_trm[clash_mask] = np.maximum(combo_trm, gcs_trm)[clash_mask]
451
451
  elif merge_mode == 'multiply':
452
- combo_trm[:] = np.where(clash_mask, combo_trm * gcs_trm, combo_trm)
452
+ combo_trm[clash_mask] = (combo_trm * gcs_trm)[clash_mask]
453
453
  else:
454
454
  raise Exception(f'code failure with unrecognised merge mode {merge_mode}')
455
455
  mask = np.logical_and(mask,
456
456
  np.logical_not(clash_mask)) # remove clash faces from mask (already handled)
457
457
  if np.any(mask):
458
- combo_trm[:] = np.where(mask, gcs_trm, combo_trm) # update combined array from individual array
458
+ combo_trm[mask] = gcs_trm[mask] # update combined array from individual array
459
459
 
460
460
  # for each of the 3 combined tr mult arrays, replace unused values with the default fill value
461
461
  # also check that any set values are non-negative
462
462
  for combo_trm in (combo_trm_k, combo_trm_j, combo_trm_i):
463
463
  if fill_value is not None and not np.isnan(fill_value):
464
- combo_trm[:] = np.where(np.isnan(combo_trm), fill_value, combo_trm)
464
+ combo_trm[:][np.isnan(combo_trm).astype(bool)] = fill_value
465
465
  assert np.all(combo_trm >= 0.0)
466
466
  else:
467
467
  assert np.all(np.logical_or(np.isnan(combo_trm), combo_trm >= 0.0))