resqpy 4.18.4__tar.gz → 4.18.6__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.
- {resqpy-4.18.4 → resqpy-4.18.6}/PKG-INFO +1 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/pyproject.toml +1 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/__init__.py +1 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_extract_functions.py +2 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_grid.py +63 -2
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/_find_faces.py +0 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/wrappers/grid_surface_mp.py +1 -1
- {resqpy-4.18.4 → resqpy-4.18.6}/LICENSE +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/README.md +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/crs.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_faults.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_coarsened_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_common.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_copy_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_drape_to_surface.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_extract_box.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_extract_box_for_well.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_gather_ensemble.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_interpolated_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_refined_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_tilted_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_unsplit_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_zonal_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/fault/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/fault/_gcs_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/fault/_grid_connection_set.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_cell_properties.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_connection_sets.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_create_grid_xml.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_defined_geometry.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_face_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_faults.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_grid_types.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_intervals_info.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_moved_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_pillars.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_pixel_maps.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_points_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_regular_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_transmissibility.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_write_nexus_corp.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid/_xyz.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/_grid_skin.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/_grid_surface.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/lines/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/lines/_common.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/lines/_polyline.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/lines/_polyline_set.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_catalogue.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_context.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_forestry.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_grids.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_hdf5.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_model.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/model/_xml.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/_multiprocessing.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/wrappers/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/ab_toolbox.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/base.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/box_utilities.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/class_dict.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/consolidation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/data/build.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/data/properties.json +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/dataframe.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/exceptions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/factors.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/fine_coarse.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/grid_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/intersection.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/keyword_files.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/load_data.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/point_inclusion.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/random_seed.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/read_nexus_fault.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/relperm.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/simple_lines.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/time.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/trademark.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/transmission.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/triangulation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/uuid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/vdb.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/vector_utilities.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/volume.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/wellspec_keywords.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/write_data.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/write_hdf5.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/xml_et.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/xml_namespaces.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/olio/zmap_reader.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/_utils.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/boundary_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/boundary_feature_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/earth_model_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/fault_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/fluid_boundary_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/frontier_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/generic_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/genetic_boundary_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/geobody_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/geobody_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/geologic_unit_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/horizon_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/organization_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/structural_organization_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/tectonic_boundary_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/wellbore_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/organize/wellbore_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/_collection_add_part.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/_collection_create_xml.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/_collection_get_attributes.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/_collection_support.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/_property.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/attribute_property_set.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/grid_property_collection.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/property_collection.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/property_common.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/property_kind.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/string_lookup.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/well_interval_property.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/well_interval_property_collection.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/well_log.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/property/well_log_collection.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_add_ab_properties.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_add_surfaces.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_grid_from_cp.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_import_nexus.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_binary_contact_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_strata_common.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_stratigraphic_column.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_base_surface.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_combined_surface.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_mesh.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_pointset.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_surface.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_tri_mesh.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_tri_mesh_stencil.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/surface/_triangulated_patch.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_any_time_series.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_from_nexus_summary.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_functions.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_geologic_time_series.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_time_duration.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/time_series/_time_series.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/_hexa_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/_prism_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/_pyramid_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/_tetra_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/unstructured/_unstructured_grid.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/weights_and_measures/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/weights_and_measures/nexus_units.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/__init__.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_blocked_well.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_deviation_survey.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_md_datum.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_trajectory.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_wellbore_frame.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_wellbore_marker.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/_wellbore_marker_frame.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/blocked_well_frame.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/well_object_funcs.py +0 -0
- {resqpy-4.18.4 → resqpy-4.18.6}/resqpy/well/well_utils.py +0 -0
@@ -501,7 +501,7 @@ def extract_inactive_mask(grid, check_pinchout = False):
|
|
501
501
|
geom_defined = grr_dg.cell_geometry_is_defined_ref(grid)
|
502
502
|
if grid.inactive is None:
|
503
503
|
if geom_defined is None or geom_defined is True:
|
504
|
-
grid.inactive = np.zeros(tuple(grid.extent_kji)) # ie. all active
|
504
|
+
grid.inactive = np.zeros(tuple(grid.extent_kji), dtype = bool) # ie. all active
|
505
505
|
else:
|
506
506
|
grid.inactive = np.logical_not(grr_dg.cell_geometry_is_defined_ref(grid))
|
507
507
|
if check_pinchout:
|
@@ -524,6 +524,7 @@ def extract_inactive_mask(grid, check_pinchout = False):
|
|
524
524
|
active_gpc = rprop.selective_version_of_collection(active_gpc,
|
525
525
|
time_index = grid.time_index,
|
526
526
|
time_series_uuid = grid.time_series_uuid)
|
527
|
+
active_parts = active_gpc.parts()
|
527
528
|
else:
|
528
529
|
active_parts = []
|
529
530
|
for part in active_gpc.parts():
|
@@ -15,6 +15,7 @@ import resqpy.grid as grr
|
|
15
15
|
import resqpy.grid_surface as rqgs
|
16
16
|
import resqpy.fault as rqf
|
17
17
|
import resqpy.property as rqp
|
18
|
+
import resqpy.lines as rql
|
18
19
|
import resqpy.olio.grid_functions as gf
|
19
20
|
import resqpy.olio.uuid as bu
|
20
21
|
import resqpy.olio.write_hdf5 as rwh5
|
@@ -75,7 +76,8 @@ class Grid(BaseResqpy):
|
|
75
76
|
geometry_required = True,
|
76
77
|
title = None,
|
77
78
|
originator = None,
|
78
|
-
extra_metadata = {}
|
79
|
+
extra_metadata = {},
|
80
|
+
load_inactive = True):
|
79
81
|
"""Create a Grid object and optionally populate from xml tree.
|
80
82
|
|
81
83
|
arguments:
|
@@ -91,6 +93,8 @@ class Grid(BaseResqpy):
|
|
91
93
|
ignored if loading from xml
|
92
94
|
extra_metadata (dict, optional): dictionary of extra metadata items to add to the grid;
|
93
95
|
ignored if loading from xml
|
96
|
+
load_inactive (bool, default True): if True and uuid is provided, the inactive attribubte is
|
97
|
+
populated if a property of kind 'active' is found for the grid
|
94
98
|
|
95
99
|
returns:
|
96
100
|
a newly created Grid object
|
@@ -147,6 +151,8 @@ class Grid(BaseResqpy):
|
|
147
151
|
self.title = 'ROOT'
|
148
152
|
|
149
153
|
if uuid is not None:
|
154
|
+
if load_inactive:
|
155
|
+
self.extract_inactive_mask()
|
150
156
|
if geometry_required:
|
151
157
|
assert self.geometry_root is not None, 'grid geometry not present in xml'
|
152
158
|
if find_properties:
|
@@ -185,7 +191,6 @@ class Grid(BaseResqpy):
|
|
185
191
|
self.extract_parent()
|
186
192
|
self.extract_children()
|
187
193
|
# self.create_column_pillar_mapping() # mapping now created on demand in other methods
|
188
|
-
self.extract_inactive_mask()
|
189
194
|
self.extract_stratigraphy()
|
190
195
|
self.get_represented_interpretation()
|
191
196
|
|
@@ -1493,6 +1498,62 @@ class Grid(BaseResqpy):
|
|
1493
1498
|
"""
|
1494
1499
|
return z_corner_point_depths(self, order = order)
|
1495
1500
|
|
1501
|
+
def frontier(self, set_z_zero = True, title = None, add_as_part = True):
|
1502
|
+
"""Returns a frontier polygon (closed polyline) based on midpoints of edge coordinate lines, with z set to zero.
|
1503
|
+
|
1504
|
+
arguments:
|
1505
|
+
- set_z_zero (bool, default True): if True, the z values of the returned polyline are all set to zero; if False,
|
1506
|
+
they are left at the midpoint z values from the edge coordinate lines
|
1507
|
+
- title (str, optional): the citation title for the polyline; if None, one is generated using the grid title
|
1508
|
+
- add_as_part (bool default True): if True, the xml is created for the polyline and it is added as a part to
|
1509
|
+
the model; if False, the create_xml() method is not called fot the polyline
|
1510
|
+
|
1511
|
+
returns:
|
1512
|
+
- closed Polyline representing the frontier of the grid in plan view
|
1513
|
+
"""
|
1514
|
+
coords = self.coordinate_line_end_points()
|
1515
|
+
nj = self.nj
|
1516
|
+
ni = self.ni
|
1517
|
+
frontier = np.zeros((2 * (nj + ni), 3), dtype = float)
|
1518
|
+
f_i = 0
|
1519
|
+
for i in range(self.ni):
|
1520
|
+
c = np.nanmean(coords[0, i], axis = 0)
|
1521
|
+
if np.any(np.isnan(c)):
|
1522
|
+
continue
|
1523
|
+
frontier[f_i] = c
|
1524
|
+
f_i += 1
|
1525
|
+
for j in range(self.nj):
|
1526
|
+
c = np.nanmean(coords[j, ni], axis = 0)
|
1527
|
+
if np.any(np.isnan(c)):
|
1528
|
+
continue
|
1529
|
+
frontier[f_i] = c
|
1530
|
+
f_i += 1
|
1531
|
+
for i in range(self.ni, 0, -1):
|
1532
|
+
c = np.nanmean(coords[nj, i], axis = 0)
|
1533
|
+
if np.any(np.isnan(c)):
|
1534
|
+
continue
|
1535
|
+
frontier[f_i] = c
|
1536
|
+
f_i += 1
|
1537
|
+
for j in range(self.nj, 0, -1):
|
1538
|
+
c = np.nanmean(coords[j, 0], axis = 0)
|
1539
|
+
if np.any(np.isnan(c)):
|
1540
|
+
continue
|
1541
|
+
frontier[f_i] = c
|
1542
|
+
f_i += 1
|
1543
|
+
assert 4 <= f_i <= 2 * (nj + ni), 'failed to define frontier polygon (NaNs in grid geometry?)'
|
1544
|
+
if set_z_zero:
|
1545
|
+
frontier[:, 2] = 0.0
|
1546
|
+
if not title:
|
1547
|
+
title = f'frontier of {self.title}'
|
1548
|
+
pl = rql.Polyline(self.model,
|
1549
|
+
set_coord = frontier[:f_i],
|
1550
|
+
set_crs = self.crs_uuid,
|
1551
|
+
is_closed = True,
|
1552
|
+
title = title)
|
1553
|
+
if add_as_part:
|
1554
|
+
pl.create_xml()
|
1555
|
+
return pl
|
1556
|
+
|
1496
1557
|
def corner_points(self, cell_kji0 = None, points_root = None, cache_resqml_array = True, cache_cp_array = False):
|
1497
1558
|
"""Returns a numpy array of corner points for a single cell or the whole grid.
|
1498
1559
|
|
@@ -1575,7 +1575,6 @@ def packed_bisector_from_face_indices( # type: ignore
|
|
1575
1575
|
is_curtain = _packed_shallow_or_curtain_temp_bitwise_count(array, true_count, raw_bisector)
|
1576
1576
|
# todo: switch to numpy bitwise_count when numba supports it and resqpy has dropped older numpy versions
|
1577
1577
|
# is_curtain = _packed_shallow_or_curtain(array, true_count, raw_bisector)
|
1578
|
-
print(f'**** array shape: {array.shape}; dtype: {array.dtype}')
|
1579
1578
|
|
1580
1579
|
return array, is_curtain
|
1581
1580
|
|
@@ -353,7 +353,7 @@ def find_faces_to_represent_surface_regular_wrapper(index: int,
|
|
353
353
|
('vertical' if is_curtain else 'sloping'),
|
354
354
|
realization = realisation,
|
355
355
|
indexable_element = "columns" if is_curtain else "cells",
|
356
|
-
pre_packed = use_pack)
|
356
|
+
pre_packed = False if is_curtain else use_pack)
|
357
357
|
elif p_name == 'grid shadow':
|
358
358
|
if grid_pc is None:
|
359
359
|
grid_pc = rqp.PropertyCollection()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{resqpy-4.18.4 → resqpy-4.18.6}/resqpy/derived_model/_add_edges_per_column_property_array.py
RENAMED
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|