Wiki
Clone wikipflotran / Developers / CodeDevelopment / HDF5DatasetRefactor
HDF5 Dataset Refactor
Example HDF5 Dataset File
| ---GroupName1 | | * Attributes: | | * Date Type: (GRIDDED|MAPPED|GLOBAL|CELL_INDEXED|DOMAIN|REGION) | | * Dimension: (X|Y|Z|XY|YZ|XZ|XYZ) - Required for GRIDDED dataset. | | * Discretization: dim1 [dim2, dim3] - Required for GRIDDED dataset | | * Max. Buffer Size: (nbufsize) - Applicable only for Transient dataset (Correct?) | | * Origin: (x,y,z) | | * Time Units: (s|sec|second|min|minute|h|hr|hour|d|day|w|week|mo|month|y|yr) Required for transient data | | * Transient: (TRUE|FALSE) | | | | | | ---Data: [1D(=Control_Volumes|Times) | 2D(=Control_Volume,Times)] | | | | | | ---Times: Required if Transient = TRUE | | | | | | ---Cell_Ids: Required if "Data Type" = CELL_INDEXED | | | | | | ---Map: Required if "Data Type" = MAPPED | | | | ---GroupName2 | | * Attributes: | | | | | | ---Data | | ---Times | | ---Cell_Ids | | ---Map
Open issues/questions
- Can "/GroupName1/Data" be a 3D or 4D?
- Attribute "Dimension" is not the dimension of "/GroupName1/Data". Thus, attribute "Dimension" should be renamed.
- Is attribute "Discretization" necessary? Can the value for it be obtained from sizeof("/GroupName1/Data"), while accounting for Transient==TRUE or FALSE?
- If "Data Type" = GLOBAL, then /GroupName1/Cell_Ids and /GroupName1/Map should not be defined. Should we get rid of GLOBAL and enforce inclusion of "/GroupName1/Cell_Ids" in HDF5 file?
- Which datasets are being read collectively vs independently?
- Allow reading of nested groups in HDF5 (i.e /InitialConditions/Pressure, /InitialConditions/Temperature, /BoundaryConditions/TopTempBC, /Mesh/Domain, /Mesh/Regions, etc). This will allow a single HDF5 file to contain all required data for a simulation.
- PFLOTRAN should have a consistent input format for all supported HDF5 files (mesh/boundary-conditions/initial-conditions/permeability/realization-dependent-permeability/etc).
- Add an option to skip data for first 'n' steps
Updated