resqpy 4.8.2__tar.gz → 4.8.4__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {resqpy-4.8.2 → resqpy-4.8.4}/PKG-INFO +1 -1
- {resqpy-4.8.2 → resqpy-4.8.4}/pyproject.toml +1 -1
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/__init__.py +1 -1
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_hdf5.py +3 -1
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/_collection_get_attributes.py +3 -1
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/weights_and_measures/nexus_units.py +22 -11
- {resqpy-4.8.2 → resqpy-4.8.4}/LICENSE +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/README.md +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/crs.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_faults.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_coarsened_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_common.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_copy_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_drape_to_surface.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_extract_box.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_extract_box_for_well.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_gather_ensemble.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_interpolated_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_refined_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_tilted_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_unsplit_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_zonal_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/fault/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/fault/_gcs_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/fault/_grid_connection_set.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_cell_properties.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_connection_sets.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_create_grid_xml.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_defined_geometry.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_extract_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_face_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_faults.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_grid_types.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_intervals_info.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_moved_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_pillars.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_pixel_maps.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_points_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_regular_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_transmissibility.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_write_nexus_corp.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid/_xyz.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/_find_faces.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/_grid_skin.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/_grid_surface.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/lines/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/lines/_common.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/lines/_polyline.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/lines/_polyline_set.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_catalogue.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_context.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_forestry.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_grids.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_model.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/model/_xml.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/_multiprocessing.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/wrappers/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/ab_toolbox.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/base.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/box_utilities.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/class_dict.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/consolidation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/data/build.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/data/properties.json +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/dataframe.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/exceptions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/factors.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/fine_coarse.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/grid_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/intersection.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/keyword_files.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/load_data.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/point_inclusion.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/random_seed.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/read_nexus_fault.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/relperm.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/simple_lines.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/time.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/trademark.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/transmission.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/triangulation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/uuid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/vdb.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/vector_utilities.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/volume.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/wellspec_keywords.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/write_data.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/write_hdf5.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/xml_et.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/xml_namespaces.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/olio/zmap_reader.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/_utils.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/boundary_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/boundary_feature_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/earth_model_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/fault_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/fluid_boundary_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/frontier_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/generic_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/genetic_boundary_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/geobody_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/geobody_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/geologic_unit_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/horizon_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/organization_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/structural_organization_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/tectonic_boundary_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/wellbore_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/organize/wellbore_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/_collection_add_part.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/_collection_create_xml.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/_collection_support.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/_property.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/grid_property_collection.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/property_collection.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/property_common.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/property_kind.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/string_lookup.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/well_interval_property.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/well_interval_property_collection.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/well_log.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/property/well_log_collection.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_add_ab_properties.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_add_surfaces.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_grid_from_cp.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_import_nexus.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_binary_contact_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_strata_common.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_stratigraphic_column.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_base_surface.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_combined_surface.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_mesh.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_pointset.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_surface.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_tri_mesh.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/surface/_triangulated_patch.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_any_time_series.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_from_nexus_summary.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_functions.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_geologic_time_series.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_time_duration.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/time_series/_time_series.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/_hexa_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/_prism_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/_pyramid_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/_tetra_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/unstructured/_unstructured_grid.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/weights_and_measures/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/__init__.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_blocked_well.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_deviation_survey.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_md_datum.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_trajectory.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_wellbore_frame.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_wellbore_marker.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/_wellbore_marker_frame.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/blocked_well_frame.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/well_object_funcs.py +0 -0
- {resqpy-4.8.2 → resqpy-4.8.4}/resqpy/well/well_utils.py +0 -0
@@ -229,10 +229,12 @@ def _h5_array_element(model,
|
|
229
229
|
shape_tuple = tuple(h5_root[h5_key_pair[1]].shape)
|
230
230
|
if required_shape is None:
|
231
231
|
required_shape = shape_tuple
|
232
|
+
else:
|
233
|
+
required_shape = tuple(required_shape)
|
232
234
|
object.__dict__[array_attribute] = np.zeros(required_shape, dtype = dtype)
|
233
235
|
if shape_tuple == required_shape:
|
234
236
|
object.__dict__[array_attribute][:] = h5_root[h5_key_pair[1]]
|
235
|
-
elif (len(shape_tuple) == len(required_shape) and ('bool' in str_dtype or '
|
237
|
+
elif (len(shape_tuple) == len(required_shape) and ('bool' in str_dtype or 'uint8' in str_dtype) and
|
236
238
|
8 * (shape_tuple[-1] - 1) < required_shape[-1] <= 8 * shape_tuple[-1]):
|
237
239
|
a = np.unpackbits(h5_root[h5_key_pair[1]], axis = -1).astype(bool)
|
238
240
|
object.__dict__[array_attribute][:] = a[..., :required_shape[-1]]
|
@@ -427,6 +427,8 @@ def _supporting_shape_grid(support, indexable_element, direction):
|
|
427
427
|
shape_list = [support.nk, support.ni]
|
428
428
|
elif indexable_element == 'I0':
|
429
429
|
shape_list = [support.nk, support.nj]
|
430
|
+
else:
|
431
|
+
raise ValueError(f'unsupported grid indexable element: {indexable_element}')
|
430
432
|
return shape_list
|
431
433
|
|
432
434
|
|
@@ -549,7 +551,7 @@ def _cached_part_array_ref_const_none(collection, part, dtype, model, cached_arr
|
|
549
551
|
# the required shape is required if a bool array may need to be unpacked from bits
|
550
552
|
required_shape = None
|
551
553
|
str_dtype = str(dtype)
|
552
|
-
if use_pack and ('bool' in str_dtype or '
|
554
|
+
if use_pack and ('bool' in str_dtype or 'uint8' in str_dtype):
|
553
555
|
required_shape = collection.supporting_shape(indexable_element = collection.indexable_for_part(part),
|
554
556
|
direction = _part_direction(collection, part))
|
555
557
|
|
@@ -10,10 +10,12 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
10
10
|
nexus_unit_system (str): one of 'METRIC', 'METKG/CM2', 'METBAR', 'LAB', or 'ENGLISH'
|
11
11
|
quantity (str): the RESQML quantity class of interest; currently suppported:
|
12
12
|
'length', 'area', 'volume', 'volume per volume', 'permeability rock',
|
13
|
-
'time', 'thermodynamic temperature', 'mass per volume', 'pressure'
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
'time', 'thermodynamic temperature', 'mass per volume', 'pressure',
|
14
|
+
'volume per time'
|
15
|
+
english_volume_flavour (str, optional): only needed for ENGLISH unit system and volume,
|
16
|
+
volume per volume, or volume per time quantity; one of 'PV', 'OVER PV', 'FVF', 'GOR',
|
17
|
+
'surface gas rate', or 'saturation'; see notes regarding FVF, also regarding flow
|
18
|
+
rates
|
17
19
|
|
18
20
|
returns:
|
19
21
|
str: the RESQML uom string for the units required by Nexus
|
@@ -27,7 +29,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
27
29
|
in the ENHLISH unit system, Nexus expacts gas formation volume factors in bbl / 1000 ft3
|
28
30
|
but that is not a valid RESQML uom – this function will return bbl/bbl for ENGLISH FVF;
|
29
31
|
also be wary of pore volume units when using the medieval ENGLISH unit system: the OVER
|
30
|
-
keyword expects different units than GRID or recurrent override input
|
32
|
+
keyword expects different units than GRID or recurrent override input; ENGLISH fluid flow
|
33
|
+
rates will be returned as bbl/d unless the flavour is specified as 'surface gas rate'
|
31
34
|
"""
|
32
35
|
|
33
36
|
nexus_unit_system = nexus_unit_system.upper()
|
@@ -35,7 +38,7 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
35
38
|
# todo: add other quantities as needed
|
36
39
|
assert quantity in [
|
37
40
|
'length', 'area', 'volume', 'volume per volume', 'permeability rock', 'rock permeability', 'time',
|
38
|
-
'thermodynamic temperature', 'mass per volume', 'pressure'
|
41
|
+
'thermodynamic temperature', 'mass per volume', 'pressure', 'volume per time'
|
39
42
|
]
|
40
43
|
if quantity == 'rock permeability':
|
41
44
|
quantity = 'permeability rock'
|
@@ -48,6 +51,9 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
48
51
|
elif english_volume_flavour == 'over pv':
|
49
52
|
assert quantity == 'volume'
|
50
53
|
return 'bbl' # for static override of pv (Nexus OVER)
|
54
|
+
elif english_volume_flavour == 'surface gas rate':
|
55
|
+
assert quantity == 'volume per time'
|
56
|
+
return '1000 ft3/d'
|
51
57
|
assert quantity == 'volume per volume'
|
52
58
|
if english_volume_flavour == 'fvf':
|
53
59
|
return 'bbl/bbl'
|
@@ -66,7 +72,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
66
72
|
'time': 'd',
|
67
73
|
'thermodynamic temperature': 'degC',
|
68
74
|
'mass per volume': 'kg/m3',
|
69
|
-
'pressure': 'kPa'
|
75
|
+
'pressure': 'kPa',
|
76
|
+
'volume per time': 'm3/d'
|
70
77
|
},
|
71
78
|
'METKG/CM2': {
|
72
79
|
'length': 'm',
|
@@ -77,7 +84,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
77
84
|
'time': 'd',
|
78
85
|
'thermodynamic temperature': 'degC',
|
79
86
|
'mass per volume': 'kg/m3',
|
80
|
-
'pressure': 'kgf/cm2'
|
87
|
+
'pressure': 'kgf/cm2',
|
88
|
+
'volume per time': 'm3/d'
|
81
89
|
},
|
82
90
|
'METBAR': {
|
83
91
|
'length': 'm',
|
@@ -88,7 +96,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
88
96
|
'time': 'd',
|
89
97
|
'thermodynamic temperature': 'degC',
|
90
98
|
'mass per volume': 'kg/m3',
|
91
|
-
'pressure': 'bar'
|
99
|
+
'pressure': 'bar',
|
100
|
+
'volume per time': 'm3/d'
|
92
101
|
},
|
93
102
|
'LAB': {
|
94
103
|
'length': 'cm',
|
@@ -99,7 +108,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
99
108
|
'time': 'h',
|
100
109
|
'thermodynamic temperature': 'degC',
|
101
110
|
'mass per volume': 'g/cm3',
|
102
|
-
'pressure': 'psi'
|
111
|
+
'pressure': 'psi',
|
112
|
+
'volume per time': 'cm3/h'
|
103
113
|
},
|
104
114
|
'ENGLISH': {
|
105
115
|
'length': 'ft',
|
@@ -110,7 +120,8 @@ def nexus_uom_for_quantity(nexus_unit_system, quantity, english_volume_flavour =
|
|
110
120
|
'time': 'd',
|
111
121
|
'thermodynamic temperature': 'degF',
|
112
122
|
'mass per volume': 'lbm/ft3',
|
113
|
-
'pressure': 'psi'
|
123
|
+
'pressure': 'psi',
|
124
|
+
'volume per time': 'bbl/d' # surface gas is special case handled above
|
114
125
|
}
|
115
126
|
}
|
116
127
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|