The source project of this merge request has been removed.
Access variables and attributes inside adios groups
Allows fides to read variables and attributes within ADIOS groups that are path-like. This work will help VTK in reading a collection of datasets from ADIOS into a vtkPartitionedDataSetCollection
.
-
DataSetReader::GetGroupNames()
returns a list of unique group names found in the input file. - These group names can be passed on to the
DataSetReader::ReadMetaData(paths: map, groupName: str)
function one by one in order to fetch metadata of meshes and fields within that group. - Similarly, in order to read a dataset inside a group, assign the name
of that group to the
fides::keys::GROUP_SELECTION
key before invokingDataSetReader::ReadDataSet(paths: map, selection: metadata::MetaData)
. -
tests/test-groups.cxx
shows usage of theDataSetReader::GetGroupNames()
,DataSetReader::ReadMetadata(paths: map, groupName: str)
andDataSetReader::ReadDataSet(paths: map, selection: metadata::MetaData)
.
Here's what a bpls dump of the test data groups.bp
looks like:
bpls -lat ./tests/data/groups.bp
Step 0:
string Fides_Data_Model attr = "unstructured"
string Fides_Variable_Associations attr = {"points", "points", "points", "points", "points", "cell_set", "cell_set", "cell_set", "cell_set", "cell_set"}
string Fides_Variable_List attr = {"ids", "accel", "disp", "force", "vel", "cell_set_ids", "eqps", "mises", "pressure", "object_id"}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/accel {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/cell_set_ids {8}
uint8_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/cell_types {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/connectivity {64}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/disp {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/eqps {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/force {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/ids {27}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/mises {8}
int32_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/num_verts {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/object_id {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/points {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/pressure {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_2/vel {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/accel {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/cell_set_ids {8}
uint8_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/cell_types {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/connectivity {64}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/disp {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/eqps {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/force {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/ids {27}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/mises {8}
int32_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/num_verts {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/object_id {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/points {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/pressure {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_3/vel {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/accel {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/cell_set_ids {8}
uint8_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/cell_types {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/connectivity {64}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/disp {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/eqps {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/force {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/ids {27}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/mises {8}
int32_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/num_verts {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/object_id {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/points {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/pressure {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_5/vel {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/accel {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/cell_set_ids {8}
uint8_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/cell_types {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/connectivity {64}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/disp {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/eqps {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/force {27, 3}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/ids {27}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/mises {8}
int32_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/num_verts {8}
int64_t IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/object_id {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/points {27, 3}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/pressure {8}
double IOSS/assemblies/Conglomerate/Top/Prime/mesh_7/vel {27, 3}
Edited by Jaswant Panchumarti (Kitware)