resqpy 5.1.2__tar.gz → 5.1.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.
- {resqpy-5.1.2 → resqpy-5.1.3}/PKG-INFO +1 -1
- {resqpy-5.1.2 → resqpy-5.1.3}/pyproject.toml +1 -1
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/__init__.py +1 -1
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/_find_faces.py +27 -17
- {resqpy-5.1.2 → resqpy-5.1.3}/LICENSE +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/README.md +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/crs.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_faults.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_coarsened_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_common.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_copy_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_drape_to_surface.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_extract_box.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_extract_box_for_well.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_gather_ensemble.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_interpolated_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_refined_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_tilted_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_unsplit_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_zonal_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/fault/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/fault/_gcs_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/fault/_grid_connection_set.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_cell_properties.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_connection_sets.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_create_grid_xml.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_defined_geometry.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_extract_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_face_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_faults.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_grid_types.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_intervals_info.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_pillars.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_pixel_maps.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_points_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_regular_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_transmissibility.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_write_nexus_corp.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid/_xyz.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/_grid_skin.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/_grid_surface.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/lines/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/lines/_common.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/lines/_polyline.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/lines/_polyline_set.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_catalogue.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_context.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_forestry.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_grids.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_hdf5.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_model.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/model/_xml.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/_multiprocessing.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/wrappers/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/ab_toolbox.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/base.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/box_utilities.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/class_dict.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/consolidation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/data/build.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/data/properties.json +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/dataframe.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/exceptions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/factors.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/fine_coarse.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/grid_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/intersection.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/keyword_files.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/load_data.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/point_inclusion.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/random_seed.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/read_nexus_fault.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/relperm.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/simple_lines.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/time.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/trademark.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/transmission.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/triangulation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/uuid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/vdb.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/vector_utilities.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/volume.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/wellspec_keywords.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/write_data.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/write_hdf5.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/xml_et.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/xml_namespaces.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/olio/zmap_reader.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/_utils.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/boundary_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/boundary_feature_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/earth_model_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/fault_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/fluid_boundary_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/frontier_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/generic_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/genetic_boundary_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/geobody_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/geobody_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/geologic_unit_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/horizon_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/organization_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/structural_organization_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/tectonic_boundary_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/wellbore_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/organize/wellbore_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/_collection_add_part.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/_collection_create_xml.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/_collection_get_attributes.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/_collection_support.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/_property.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/attribute_property_set.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/grid_property_collection.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/property_collection.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/property_common.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/property_kind.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/string_lookup.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/well_interval_property.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/well_interval_property_collection.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/well_log.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/property/well_log_collection.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_add_ab_properties.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_add_surfaces.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_grid_from_cp.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_import_nexus.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_binary_contact_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_strata_common.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_stratigraphic_column.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_base_surface.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_combined_surface.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_mesh.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_pointset.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_surface.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_tri_mesh.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_tri_mesh_stencil.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/surface/_triangulated_patch.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_any_time_series.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_from_nexus_summary.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_functions.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_geologic_time_series.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_time_duration.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/time_series/_time_series.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/_hexa_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/_prism_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/_pyramid_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/_tetra_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/unstructured/_unstructured_grid.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/weights_and_measures/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/weights_and_measures/nexus_units.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/__init__.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_blocked_well.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_deviation_survey.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_md_datum.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_trajectory.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_wellbore_frame.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_wellbore_marker.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/_wellbore_marker_frame.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/blocked_well_frame.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/well_object_funcs.py +0 -0
- {resqpy-5.1.2 → resqpy-5.1.3}/resqpy/well/well_utils.py +0 -0
@@ -1246,9 +1246,9 @@ def find_faces_to_represent_surface_regular_optimised(grid,
|
|
1246
1246
|
# log.debug('finished preparing columns bisector')
|
1247
1247
|
elif patchwork:
|
1248
1248
|
n_patches = surface.number_of_patches()
|
1249
|
-
nkf = len(k_faces_kji0)
|
1250
|
-
njf = len(j_faces_kji0)
|
1251
|
-
nif = len(i_faces_kji0)
|
1249
|
+
nkf = 0 if k_faces_kji0 is None else len(k_faces_kji0)
|
1250
|
+
njf = 0 if j_faces_kji0 is None else len(j_faces_kji0)
|
1251
|
+
nif = 0 if i_faces_kji0 is None else len(i_faces_kji0)
|
1252
1252
|
# fetch patch indices for triangle hits
|
1253
1253
|
assert all_tris is not None and len(all_tris) == nkf + njf + nif
|
1254
1254
|
patch_indices_k = surface.patch_indices_for_triangle_indices(all_tris[:nkf])
|
@@ -1260,27 +1260,37 @@ def find_faces_to_represent_surface_regular_optimised(grid,
|
|
1260
1260
|
bisector = np.ones(_shape_packed(grid.extent_kji), dtype = np.uint8)
|
1261
1261
|
else:
|
1262
1262
|
bisector = np.ones(tuple(grid.extent_kji), dtype = np.bool_)
|
1263
|
-
# populate
|
1263
|
+
# populate composite bisector
|
1264
1264
|
for patch in range(n_patches):
|
1265
1265
|
mask = (patch_indices == patch)
|
1266
1266
|
if np.count_nonzero(mask) == 0:
|
1267
1267
|
log.warning(f'patch {patch} of surface {surface.title} is not applicable to any cells in grid')
|
1268
1268
|
continue
|
1269
|
+
patch_k_faces_kji0 = None
|
1270
|
+
if k_faces_kji0 is not None:
|
1271
|
+
patch_k_faces_kji0 = k_faces_kji0[(patch_indices_k == patch).astype(bool)]
|
1272
|
+
patch_j_faces_kji0 = None
|
1273
|
+
if j_faces_kji0 is not None:
|
1274
|
+
patch_j_faces_kji0 = j_faces_kji0[(patch_indices_j == patch).astype(bool)]
|
1275
|
+
patch_i_faces_kji0 = None
|
1276
|
+
if i_faces_kji0 is not None:
|
1277
|
+
patch_i_faces_kji0 = i_faces_kji0[(patch_indices_i == patch).astype(bool)]
|
1269
1278
|
if packed_bisectors:
|
1270
1279
|
mask = np.packbits(mask, axis = -1)
|
1271
1280
|
patch_bisector, is_curtain = \
|
1272
1281
|
packed_bisector_from_face_indices(tuple(grid.extent_kji),
|
1273
|
-
|
1274
|
-
|
1275
|
-
|
1282
|
+
patch_k_faces_kji0,
|
1283
|
+
patch_j_faces_kji0,
|
1284
|
+
patch_i_faces_kji0,
|
1276
1285
|
raw_bisector)
|
1277
|
-
bisector = np.bitwise_or(np.bitwise_and(mask, patch_bisector),
|
1286
|
+
bisector = np.bitwise_or(np.bitwise_and(mask, patch_bisector),
|
1287
|
+
np.bitwise_and(np.invert(mask), bisector))
|
1278
1288
|
else:
|
1279
1289
|
patch_bisector, is_curtain = \
|
1280
1290
|
bisector_from_face_indices(tuple(grid.extent_kji),
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1291
|
+
patch_k_faces_kji0,
|
1292
|
+
patch_j_faces_kji0,
|
1293
|
+
patch_i_faces_kji0,
|
1284
1294
|
raw_bisector)
|
1285
1295
|
bisector[mask] = patch_bisector[mask]
|
1286
1296
|
if is_curtain:
|
@@ -2293,12 +2303,12 @@ def get_boundary_from_indices( # type: ignore
|
|
2293
2303
|
k_faces_kji0: Union[np.ndarray, None], j_faces_kji0: Union[np.ndarray, None],
|
2294
2304
|
i_faces_kji0: Union[np.ndarray, None], grid_extent_kji: Tuple[int, int, int]) -> np.ndarray:
|
2295
2305
|
"""Return python protocol box containing indices"""
|
2296
|
-
k_min_kji0 = None if (k_faces_kji0 is None or k_faces_kji0.size == 0) else np.min(k_faces_kji0, axis = 0)
|
2297
|
-
k_max_kji0 = None if (k_faces_kji0 is None or k_faces_kji0.size == 0) else np.max(k_faces_kji0, axis = 0)
|
2298
|
-
j_min_kji0 = None if (j_faces_kji0 is None or j_faces_kji0.size == 0) else np.min(j_faces_kji0, axis = 0)
|
2299
|
-
j_max_kji0 = None if (j_faces_kji0 is None or j_faces_kji0.size == 0) else np.max(j_faces_kji0, axis = 0)
|
2300
|
-
i_min_kji0 = None if (i_faces_kji0 is None or i_faces_kji0.size == 0) else np.min(i_faces_kji0, axis = 0)
|
2301
|
-
i_max_kji0 = None if (i_faces_kji0 is None or i_faces_kji0.size == 0) else np.max(i_faces_kji0, axis = 0)
|
2306
|
+
k_min_kji0 = None if ((k_faces_kji0 is None) or (k_faces_kji0.size == 0)) else np.min(k_faces_kji0, axis = 0)
|
2307
|
+
k_max_kji0 = None if ((k_faces_kji0 is None) or (k_faces_kji0.size == 0)) else np.max(k_faces_kji0, axis = 0)
|
2308
|
+
j_min_kji0 = None if ((j_faces_kji0 is None) or (j_faces_kji0.size == 0)) else np.min(j_faces_kji0, axis = 0)
|
2309
|
+
j_max_kji0 = None if ((j_faces_kji0 is None) or (j_faces_kji0.size == 0)) else np.max(j_faces_kji0, axis = 0)
|
2310
|
+
i_min_kji0 = None if ((i_faces_kji0 is None) or (i_faces_kji0.size == 0)) else np.min(i_faces_kji0, axis = 0)
|
2311
|
+
i_max_kji0 = None if ((i_faces_kji0 is None) or (i_faces_kji0.size == 0)) else np.max(i_faces_kji0, axis = 0)
|
2302
2312
|
box = np.empty((2, 3), dtype = np.int32)
|
2303
2313
|
box[0, :] = grid_extent_kji
|
2304
2314
|
box[1, :] = -1
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|