resqpy 4.16.5__tar.gz → 4.16.7__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.16.5 → resqpy-4.16.7}/PKG-INFO +1 -1
  2. {resqpy-4.16.5 → resqpy-4.16.7}/pyproject.toml +1 -1
  3. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/__init__.py +1 -1
  4. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/fault/_grid_connection_set.py +15 -11
  5. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_hdf5.py +8 -0
  6. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_model.py +15 -0
  7. {resqpy-4.16.5 → resqpy-4.16.7}/LICENSE +0 -0
  8. {resqpy-4.16.5 → resqpy-4.16.7}/README.md +0 -0
  9. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/crs.py +0 -0
  10. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/__init__.py +0 -0
  11. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  12. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_faults.py +0 -0
  13. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  14. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  15. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  16. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  17. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  18. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_coarsened_grid.py +0 -0
  19. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_common.py +0 -0
  20. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_copy_grid.py +0 -0
  21. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_drape_to_surface.py +0 -0
  22. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_extract_box.py +0 -0
  23. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  24. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  25. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_gather_ensemble.py +0 -0
  26. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_interpolated_grid.py +0 -0
  27. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  28. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_refined_grid.py +0 -0
  29. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_tilted_grid.py +0 -0
  30. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_unsplit_grid.py +0 -0
  31. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_zonal_grid.py +0 -0
  32. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  33. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/fault/__init__.py +0 -0
  34. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/fault/_gcs_functions.py +0 -0
  35. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/__init__.py +0 -0
  36. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_cell_properties.py +0 -0
  37. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_connection_sets.py +0 -0
  38. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_create_grid_xml.py +0 -0
  39. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_defined_geometry.py +0 -0
  40. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_extract_functions.py +0 -0
  41. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_face_functions.py +0 -0
  42. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_faults.py +0 -0
  43. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_grid.py +0 -0
  44. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_grid_types.py +0 -0
  45. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_intervals_info.py +0 -0
  46. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_moved_functions.py +0 -0
  47. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_pillars.py +0 -0
  48. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_pixel_maps.py +0 -0
  49. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_points_functions.py +0 -0
  50. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_regular_grid.py +0 -0
  51. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_transmissibility.py +0 -0
  52. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  53. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_write_nexus_corp.py +0 -0
  54. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid/_xyz.py +0 -0
  55. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/__init__.py +0 -0
  56. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
  57. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/_find_faces.py +0 -0
  58. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/_grid_skin.py +0 -0
  59. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/_grid_surface.py +0 -0
  60. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  61. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  62. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/lines/__init__.py +0 -0
  63. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/lines/_common.py +0 -0
  64. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/lines/_polyline.py +0 -0
  65. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/lines/_polyline_set.py +0 -0
  66. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/__init__.py +0 -0
  67. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_catalogue.py +0 -0
  68. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_context.py +0 -0
  69. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_forestry.py +0 -0
  70. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_grids.py +0 -0
  71. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/model/_xml.py +0 -0
  72. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/__init__.py +0 -0
  73. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/_multiprocessing.py +0 -0
  74. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  75. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  76. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
  77. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  78. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/__init__.py +0 -0
  79. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/ab_toolbox.py +0 -0
  80. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/base.py +0 -0
  81. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/box_utilities.py +0 -0
  82. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/class_dict.py +0 -0
  83. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/consolidation.py +0 -0
  84. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/data/build.py +0 -0
  85. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/data/properties.json +0 -0
  86. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/dataframe.py +0 -0
  87. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/exceptions.py +0 -0
  88. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/factors.py +0 -0
  89. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/fine_coarse.py +0 -0
  90. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/grid_functions.py +0 -0
  91. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/intersection.py +0 -0
  92. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/keyword_files.py +0 -0
  93. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/load_data.py +0 -0
  94. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/point_inclusion.py +0 -0
  95. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/random_seed.py +0 -0
  96. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/read_nexus_fault.py +0 -0
  97. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/relperm.py +0 -0
  98. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/simple_lines.py +0 -0
  99. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/time.py +0 -0
  100. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/trademark.py +0 -0
  101. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/transmission.py +0 -0
  102. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/triangulation.py +0 -0
  103. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/uuid.py +0 -0
  104. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/vdb.py +0 -0
  105. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/vector_utilities.py +0 -0
  106. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/volume.py +0 -0
  107. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/wellspec_keywords.py +0 -0
  108. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/write_data.py +0 -0
  109. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/write_hdf5.py +0 -0
  110. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/xml_et.py +0 -0
  111. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/xml_namespaces.py +0 -0
  112. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/olio/zmap_reader.py +0 -0
  113. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/__init__.py +0 -0
  114. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/_utils.py +0 -0
  115. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/boundary_feature.py +0 -0
  116. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  117. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/earth_model_interpretation.py +0 -0
  118. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/fault_interpretation.py +0 -0
  119. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/fluid_boundary_feature.py +0 -0
  120. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/frontier_feature.py +0 -0
  121. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/generic_interpretation.py +0 -0
  122. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/genetic_boundary_feature.py +0 -0
  123. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  124. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/geobody_feature.py +0 -0
  125. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/geobody_interpretation.py +0 -0
  126. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/geologic_unit_feature.py +0 -0
  127. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/horizon_interpretation.py +0 -0
  128. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/organization_feature.py +0 -0
  129. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  130. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/structural_organization_interpretation.py +0 -0
  131. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  132. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/wellbore_feature.py +0 -0
  133. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/organize/wellbore_interpretation.py +0 -0
  134. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/__init__.py +0 -0
  135. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/_collection_add_part.py +0 -0
  136. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/_collection_create_xml.py +0 -0
  137. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/_collection_get_attributes.py +0 -0
  138. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/_collection_support.py +0 -0
  139. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/_property.py +0 -0
  140. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/attribute_property_set.py +0 -0
  141. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/grid_property_collection.py +0 -0
  142. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/property_collection.py +0 -0
  143. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/property_common.py +0 -0
  144. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/property_kind.py +0 -0
  145. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/string_lookup.py +0 -0
  146. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/well_interval_property.py +0 -0
  147. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/well_interval_property_collection.py +0 -0
  148. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/well_log.py +0 -0
  149. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/property/well_log_collection.py +0 -0
  150. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/__init__.py +0 -0
  151. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_add_ab_properties.py +0 -0
  152. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_add_surfaces.py +0 -0
  153. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_grid_from_cp.py +0 -0
  154. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_import_nexus.py +0 -0
  155. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
  156. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
  157. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/__init__.py +0 -0
  158. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  159. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  160. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_strata_common.py +0 -0
  161. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_stratigraphic_column.py +0 -0
  162. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  163. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  164. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  165. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/__init__.py +0 -0
  166. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_base_surface.py +0 -0
  167. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_combined_surface.py +0 -0
  168. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_mesh.py +0 -0
  169. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_pointset.py +0 -0
  170. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_surface.py +0 -0
  171. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_tri_mesh.py +0 -0
  172. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_tri_mesh_stencil.py +0 -0
  173. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/surface/_triangulated_patch.py +0 -0
  174. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/__init__.py +0 -0
  175. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_any_time_series.py +0 -0
  176. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_from_nexus_summary.py +0 -0
  177. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_functions.py +0 -0
  178. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_geologic_time_series.py +0 -0
  179. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_time_duration.py +0 -0
  180. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/time_series/_time_series.py +0 -0
  181. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/__init__.py +0 -0
  182. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/_hexa_grid.py +0 -0
  183. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/_prism_grid.py +0 -0
  184. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/_pyramid_grid.py +0 -0
  185. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/_tetra_grid.py +0 -0
  186. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/unstructured/_unstructured_grid.py +0 -0
  187. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/weights_and_measures/__init__.py +0 -0
  188. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/weights_and_measures/nexus_units.py +0 -0
  189. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  190. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/__init__.py +0 -0
  191. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_blocked_well.py +0 -0
  192. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_deviation_survey.py +0 -0
  193. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_md_datum.py +0 -0
  194. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_trajectory.py +0 -0
  195. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_wellbore_frame.py +0 -0
  196. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_wellbore_marker.py +0 -0
  197. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/_wellbore_marker_frame.py +0 -0
  198. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/blocked_well_frame.py +0 -0
  199. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/well_object_funcs.py +0 -0
  200. {resqpy-4.16.5 → resqpy-4.16.7}/resqpy/well/well_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.16.5
3
+ Version: 4.16.7
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.16.5" # Set at build time
12
+ version = "4.16.7" # 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.16.5" # Set at build time
31
+ __version__ = "4.16.7" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -249,6 +249,7 @@ class GridConnectionSet(BaseResqpy):
249
249
  gcs.model = parent_model
250
250
  gcs.uuid = bu.new_uuid() # not strictly necessary as append will cause a new uuid as well
251
251
  gcs.title = title
252
+ gcs.property_collection = None
252
253
  # append data from the remaining grid connection sets
253
254
  for another_uuid in gcs_uuid_list[1:]:
254
255
  another_gcs = GridConnectionSet(source_model, uuid = another_uuid)
@@ -2089,6 +2090,7 @@ class GridConnectionSet(BaseResqpy):
2089
2090
  if default_value is None:
2090
2091
  default_value = -1 if dtype is int else np.NaN
2091
2092
  gcs_prop_array = gcs_prop.array_ref()
2093
+ assert gcs_prop_array.shape == (self.count,)
2092
2094
  log.debug(f'preparing grid face arrays from gcs property: {gcs_prop.title}; from gcs:{self.title}')
2093
2095
 
2094
2096
  baffle_mask = None
@@ -2102,29 +2104,31 @@ class GridConnectionSet(BaseResqpy):
2102
2104
  ai = np.full((nk, nj, ni + 1), default_value, dtype = dtype)
2103
2105
 
2104
2106
  # populate arrays from faces of gcs, optionally filtered by feature index
2105
- cip, fip = self.list_of_cell_face_pairs_for_feature_index(None)
2106
- assert len(cip) == self.count and len(fip) == self.count
2107
- assert gcs_prop_array.shape == (self.count,)
2108
- if feature_index is None:
2109
- indices = np.arange(self.count, dtype = int)
2110
- else:
2111
- indices = self.indices_for_feature_index(feature_index)
2112
-
2113
- side_list = ([0] if lazy else [0, 1])
2107
+ cip, fip = self.list_of_cell_face_pairs_for_feature_index(feature_index)
2114
2108
 
2115
2109
  value_array = gcs_prop_array.copy()
2110
+
2116
2111
  if baffle_mask is not None:
2117
2112
  value_array[baffle_mask] = 0 # will be cast to float (or bool) if needed
2113
+
2114
+ if feature_index is not None:
2115
+ indices = self.indices_for_feature_index(feature_index)
2116
+ value_array = value_array[indices]
2117
+ if active_mask is not None:
2118
+ active_mask = active_mask[indices]
2119
+
2118
2120
  if active_mask is not None:
2119
2121
  cip = cip[active_mask, :, :]
2120
2122
  value_array = value_array[active_mask]
2121
2123
 
2124
+ side_list = ([0] if lazy else [0, 1])
2125
+
2122
2126
  for side in side_list:
2123
2127
  cell_kji0 = cip[:, side].copy() # shape (N, 3)
2124
2128
  axis = fip[:, side, 0] # shape (N,)
2125
2129
  polarity = fip[:, side, 1] # shape (N,)
2126
- assert 0 <= np.min(axis) and np.max(axis) <= 2
2127
- assert 0 <= np.min(polarity) and np.max(polarity) <= 1
2130
+ # assert 0 <= np.min(axis) and np.max(axis) <= 2
2131
+ # assert 0 <= np.min(polarity) and np.max(polarity) <= 1
2128
2132
 
2129
2133
  axis_mask = (axis == 0).astype(bool)
2130
2134
  ak_kji0 = cell_kji0[axis_mask, :]
@@ -286,6 +286,14 @@ def _h5_overwrite_array_slice(model, h5_key_pair, slice_tuple, array_slice):
286
286
  dset[slice_tuple] = array_slice
287
287
 
288
288
 
289
+ def _h5_overwrite_array(model, h5_key_pair, array):
290
+ """Overwrites (updates) the whole of an hdf5 array."""
291
+
292
+ h5_root = _h5_access(model, h5_key_pair[0], mode = 'a')
293
+ dset = h5_root[h5_key_pair[1]]
294
+ dset[...] = array
295
+
296
+
289
297
  def h5_clear_filename_cache(model):
290
298
  """Clears the cached filenames associated with all ext uuids."""
291
299
 
@@ -1475,6 +1475,21 @@ class Model():
1475
1475
 
1476
1476
  return m_h._h5_overwrite_array_slice(self, h5_key_pair, slice_tuple, array_slice)
1477
1477
 
1478
+ def h5_overwrite_array(self, h5_key_pair, array):
1479
+ """Overwrites (updates) the whole of an hdf5 array.
1480
+
1481
+ arguments:
1482
+ h5_key_pair (uuid, string): the uuid of the hdf5 ext part and the hdf5 internal path to the
1483
+ required hdf5 array
1484
+ array (numpy array of shape to match existing hdf5 dataset): the data to write
1485
+
1486
+ notes:
1487
+ this method naively updates an hdf5 array without using mpi to look after parallel updates;
1488
+ metadata (such as uuid or property min, max values) is not modified in any way by the method
1489
+ """
1490
+
1491
+ return m_h._h5_overwrite_array(self, h5_key_pair, array)
1492
+
1478
1493
  def h5_clear_filename_cache(self):
1479
1494
  """Clears the cached filenames associated with all ext uuids."""
1480
1495
 
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