resqpy 4.12.1__tar.gz → 4.12.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. {resqpy-4.12.1 → resqpy-4.12.2}/PKG-INFO +1 -1
  2. {resqpy-4.12.1 → resqpy-4.12.2}/pyproject.toml +1 -1
  3. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/__init__.py +1 -1
  4. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_blocked_well.py +20 -3
  5. {resqpy-4.12.1 → resqpy-4.12.2}/LICENSE +0 -0
  6. {resqpy-4.12.1 → resqpy-4.12.2}/README.md +0 -0
  7. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/crs.py +0 -0
  8. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/__init__.py +0 -0
  9. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  10. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_faults.py +0 -0
  11. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  12. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  13. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  14. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  15. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  16. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_coarsened_grid.py +0 -0
  17. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_common.py +0 -0
  18. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_copy_grid.py +0 -0
  19. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_drape_to_surface.py +0 -0
  20. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_extract_box.py +0 -0
  21. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  22. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  23. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_gather_ensemble.py +0 -0
  24. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_interpolated_grid.py +0 -0
  25. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  26. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_refined_grid.py +0 -0
  27. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_tilted_grid.py +0 -0
  28. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_unsplit_grid.py +0 -0
  29. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_zonal_grid.py +0 -0
  30. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  31. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/fault/__init__.py +0 -0
  32. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/fault/_gcs_functions.py +0 -0
  33. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/fault/_grid_connection_set.py +0 -0
  34. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/__init__.py +0 -0
  35. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_cell_properties.py +0 -0
  36. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_connection_sets.py +0 -0
  37. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_create_grid_xml.py +0 -0
  38. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_defined_geometry.py +0 -0
  39. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_extract_functions.py +0 -0
  40. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_face_functions.py +0 -0
  41. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_faults.py +0 -0
  42. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_grid.py +0 -0
  43. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_grid_types.py +0 -0
  44. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_intervals_info.py +0 -0
  45. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_moved_functions.py +0 -0
  46. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_pillars.py +0 -0
  47. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_pixel_maps.py +0 -0
  48. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_points_functions.py +0 -0
  49. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_regular_grid.py +0 -0
  50. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_transmissibility.py +0 -0
  51. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  52. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_write_nexus_corp.py +0 -0
  53. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid/_xyz.py +0 -0
  54. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/__init__.py +0 -0
  55. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
  56. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/_find_faces.py +0 -0
  57. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/_grid_skin.py +0 -0
  58. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/_grid_surface.py +0 -0
  59. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  60. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  61. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/lines/__init__.py +0 -0
  62. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/lines/_common.py +0 -0
  63. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/lines/_polyline.py +0 -0
  64. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/lines/_polyline_set.py +0 -0
  65. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/__init__.py +0 -0
  66. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_catalogue.py +0 -0
  67. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_context.py +0 -0
  68. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_forestry.py +0 -0
  69. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_grids.py +0 -0
  70. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_hdf5.py +0 -0
  71. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_model.py +0 -0
  72. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/model/_xml.py +0 -0
  73. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/__init__.py +0 -0
  74. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/_multiprocessing.py +0 -0
  75. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  76. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  77. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
  78. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  79. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/__init__.py +0 -0
  80. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/ab_toolbox.py +0 -0
  81. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/base.py +0 -0
  82. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/box_utilities.py +0 -0
  83. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/class_dict.py +0 -0
  84. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/consolidation.py +0 -0
  85. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/data/build.py +0 -0
  86. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/data/properties.json +0 -0
  87. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/dataframe.py +0 -0
  88. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/exceptions.py +0 -0
  89. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/factors.py +0 -0
  90. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/fine_coarse.py +0 -0
  91. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/grid_functions.py +0 -0
  92. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/intersection.py +0 -0
  93. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/keyword_files.py +0 -0
  94. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/load_data.py +0 -0
  95. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/point_inclusion.py +0 -0
  96. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/random_seed.py +0 -0
  97. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/read_nexus_fault.py +0 -0
  98. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/relperm.py +0 -0
  99. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/simple_lines.py +0 -0
  100. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/time.py +0 -0
  101. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/trademark.py +0 -0
  102. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/transmission.py +0 -0
  103. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/triangulation.py +0 -0
  104. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/uuid.py +0 -0
  105. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/vdb.py +0 -0
  106. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/vector_utilities.py +0 -0
  107. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/volume.py +0 -0
  108. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/wellspec_keywords.py +0 -0
  109. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/write_data.py +0 -0
  110. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/write_hdf5.py +0 -0
  111. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/xml_et.py +0 -0
  112. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/xml_namespaces.py +0 -0
  113. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/olio/zmap_reader.py +0 -0
  114. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/__init__.py +0 -0
  115. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/_utils.py +0 -0
  116. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/boundary_feature.py +0 -0
  117. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  118. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/earth_model_interpretation.py +0 -0
  119. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/fault_interpretation.py +0 -0
  120. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/fluid_boundary_feature.py +0 -0
  121. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/frontier_feature.py +0 -0
  122. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/generic_interpretation.py +0 -0
  123. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/genetic_boundary_feature.py +0 -0
  124. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  125. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/geobody_feature.py +0 -0
  126. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/geobody_interpretation.py +0 -0
  127. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/geologic_unit_feature.py +0 -0
  128. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/horizon_interpretation.py +0 -0
  129. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/organization_feature.py +0 -0
  130. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  131. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/structural_organization_interpretation.py +0 -0
  132. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  133. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/wellbore_feature.py +0 -0
  134. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/organize/wellbore_interpretation.py +0 -0
  135. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/__init__.py +0 -0
  136. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/_collection_add_part.py +0 -0
  137. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/_collection_create_xml.py +0 -0
  138. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/_collection_get_attributes.py +0 -0
  139. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/_collection_support.py +0 -0
  140. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/_property.py +0 -0
  141. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/grid_property_collection.py +0 -0
  142. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/property_collection.py +0 -0
  143. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/property_common.py +0 -0
  144. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/property_kind.py +0 -0
  145. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/string_lookup.py +0 -0
  146. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/well_interval_property.py +0 -0
  147. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/well_interval_property_collection.py +0 -0
  148. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/well_log.py +0 -0
  149. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/property/well_log_collection.py +0 -0
  150. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/__init__.py +0 -0
  151. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_add_ab_properties.py +0 -0
  152. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_add_surfaces.py +0 -0
  153. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_grid_from_cp.py +0 -0
  154. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_import_nexus.py +0 -0
  155. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
  156. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
  157. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/__init__.py +0 -0
  158. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  159. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  160. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_strata_common.py +0 -0
  161. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_stratigraphic_column.py +0 -0
  162. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  163. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  164. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  165. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/__init__.py +0 -0
  166. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_base_surface.py +0 -0
  167. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_combined_surface.py +0 -0
  168. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_mesh.py +0 -0
  169. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_pointset.py +0 -0
  170. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_surface.py +0 -0
  171. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_tri_mesh.py +0 -0
  172. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/surface/_triangulated_patch.py +0 -0
  173. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/__init__.py +0 -0
  174. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_any_time_series.py +0 -0
  175. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_from_nexus_summary.py +0 -0
  176. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_functions.py +0 -0
  177. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_geologic_time_series.py +0 -0
  178. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_time_duration.py +0 -0
  179. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/time_series/_time_series.py +0 -0
  180. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/__init__.py +0 -0
  181. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/_hexa_grid.py +0 -0
  182. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/_prism_grid.py +0 -0
  183. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/_pyramid_grid.py +0 -0
  184. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/_tetra_grid.py +0 -0
  185. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/unstructured/_unstructured_grid.py +0 -0
  186. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/weights_and_measures/__init__.py +0 -0
  187. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/weights_and_measures/nexus_units.py +0 -0
  188. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  189. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/__init__.py +0 -0
  190. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_deviation_survey.py +0 -0
  191. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_md_datum.py +0 -0
  192. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_trajectory.py +0 -0
  193. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_wellbore_frame.py +0 -0
  194. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_wellbore_marker.py +0 -0
  195. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/_wellbore_marker_frame.py +0 -0
  196. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/blocked_well_frame.py +0 -0
  197. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/well_object_funcs.py +0 -0
  198. {resqpy-4.12.1 → resqpy-4.12.2}/resqpy/well/well_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.12.1
3
+ Version: 4.12.2
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.12.1" # Set at build time
12
+ version = "4.12.2" # 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.12.1" # Set at build time
31
+ __version__ = "4.12.2" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -1,7 +1,7 @@
1
1
  """BlockedWell class."""
2
2
 
3
3
  # Nexus is a registered trademark of the Halliburton Company
4
- # RMS and ROXAR are registered trademarks of Roxar Software Solutions AS, an Emerson company
4
+ # RMS and ROXAR are registered trademarks of Roxar Software Solutions AS, an AspenTech company
5
5
 
6
6
  import logging
7
7
 
@@ -301,7 +301,20 @@ class BlockedWell(BaseResqpy):
301
301
  gi_node = rqet.find_tag(node, 'GridIndices')
302
302
  assert gi_node is not None, 'blocked well grid indices hdf5 reference not found in xml'
303
303
  rqwu.load_hdf5_array(self, gi_node, 'grid_indices', dtype = 'int')
304
- assert self.grid_indices is not None and self.grid_indices.ndim == 1 and self.grid_indices.size == self.node_count - 1
304
+ # assert self.grid_indices is not None and self.grid_indices.ndim == 1 and self.grid_indices.size == self.node_count - 1
305
+ # temporary code to handle blocked wells with incorrectly shaped grid indices wrt. nodes
306
+ assert self.grid_indices is not None and self.grid_indices.ndim == 1
307
+ if self.grid_indices.size != self.node_count - 1:
308
+ if self.grid_indices.size == self.cell_count and self.node_count == 2 * self.cell_count:
309
+ log.warning(f'handling node duplication or missing unblocked intervals in blocked well: {self.title}')
310
+
311
+ expanded_grid_indices = np.full(self.node_count - 1, -1, dtype = int)
312
+ expanded_grid_indices[::2] = self.grid_indices
313
+ self.grid_indices = expanded_grid_indices
314
+ else:
315
+ raise ValueError(
316
+ f'incorrect grid indices size with respect to node count in blocked well: {self.title}')
317
+ # end of temporary code
305
318
  unique_grid_indices = np.unique(self.grid_indices) # sorted list of unique values
306
319
  self.gridind_null = rqet.find_tag_int(gi_node, 'NullValue')
307
320
  if self.gridind_null is None:
@@ -1477,6 +1490,10 @@ class BlockedWell(BaseResqpy):
1477
1490
 
1478
1491
  grid_crs_list = self.__verify_number_of_grids_and_crs_units(column_list = column_list)
1479
1492
 
1493
+ if doing_kh or doing_xyz or doing_angles or doing_entry_exit:
1494
+ for grid in self.grid_list:
1495
+ grid.cache_all_geometry_arrays()
1496
+
1480
1497
  k_face_check = np.zeros((2, 2), dtype = int)
1481
1498
  k_face_check[1, 1] = 1 # now represents entry, exit of K-, K+
1482
1499
  k_face_check_end = k_face_check.copy()
@@ -3057,7 +3074,7 @@ class BlockedWell(BaseResqpy):
3057
3074
  if BlockedWell.__is_float_column(col_name):
3058
3075
  form = '{0:>' + str(width) + '.3f}'
3059
3076
  value = row[col_name]
3060
- if col_name == 'ANGLA' and (np.isnan(value) or value is None):
3077
+ if col_name == 'ANGLA' and (pd.isna(row[col_name]) or value is None or np.isnan(value)):
3061
3078
  value = 0.0
3062
3079
  fp.write(sep + form.format(float(value)))
3063
3080
  else:
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