resqpy 4.15.0__tar.gz → 4.15.2__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.15.0 → resqpy-4.15.2}/PKG-INFO +1 -1
- {resqpy-4.15.0 → resqpy-4.15.2}/pyproject.toml +1 -1
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/__init__.py +1 -1
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/__init__.py +2 -2
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/attribute_property_set.py +24 -15
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/_import_nexus.py +75 -48
- resqpy-4.15.2/resqpy/rq_import/_import_vdb_all_grids.py +120 -0
- resqpy-4.15.0/resqpy/rq_import/_import_vdb_all_grids.py +0 -108
- {resqpy-4.15.0 → resqpy-4.15.2}/LICENSE +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/README.md +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/crs.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_faults.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_coarsened_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_common.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_copy_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_drape_to_surface.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_extract_box.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_extract_box_for_well.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_gather_ensemble.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_interpolated_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_refined_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_tilted_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_unsplit_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_zonal_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/fault/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/fault/_gcs_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/fault/_grid_connection_set.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_cell_properties.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_connection_sets.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_create_grid_xml.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_defined_geometry.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_extract_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_face_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_faults.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_grid_types.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_intervals_info.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_moved_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_pillars.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_pixel_maps.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_points_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_regular_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_transmissibility.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_write_nexus_corp.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid/_xyz.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/_find_faces.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/_grid_skin.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/_grid_surface.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/lines/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/lines/_common.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/lines/_polyline.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/lines/_polyline_set.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_catalogue.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_context.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_forestry.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_grids.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_hdf5.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_model.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/model/_xml.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/_multiprocessing.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/wrappers/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/ab_toolbox.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/base.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/box_utilities.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/class_dict.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/consolidation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/data/build.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/data/properties.json +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/dataframe.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/exceptions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/factors.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/fine_coarse.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/grid_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/intersection.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/keyword_files.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/load_data.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/point_inclusion.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/random_seed.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/read_nexus_fault.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/relperm.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/simple_lines.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/time.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/trademark.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/transmission.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/triangulation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/uuid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/vdb.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/vector_utilities.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/volume.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/wellspec_keywords.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/write_data.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/write_hdf5.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/xml_et.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/xml_namespaces.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/olio/zmap_reader.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/_utils.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/boundary_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/boundary_feature_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/earth_model_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/fault_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/fluid_boundary_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/frontier_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/generic_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/genetic_boundary_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/geobody_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/geobody_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/geologic_unit_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/horizon_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/organization_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/structural_organization_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/tectonic_boundary_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/wellbore_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/organize/wellbore_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/_collection_add_part.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/_collection_create_xml.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/_collection_get_attributes.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/_collection_support.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/_property.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/grid_property_collection.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/property_collection.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/property_common.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/property_kind.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/string_lookup.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/well_interval_property.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/well_interval_property_collection.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/well_log.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/property/well_log_collection.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/_add_ab_properties.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/_add_surfaces.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/_grid_from_cp.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_binary_contact_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_strata_common.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_stratigraphic_column.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_base_surface.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_combined_surface.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_mesh.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_pointset.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_surface.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_tri_mesh.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_tri_mesh_stencil.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/surface/_triangulated_patch.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_any_time_series.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_from_nexus_summary.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_functions.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_geologic_time_series.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_time_duration.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/time_series/_time_series.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/_hexa_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/_prism_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/_pyramid_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/_tetra_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/unstructured/_unstructured_grid.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/weights_and_measures/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/weights_and_measures/nexus_units.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/__init__.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_blocked_well.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_deviation_survey.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_md_datum.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_trajectory.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_wellbore_frame.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_wellbore_marker.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/_wellbore_marker_frame.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/blocked_well_frame.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/well_object_funcs.py +0 -0
- {resqpy-4.15.0 → resqpy-4.15.2}/resqpy/well/well_utils.py +0 -0
@@ -8,7 +8,7 @@ __all__ = [
|
|
8
8
|
'reformat_column_edges_from_resqml_format', 'same_property_kind', 'selective_version_of_collection',
|
9
9
|
'supported_local_property_kind_list', 'supported_property_kind_list', 'supported_facet_type_list',
|
10
10
|
'expected_facet_type_dict', 'create_transmisibility_multiplier_property_kind',
|
11
|
-
'property_kind_and_facet_from_keyword', 'guess_uom', 'property_parts', 'property_part'
|
11
|
+
'property_kind_and_facet_from_keyword', 'guess_uom', 'property_parts', 'property_part', 'make_aps_key'
|
12
12
|
]
|
13
13
|
|
14
14
|
from .property_common import property_collection_for_keyword, \
|
@@ -30,7 +30,7 @@ from .property_common import property_collection_for_keyword, \
|
|
30
30
|
from .property_kind import PropertyKind, create_transmisibility_multiplier_property_kind
|
31
31
|
from .string_lookup import StringLookup
|
32
32
|
from .property_collection import PropertyCollection
|
33
|
-
from .attribute_property_set import AttributePropertySet, ApsProperty
|
33
|
+
from .attribute_property_set import AttributePropertySet, ApsProperty, make_aps_key
|
34
34
|
from .grid_property_collection import GridPropertyCollection
|
35
35
|
from ._property import Property
|
36
36
|
from .well_interval_property import WellIntervalProperty
|
@@ -236,21 +236,12 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
236
236
|
|
237
237
|
def _key(self, part):
|
238
238
|
"""Returns the key (attribute name) for a given part."""
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
key = self.citation_title_for_part(part)
|
246
|
-
key = key.replace(' ', '_')
|
247
|
-
ti = self.time_index_for_part(part)
|
248
|
-
if ti is not None:
|
249
|
-
key += f'_t{ti}'
|
250
|
-
r = self.realization_for_part(part)
|
251
|
-
if r is not None:
|
252
|
-
key += f'_r{r}'
|
253
|
-
return key
|
239
|
+
return make_aps_key(self.key_mode,
|
240
|
+
property_kind = self.property_kind_for_part(part),
|
241
|
+
title = self.citation_title_for_part(part),
|
242
|
+
facet = self.facet_for_part(part),
|
243
|
+
time_index = self.time_index_for_part(part),
|
244
|
+
realization = self.realization_for_part(part))
|
254
245
|
|
255
246
|
def _make_attributes(self):
|
256
247
|
"""Setup individual properties with attribute style read access to metadata."""
|
@@ -262,3 +253,21 @@ class AttributePropertySet(rqp.PropertyCollection):
|
|
262
253
|
def __len__(self):
|
263
254
|
"""Returns the number of properties in the set."""
|
264
255
|
return self.number_of_parts()
|
256
|
+
|
257
|
+
|
258
|
+
def make_aps_key(key_mode, property_kind = None, title = None, facet = None, time_index = None, realization = None):
|
259
|
+
"""Contructs the key (attribute name) for a property based on metadata items."""
|
260
|
+
if key_mode == 'pk':
|
261
|
+
assert property_kind is not None
|
262
|
+
key = property_kind
|
263
|
+
if facet is not None:
|
264
|
+
key += f'_{facet}'
|
265
|
+
else:
|
266
|
+
assert title is not None
|
267
|
+
key = title
|
268
|
+
key = key.replace(' ', '_')
|
269
|
+
if time_index is not None:
|
270
|
+
key += f'_t{time_index}'
|
271
|
+
if realization is not None:
|
272
|
+
key += f'_r{realization}'
|
273
|
+
return key
|
@@ -67,55 +67,78 @@ def import_nexus(
|
|
67
67
|
ensemble_size_limit = None,
|
68
68
|
grid_title = 'ROOT',
|
69
69
|
mode = 'w',
|
70
|
-
progress_fn = None
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
vdb_case (str, optional): required if the vdb contains more than one case
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
70
|
+
progress_fn = None,
|
71
|
+
vdb_property_list = None):
|
72
|
+
"""Read a Nexus grid geometry (from ascii input or vdb) and optionally grid properties.
|
73
|
+
|
74
|
+
arguments:
|
75
|
+
- resqml_file_root (str): output path and file name without .epc or .h5 extension
|
76
|
+
- extent_ijk (triple float, optional): ijk extents (fortran ordering)
|
77
|
+
- vdb_file (str, optional): vdb input file, either this or corp_file should be not None;
|
78
|
+
required if importing from a vdb
|
79
|
+
- vdb_case (str, optional): required if the vdb contains more than one case;
|
80
|
+
if None, first case in vdb is used
|
81
|
+
- corp_file (str, optional): required if importing from corp ascii file;
|
82
|
+
corp ascii input file containing nexus corp data without keyword
|
83
|
+
- corp_bin_file (str, optional): required if importing from corp binary file
|
84
|
+
- corp_xy_units (str, default 'm'): xy length units
|
85
|
+
- corp_z_units (str, default 'm'): z length units
|
86
|
+
- corp_z_inc_down (bool, default True): if True z values increase with depth
|
87
|
+
- ijk_handedness (str, default 'right'): 'right' or 'left'
|
88
|
+
- corp_eight_mode (bool, default False): if True the ordering of corner point data
|
89
|
+
is in nexus EIGHT mode
|
90
|
+
- geometry_defined_everywhere (bool, default True): if False then inactive cells are
|
91
|
+
marked as not having geometry
|
92
|
+
- treat_as_nan (float, default None): if a value is provided corner points with
|
93
|
+
this value will be assigned not-a-number
|
94
|
+
- active_mask_file (str, default None): ascii property file holding values 0 or 1,
|
95
|
+
with 1 indicating active cells
|
96
|
+
- use_binary (bool, default False): if True a cached binary version of ascii files
|
97
|
+
will be used (pure binary, not corp bin format)
|
98
|
+
- resqml_xy_units (str, default 'm'): output xy units for resqml file
|
99
|
+
- resqml_z_units (str, default 'm'): output z units for resqml file
|
100
|
+
- resqml_z_inc_down (bool, default True): if True z values increase with depth for
|
101
|
+
output resqml file
|
102
|
+
- shift_to_local (bool, default False): if True then a local origin will be used in the CRS
|
103
|
+
- local_origin_place (str, default 'centre'): 'centre' or 'minimum'; if 'centre' the
|
104
|
+
local origin is placed at the centre of the grid; ignored if shift_to_local is False
|
105
|
+
- max_z_void (float, default 0.1): maximum z gap between vertically neighbouring corner points;
|
106
|
+
vertical gaps greater than this will introduce k gaps into resqml grid; units are corp z units
|
107
|
+
- split_pillars (bool, default True): if False an unfaulted grid will be generated
|
108
|
+
- split_tolerance (float, default 0.01): maximum distance between neighbouring corner points
|
109
|
+
before a pillar is considered 'split'; applies to each of x, y, z differences
|
110
|
+
- property_array_files (list, default None): list of (filename, keyword, uom, time_index, null_value, discrete)
|
111
|
+
- summary_file (str, default None): nexus output summary file, used to extract timestep dates
|
112
|
+
when loading recurrent data from vdb
|
113
|
+
- vdb_static_properties (bool, default True): if True, static vdb properties are imported;
|
114
|
+
only relevant if vdb_file is not None; see also vdb_property_list
|
115
|
+
- vdb_recurrent_properties (bool, default False): if True, recurrent vdb properties are imported;
|
116
|
+
only relevant if vdb_file is not None; see also vdb_property_list
|
117
|
+
- timestep_selection (str, default 'all): 'first', 'last', 'first and last', 'all',
|
118
|
+
or list of ints being reporting timestep numbers; ignored if vdb_recurrent_properties is False
|
119
|
+
- use_compressed_time_series (bool, default True): generates reduced time series containing
|
120
|
+
timesteps with recurrent properties from vdb, rather than full nexus summary time series
|
121
|
+
- decoarsen (bool, default True): where ICOARSE is present, redistribute data to uncoarse cells
|
122
|
+
- ab_property_list (list, optional): list of
|
123
|
+
(file_name, keyword, property_kind, facet_type, facet, uom, time_index, null_value, discrete)
|
124
|
+
- create_property_set (bool, default False): if True a resqml PropertySet is created
|
125
|
+
- ensemble_case_dirs_root (str, optional): path up to but excluding realisation number
|
126
|
+
- ensemble_property_dictionary (str, optional): dictionary mapping title (or keyword) to
|
127
|
+
(filename, property_kind, facet_type, facet, uom, time_index, null_value, discrete)
|
128
|
+
- ensemble_size_limit (int, optional): if present processing of ensemble will terminate
|
129
|
+
after this number of cases is reached
|
130
|
+
- grid_title (str, default 'ROOT'): grid citation title
|
131
|
+
- mode (str, default 'w'): 'w' or 'a', mode to write or append to hdf5
|
132
|
+
- progress_fn (function, default None): if present function must have one floating argument
|
133
|
+
with value increasing from 0.0 to 1.0, and is called at intervals to indicate progress
|
134
|
+
- vdb_property_list (list of str, optional): list of vdb static and/or recurrent properties to
|
135
|
+
include in the import; if None, all properties are imported; vdb_static_properties and
|
136
|
+
vdb_recurrent_properties boolean arguments must also be set True for respective properties
|
137
|
+
to be included; ignored if not importing from vdb
|
138
|
+
|
139
|
+
returns:
|
140
|
+
- resqml model in memory & written to disc
|
117
141
|
"""
|
118
|
-
|
119
142
|
if resqml_file_root.endswith('.epc'):
|
120
143
|
resqml_file_root = resqml_file_root[:-4]
|
121
144
|
assert mode in ['w', 'a']
|
@@ -333,6 +356,8 @@ def import_nexus(
|
|
333
356
|
prop_import_collection = rp.GridPropertyCollection()
|
334
357
|
prop_import_collection.set_grid(grid)
|
335
358
|
for keyword in props:
|
359
|
+
if vdb_property_list is not None and keyword not in vdb_property_list:
|
360
|
+
continue
|
336
361
|
prop_import_collection.import_vdb_static_property_to_cache(vdbase, keyword, grid_name = grid_title)
|
337
362
|
# if active_mask is not None:
|
338
363
|
# prop_import_collection.add_cached_array_to_imported_list(active_mask, active_mask_file, 'ACTIVE', property_kind = 'active',
|
@@ -520,6 +545,8 @@ def import_nexus(
|
|
520
545
|
for keyword in recur_prop_list:
|
521
546
|
if vdb.bad_keyword(keyword):
|
522
547
|
continue
|
548
|
+
if vdb_property_list is not None and keyword not in vdb_property_list:
|
549
|
+
continue
|
523
550
|
prop_kind, facet_type, facet = rp.property_kind_and_facet_from_keyword(keyword)
|
524
551
|
step_import_collection.import_vdb_recurrent_property_to_cache(
|
525
552
|
vdbase,
|
@@ -0,0 +1,120 @@
|
|
1
|
+
"""_import_vdb_all_grids.py: Module to import a vdb into resqml format."""
|
2
|
+
|
3
|
+
# Nexus is a registered trademark of the Halliburton Company
|
4
|
+
|
5
|
+
import logging
|
6
|
+
|
7
|
+
log = logging.getLogger(__name__)
|
8
|
+
|
9
|
+
import resqpy.olio.vdb as vdb
|
10
|
+
import resqpy.rq_import as rqi
|
11
|
+
|
12
|
+
|
13
|
+
def import_vdb_all_grids(resqml_file_root,
|
14
|
+
extent_ijk = None,
|
15
|
+
vdb_file = None,
|
16
|
+
vdb_case = None,
|
17
|
+
corp_xy_units = 'm',
|
18
|
+
corp_z_units = 'm',
|
19
|
+
corp_z_inc_down = True,
|
20
|
+
ijk_handedness = 'right',
|
21
|
+
geometry_defined_everywhere = True,
|
22
|
+
treat_as_nan = None,
|
23
|
+
resqml_xy_units = 'm',
|
24
|
+
resqml_z_units = 'm',
|
25
|
+
resqml_z_inc_down = True,
|
26
|
+
shift_to_local = False,
|
27
|
+
local_origin_place = 'centre',
|
28
|
+
max_z_void = 0.1,
|
29
|
+
split_pillars = True,
|
30
|
+
split_tolerance = 0.01,
|
31
|
+
vdb_static_properties = True,
|
32
|
+
vdb_recurrent_properties = False,
|
33
|
+
decoarsen = True,
|
34
|
+
timestep_selection = 'all',
|
35
|
+
create_property_set = False,
|
36
|
+
vdb_property_list = None):
|
37
|
+
"""Creates a RESQML dataset containing grids and grid properties, including LGRs, for a single realisation.
|
38
|
+
|
39
|
+
arguments:
|
40
|
+
- resqml_file_root (str): output path and file name without .epc or .h5 extension
|
41
|
+
- extent_ijk (triple float, optional): ijk extents (fortran ordering)
|
42
|
+
- vdb_file (str, optional): vdb input file, either this or corp_file should be not None;
|
43
|
+
required if importing from a vdb
|
44
|
+
- vdb_case (str, optional): required if the vdb contains more than one case;
|
45
|
+
if None, first case in vdb is used
|
46
|
+
- corp_xy_units (str, default 'm'): xy length units
|
47
|
+
- corp_z_units (str, default 'm'): z length units
|
48
|
+
- corp_z_inc_down (bool, default True): if True z values increase with depth
|
49
|
+
- ijk_handedness (str, default 'right'): 'right' or 'left'
|
50
|
+
- geometry_defined_everywhere (bool, default True): if False then inactive cells are marked
|
51
|
+
as not having geometry
|
52
|
+
- treat_as_nan (float, default None): if a value is provided corner points with this value
|
53
|
+
will be assigned nan (not-a-number)
|
54
|
+
- resqml_xy_units (str, default 'm'): output xy units for resqml file
|
55
|
+
- resqml_z_units (str, default 'm'): output z units for resqml file
|
56
|
+
- resqml_z_inc_down (bool, default True): if True z values increase with depth in output resqml file
|
57
|
+
- shift_to_local (bool, default False): if True then a local origin will be used in the CRS
|
58
|
+
- local_origin_place (str, default 'centre'): 'centre' or 'minimum'; if 'centre' the local origin
|
59
|
+
is placed at the centre of the grid; ignored if shift_to_local is False
|
60
|
+
- max_z_void (float, default 0.1): maximum z gap between vertically neighbouring corner points;
|
61
|
+
vertical gaps greater than this will introduce k gaps into resqml grid; units are corp z units
|
62
|
+
- split_pillars (bool, default True): if False an unfaulted grid will be generated
|
63
|
+
- split_tolerance (float, default 0.01): maximum distance between neighbouring corner points
|
64
|
+
before a pillar is considered 'split'; applies to each of x, y, z differences
|
65
|
+
- vdb_static_properties (bool, default True): if True, static vdb properties are imported;
|
66
|
+
only relevant if vdb_file is not None; see also vdb_property_list
|
67
|
+
- vdb_recurrent_properties (bool, default False): if True, recurrent vdb properties are imported;
|
68
|
+
only relevant if vdb_file is not None; see also vdb_property_list
|
69
|
+
- decoarsen (bool, default True): where ICOARSE is present, redistribute data to uncoarse cells
|
70
|
+
- timestep_selection (str, default 'all): 'first', 'last', 'first and last', 'all', or list of ints
|
71
|
+
being reporting timestep numbers to include; ignored if vdb_recurrent_properties is False
|
72
|
+
- create_property_set (bool, default False): if True a resqml PropertySet is created
|
73
|
+
- vdb_property_list (list of str, optional): list of vdb static and/or recurrent properties to
|
74
|
+
include in the import; if None, all properties are imported; vdb_static_properties and
|
75
|
+
vdb_recurrent_properties boolean arguments must also be set True for respective properties
|
76
|
+
to be included; ignored if not importing from vdb
|
77
|
+
"""
|
78
|
+
vdbase = vdb.VDB(vdb_file)
|
79
|
+
case_list = vdbase.cases()
|
80
|
+
assert len(case_list) > 0, 'no cases found in vdb'
|
81
|
+
if vdb_case is None:
|
82
|
+
vdb_case = case_list[0]
|
83
|
+
else:
|
84
|
+
assert vdb_case in case_list, 'case ' + vdb_case + ' not found in vdb: ' + vdb_file
|
85
|
+
vdbase.set_use_case(vdb_case)
|
86
|
+
grid_list = vdbase.list_of_grids()
|
87
|
+
index = 0
|
88
|
+
for grid_name in grid_list:
|
89
|
+
if grid_name.upper().startswith('SMALLGRIDS'):
|
90
|
+
log.warning('vdb import skipping small grids')
|
91
|
+
continue
|
92
|
+
log.debug('importing vdb data for grid ' + str(grid_name))
|
93
|
+
rqi.import_nexus(
|
94
|
+
resqml_file_root,
|
95
|
+
extent_ijk = extent_ijk if grid_name == 'ROOT' else None, # 3 element numpy vector applicable to ROOT
|
96
|
+
vdb_file = vdb_file,
|
97
|
+
vdb_case = vdb_case, # if None, first case in vdb is used (usually a vdb only holds one case)
|
98
|
+
corp_xy_units = corp_xy_units,
|
99
|
+
corp_z_units = corp_z_units,
|
100
|
+
corp_z_inc_down = corp_z_inc_down,
|
101
|
+
ijk_handedness = ijk_handedness,
|
102
|
+
geometry_defined_everywhere = geometry_defined_everywhere,
|
103
|
+
treat_as_nan = treat_as_nan,
|
104
|
+
resqml_xy_units = resqml_xy_units,
|
105
|
+
resqml_z_units = resqml_z_units,
|
106
|
+
resqml_z_inc_down = resqml_z_inc_down,
|
107
|
+
shift_to_local = shift_to_local,
|
108
|
+
local_origin_place = local_origin_place, # 'centre' or 'minimum'
|
109
|
+
max_z_void = max_z_void, # vertical gaps greater than this will introduce k gaps intp resqml grid
|
110
|
+
split_pillars = split_pillars, # NB: some LGRs may be unsplit even if ROOT is split
|
111
|
+
split_tolerance = split_tolerance, # applies to each of x, y, z differences
|
112
|
+
vdb_static_properties = vdb_static_properties, # if True, static vdb properties are imported
|
113
|
+
vdb_recurrent_properties = vdb_recurrent_properties,
|
114
|
+
decoarsen = decoarsen,
|
115
|
+
timestep_selection = timestep_selection,
|
116
|
+
create_property_set = create_property_set,
|
117
|
+
grid_title = grid_name,
|
118
|
+
mode = 'w' if index == 0 else 'a',
|
119
|
+
vdb_property_list = vdb_property_list)
|
120
|
+
index += 1
|
@@ -1,108 +0,0 @@
|
|
1
|
-
"""_import_vdb_all_grids.py: Module to import a vdb into resqml format."""
|
2
|
-
|
3
|
-
# Nexus is a registered trademark of the Halliburton Company
|
4
|
-
|
5
|
-
import logging
|
6
|
-
|
7
|
-
log = logging.getLogger(__name__)
|
8
|
-
|
9
|
-
import resqpy.olio.vdb as vdb
|
10
|
-
import resqpy.rq_import as rqi
|
11
|
-
|
12
|
-
|
13
|
-
def import_vdb_all_grids(
|
14
|
-
resqml_file_root, # output path and file name without .epc or .h5 extension
|
15
|
-
extent_ijk = None, # 3 element numpy vector applicable to ROOT
|
16
|
-
vdb_file = None,
|
17
|
-
vdb_case = None, # if None, first case in vdb is used (usually a vdb only holds one case)
|
18
|
-
corp_xy_units = 'm',
|
19
|
-
corp_z_units = 'm',
|
20
|
-
corp_z_inc_down = True,
|
21
|
-
ijk_handedness = 'right',
|
22
|
-
geometry_defined_everywhere = True,
|
23
|
-
treat_as_nan = None,
|
24
|
-
resqml_xy_units = 'm',
|
25
|
-
resqml_z_units = 'm',
|
26
|
-
resqml_z_inc_down = True,
|
27
|
-
shift_to_local = False,
|
28
|
-
local_origin_place = 'centre', # 'centre' or 'minimum'
|
29
|
-
max_z_void = 0.1, # vertical gaps greater than this will introduce k gaps intp resqml grid
|
30
|
-
split_pillars = True,
|
31
|
-
split_tolerance = 0.01, # applies to each of x, y, z differences
|
32
|
-
vdb_static_properties = True,
|
33
|
-
# if True, static vdb properties are imported (only relevant if vdb_file is not None)
|
34
|
-
vdb_recurrent_properties = False,
|
35
|
-
decoarsen = True,
|
36
|
-
timestep_selection = 'all',
|
37
|
-
# 'first', 'last', 'first and last', 'all', or list of ints being reporting timestep numbers
|
38
|
-
create_property_set = False):
|
39
|
-
"""Creates a RESQML dataset containing grids and grid properties, including LGRs, for a single realisation.
|
40
|
-
|
41
|
-
Arguments:
|
42
|
-
resqml_file_root (str): output path and file name without .epc or .h5 extension
|
43
|
-
extent_ijk (triple float, optional): ijk extents (fortran ordering)
|
44
|
-
vdb_file (str, optional): vdb input file, either this or corp_file should be not None. Required if importing from a vdb
|
45
|
-
vdb_case (str, optional): required if the vdb contains more than one case. If None, first case in vdb is used
|
46
|
-
corp_xy_units (str, default 'm'): xy length units
|
47
|
-
corp_z_units (str, default 'm'): z length units
|
48
|
-
corp_z_inc_down (bool, default True): if True z values increase with depth
|
49
|
-
ijk_handedness (str, default 'right'): 'right' or 'left'
|
50
|
-
geometry_defined_everywhere (bool, default True): if False then inactive cells are marked as not having geometry
|
51
|
-
treat_as_nan (float, default None): if a value is provided corner points with this value will be assigned nan
|
52
|
-
resqml_xy_units (str, default 'm'): output xy units for resqml file
|
53
|
-
resqml_z_units (str, default 'm'): output z units for resqml file
|
54
|
-
resqml_z_inc_down (bool, default True): if True z values increase with depth for output resqml file
|
55
|
-
shift_to_local (bool, default False): if True then a local origin will be used in the CRS
|
56
|
-
local_origin_place (str, default 'centre'): 'centre' or 'minimum'. If 'centre' the local origin is placed at the centre of the grid; ignored if shift_to_local is False
|
57
|
-
max_z_void (float, default 0.1): maximum z gap between vertically neighbouring corner points. Vertical gaps greater than this will introduce k gaps into resqml grid. Units are corp z units
|
58
|
-
split_pillars (bool, default True): if False an unfaulted grid will be generated
|
59
|
-
split_tolerance (float, default 0.01): maximum distance between neighbouring corner points before a pillar is considered 'split'. Applies to each of x, y, z differences
|
60
|
-
vdb_static_properties (bool, default True): if True, static vdb properties are imported (only relevant if vdb_file is not None)
|
61
|
-
vdb_recurrent_properties (bool, default False): # if True, recurrent vdb properties are imported (only relevant if vdb_file is not None)
|
62
|
-
decoarsen (bool, default True): where ICOARSE is present, redistribute data to uncoarse cells
|
63
|
-
timestep_selection (str, default 'all): 'first', 'last', 'first and last', 'all', or list of ints being reporting timestep numbers. Ignored if vdb_recurrent_properties is False
|
64
|
-
create_property_set (bool, default False): if True a resqml PropertySet is created
|
65
|
-
"""
|
66
|
-
|
67
|
-
vdbase = vdb.VDB(vdb_file)
|
68
|
-
case_list = vdbase.cases()
|
69
|
-
assert len(case_list) > 0, 'no cases found in vdb'
|
70
|
-
if vdb_case is None:
|
71
|
-
vdb_case = case_list[0]
|
72
|
-
else:
|
73
|
-
assert vdb_case in case_list, 'case ' + vdb_case + ' not found in vdb: ' + vdb_file
|
74
|
-
vdbase.set_use_case(vdb_case)
|
75
|
-
grid_list = vdbase.list_of_grids()
|
76
|
-
index = 0
|
77
|
-
for grid_name in grid_list:
|
78
|
-
if grid_name.upper().startswith('SMALLGRIDS'):
|
79
|
-
log.warning('vdb import skipping small grids')
|
80
|
-
continue
|
81
|
-
log.debug('importing vdb data for grid ' + str(grid_name))
|
82
|
-
rqi.import_nexus(
|
83
|
-
resqml_file_root,
|
84
|
-
extent_ijk = extent_ijk if grid_name == 'ROOT' else None, # 3 element numpy vector applicable to ROOT
|
85
|
-
vdb_file = vdb_file,
|
86
|
-
vdb_case = vdb_case, # if None, first case in vdb is used (usually a vdb only holds one case)
|
87
|
-
corp_xy_units = corp_xy_units,
|
88
|
-
corp_z_units = corp_z_units,
|
89
|
-
corp_z_inc_down = corp_z_inc_down,
|
90
|
-
ijk_handedness = ijk_handedness,
|
91
|
-
geometry_defined_everywhere = geometry_defined_everywhere,
|
92
|
-
treat_as_nan = treat_as_nan,
|
93
|
-
resqml_xy_units = resqml_xy_units,
|
94
|
-
resqml_z_units = resqml_z_units,
|
95
|
-
resqml_z_inc_down = resqml_z_inc_down,
|
96
|
-
shift_to_local = shift_to_local,
|
97
|
-
local_origin_place = local_origin_place, # 'centre' or 'minimum'
|
98
|
-
max_z_void = max_z_void, # vertical gaps greater than this will introduce k gaps intp resqml grid
|
99
|
-
split_pillars = split_pillars, # NB: some LGRs may be unsplit even if ROOT is split
|
100
|
-
split_tolerance = split_tolerance, # applies to each of x, y, z differences
|
101
|
-
vdb_static_properties = vdb_static_properties, # if True, static vdb properties are imported
|
102
|
-
vdb_recurrent_properties = vdb_recurrent_properties,
|
103
|
-
decoarsen = decoarsen,
|
104
|
-
timestep_selection = timestep_selection,
|
105
|
-
create_property_set = create_property_set,
|
106
|
-
grid_title = grid_name,
|
107
|
-
mode = 'w' if index == 0 else 'a')
|
108
|
-
index += 1
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{resqpy-4.15.0 → resqpy-4.15.2}/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
|