A utility to read/write files in HDF5 using H5hut
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | private | :: | block_group_exists | = | .false. |
Flag to determine if block group has already been created |
|
| character(len=str64), | private | :: | filename |
file to read/write |
|||
| type(hdf5_obj), | private | :: | hdf5 |
HDF5 object |
|||
| integer, | private | :: | nsteps |
Number of steps in file |
|||
| type(parallel_obj), | private, | pointer | :: | parallel | => | null() |
Associated parallel structure |
| character(len=str64), | private | :: | step_name |
Group name for step being worked on |
Finalizes object and frees memeory.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
Gets number of fields in step.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(out) | :: | nfields |
Number of fields |
Gets number of data points in step. H5HUT assumes that all datasets have the same number of points, thus we return the number of points of the first dataset we find.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(out) | :: | npoints |
Number of data points |
Counts and returns number of steps in file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
Number of steps in file
Initializes structure.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | filename |
File to read/write |
||
| character(len=*), | intent(in) | :: | access_flag |
File access mode |
||
| type(parallel_obj), | intent(in), | target | :: | parallel |
Parallel structure to link with |
Jumps to a specific step.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(in) | :: | step |
Step in H5HUT file |
||
| integer, | intent(out) | :: | iter |
Iteration at this step |
||
| real(kind=wp), | intent(out) | :: | time |
Time at this step |
||
| character(len=*), | intent(in), | optional | :: | label_iter |
Optional iteration label |
|
| character(len=*), | intent(in), | optional | :: | label_time |
Optional time label |
Gets information about the last step.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(out) | :: | iter |
Iteration at last step |
||
| real(kind=WP), | intent(out) | :: | time |
Time at last step |
||
| character(len=*), | intent(in), | optional | :: | label_iter |
Optional iteration label |
|
| character(len=*), | intent(in), | optional | :: | label_time |
Optional time label |
Creates a new step and updates attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(in) | :: | iter |
iteration counter |
||
| real(kind=WP), | intent(in) | :: | time |
Time value |
||
| character(len=*), | intent(in), | optional | :: | label_iter |
Optional iteration label |
|
| character(len=*), | intent(in), | optional | :: | label_time |
Optional time label |
Reads Lagrangian/1D data fom a h5hut file. If no offset is provided, uses default h5hut file view. Otherwise, sets file view manually.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(out) | :: | array(:) |
1-D data array |
||
| integer, | intent(in), | optional | :: | offset |
Indicates number of elements to skip before reading |
Reads Eulerian/3D data from a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(out) | :: | array(:,:,:) |
3-D data array |
||
| integer, | intent(in) | :: | lo(3) |
Low bounds |
||
| integer, | intent(in) | :: | hi(3) |
High bounds |
Reads scalar attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(out) | :: | val |
Value associated with attribute |
Reads an array of attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(out) | :: | val(:) |
Value associated with attribute |
Sets the current step in file, and possibly create a new one, if this step does not exist yet.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| integer, | intent(in) | :: | step |
Step to select |
Returns number of steps.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
Number of steps
Writes Lagrangian/1D data to a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(in) | :: | array(:) |
1-D data array |
Writes Eulerian/3D data to a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(in) | :: | array(:,:,:) |
3-D data array |
||
| integer, | intent(in) | :: | lo(3) |
Low bounds |
||
| integer, | intent(in) | :: | hi(3) |
High bounds |
Writes scalar attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(in) | :: | val |
Value associated with attribute |
Writes an array of attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
attribute label |
||
| class(*), | intent(in) | :: | val(:) |
Value associated with attribute |
Writes grid attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| real(kind=wp), | intent(in) | :: | xlo(3) |
Coordinate of the low bound |
||
| real(kind=wp), | intent(in) | :: | dx(3) |
Grid spacing |
Reads Lagrangian/1D data fom a h5hut file. If no offset is provided, uses default h5hut file view. Otherwise, sets file view manually.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(out) | :: | array(:) |
1-D data array |
||
| integer, | intent(in), | optional | :: | offset |
Indicates number of elements to skip before reading |
Reads Eulerian/3D data from a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(out) | :: | array(:,:,:) |
3-D data array |
||
| integer, | intent(in) | :: | lo(3) |
Low bounds |
||
| integer, | intent(in) | :: | hi(3) |
High bounds |
Reads scalar attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(out) | :: | val |
Value associated with attribute |
Reads an array of attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(out) | :: | val(:) |
Value associated with attribute |
Writes Lagrangian/1D data to a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(in) | :: | array(:) |
1-D data array |
Writes Eulerian/3D data to a h5hut file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | name |
Variable name |
||
| class(*), | intent(in) | :: | array(:,:,:) |
3-D data array |
||
| integer, | intent(in) | :: | lo(3) |
Low bounds |
||
| integer, | intent(in) | :: | hi(3) |
High bounds |
Writes scalar attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
Attribute label |
||
| class(*), | intent(in) | :: | val |
Value associated with attribute |
Writes an array of attributes.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(h5hut_obj), | intent(inout) | :: | this |
A H5hut object |
||
| character(len=*), | intent(in) | :: | label |
attribute label |
||
| class(*), | intent(in) | :: | val(:) |
Value associated with attribute |