Controller object responsible for HDF5 IO
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| type(StringArray), | private, | allocatable, dimension(:) | :: | IOVarNames |
Variable names this controller is responsible for |
||
| integer(kind=ik), | private, | allocatable, dimension(:) | :: | IOVarIndices |
Indices of variables this controller is responsible for |
||
| character(len=:), | private, | allocatable | :: | filepath |
IO filepath |
||
| type(RealArray), | private, | allocatable, dimension(:) | :: | IOBuffer |
Buffer used in HDF5 IO |
Getter for userDefined
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(in) | :: | this |
Set userDefined to .true.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Object), | intent(inout) | :: | this |
Gather and output variables this controller is responsible for. Default filename is "ReMKiT1DVarOutput". If IDnum is present it is appended to the filename. The output is serial from processor 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used by the HDF5 controller for communication |
||
| type(VariableContainer), | intent(in) | :: | varCont |
Variable container used for output |
||
| character(len=*), | intent(in), | optional | :: | filename |
Name of output file |
|
| integer(kind=ik), | intent(in), | optional | :: | IDNum |
IDNum to be appended to filename |
Load and scatter variables this controller is responsible for. Default filename is "ReMKiT1DVarInput". If a variable is not found in the file it is set to 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used by the HDF5 controller for communication |
||
| type(VariableContainer), | intent(inout) | :: | varCont |
Variable container to be loaded into |
||
| character(len=*), | intent(in), | optional | :: | filename |
Name of input file |
Gather and output grid data. Default filename is "ReMKiT1DGridOutput". The output is serial from processor 0.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used by the HDF5 controller for communication |
||
| type(Grid), | intent(in) | :: | gridObj |
Output grid object |
||
| character(len=*), | intent(in), | optional | :: | filename |
Name of output file |
Each processor dumps all of its variables into separate files. Default filename "restart", appended with processor rank.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used by the HDF5 controller for communication |
||
| type(VariableContainer), | intent(in) | :: | varCont |
Variable container used for output |
||
| character(len=*), | intent(in), | optional | :: | filename |
Name of output file |
Each processor loads all of its variables from files of the form filename_rank.h5. It is assumed that the files exist and that they are compatible with the variable container
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used by the HDF5 controller for communication |
||
| type(VariableContainer), | intent(inout) | :: | varCont |
Variable container used for output |
||
| character(len=*), | intent(in), | optional | :: | filename |
Name of output file |
HDF5 controller initialization routine - determines variables this controller is responsible for and the output path. The default path is "./", corresponding to the executable location in the build tree.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(HDF5Controller), | intent(inout) | :: | this | |||
| type(VariableContainer), | intent(in) | :: | varCont |
Reference variable container |
||
| type(StringArray), | intent(in), | dimension(:) | :: | varNames |
Names of variables this controller is responsible for |
|
| character(len=*), | intent(in), | optional | :: | filepath |
Filepath this controller will use |