Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | access_flag |
Access flag |
||
character(len=5), | public | :: | dirname |
Name of directory within group file |
|||
integer(kind=leapI4), | public | :: | fid_DAT |
File identifier for silo group files |
|||
integer(kind=leapI4), | public | :: | fid_VDB |
File identifier for silo VDB files |
|||
integer(kind=leapI4), | public | :: | fid_VisIt |
File identifier for VisIt file |
|||
character(len=str64), | public | :: | filename |
Base name |
|||
character(len=str64), | public | :: | filepath |
Path to VDB and group files |
|||
integer, | public, | allocatable | :: | group_ids(:) |
ID for silo groups |
||
integer, | public | :: | nproc_node |
Number of procs per silo |
|||
type(parallel_obj), | public, | pointer | :: | parallel | => | null() |
Associated parallel structure |
type(MPI_Comm), | public | :: | silo_comm | ||||
integer, | public | :: | silo_rank | ||||
character(len=str64), | public | :: | siloname |
Name of silo group file |
|||
character(len=str64), | public | :: | vdbname |
Name of silo VDB file |
|||
character(len=str64), | public | :: | visitname |
Name of VisIt file |
Set up silo groups for poor man's IO. Split MPI ranks into groups of size nproc_node. Each group will write squentially to its own file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo object |
Finalize structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo object |
Initialize structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo 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 from main program |
|
integer, | intent(in), | optional | :: | nproc_node |
Number of procs per silo |
Create a new Silo virtual data base (VDB) for this timestep
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo object |
||
real(kind=wp), | intent(in) | :: | time |
Time value for this time step |
Create silo files and their internal structure
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo object |
||
character(len=*), | intent(in) | :: | flag |
IO flag |
Write Eulerian/3D data to a hdf5 file with silo
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo 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 |
||
integer, | intent(in) | :: | staggering |
Staggering value |
Write the grid attributes
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo object |
||
type(block_obj), | intent(in) | :: | block |
Block object |
||
integer, | intent(in) | :: | iter | |||
real(kind=wp), | intent(in) | :: | time |
Write Eulerian/3D data to a hdf5 file with silo
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(silo_obj), | intent(inout) | :: | this |
A silo 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 |
||
integer, | intent(in) | :: | staggering |
Staggering value |