The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
HDF5 file manipulation for output and restart data.
Functions to write and read HDF5 data files and XDMF files for visit
Data Types | |
interface | hdf5_read |
Read data from an HDF5 file. More... | |
type | hdf5_rst |
HDF5 restart structure. More... | |
interface | hdf5_write |
Write data to an HDF5 file. More... | |
type | oft_bin_file |
Binary output file object. More... | |
type | xdmf_plot_file |
Information for XDMF plotting groups in HDF5 plot file. More... | |
Functions/Subroutines | |
subroutine | bin_file_add (self, fieldname, type_str, desc, fsize) |
Add field to Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_add_comm (self, comment) |
Add comment to Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_close (self) |
Close Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_flush (self) |
Flush I/O buffer for Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_header (self) |
Write header for Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_open (self) |
Open Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_setup (self, filename, desc) |
Setup Open FUSION Toolkit binary I/O file. | |
subroutine | bin_file_write (self, data_i4, data_i8, data_r4, data_r8) |
Write single set of data to Open FUSION Toolkit binary I/O file. | |
subroutine | hdf5_add_string_attribute (filename, objname, aname, attr_data) |
Add string attribute to existing object (group or dataset) | |
subroutine | hdf5_create_file (filename, persistent_space_tracking) |
Create an empty HDF5 output file. | |
subroutine | hdf5_create_group (filename, group_name) |
Create HDF5 group in existing file. | |
subroutine | hdf5_delete_obj (filename, obj_path) |
Delete HDF5 object in existing file. | |
logical function | hdf5_field_exist (filepath, path) |
Test for exitence of a field in a HDF5 file. | |
subroutine | hdf5_field_get_sizes (filepath, path, ndims, dim_sizes) |
Test for exitence of a field in a HDF5 file. | |
integer(hssize_t) function, dimension(2) | hdf5_file_size (filepath) |
Test for exitence of a field in a HDF5 file. | |
character(len=oft_mpi_plen) function | hdf5_proc_str (proc_ind) |
Get processor rank as string for HDF5 I/O. | |
subroutine | hdf5_read_1d_i4 (array, filename, path, success) |
integer(i8) 1D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_read_1d_r8 (array, filename, path, success) |
real(r8) 1D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_read_2d_i4 (array, filename, path, success) |
integer(i4) 2D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_read_2d_r8 (array, filename, path, success) |
real(r8) 2D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_read_rst (rst_info, filename, path, success) |
FE vector implementation of oft_io::hdf5_write. | |
subroutine | hdf5_read_scalar_i4 (val, filename, path, success) |
integer(i4) scalar implementation of oft_io::hdf5_read | |
subroutine | hdf5_read_scalar_r8 (val, filename, path, success) |
real(r8) scalar implementation of oft_io::hdf5_read | |
subroutine | hdf5_rst_destroy (self) |
Deallocate internal storage fields created for HDF5 collective I/O. | |
character(len=oft_mpi_plen) function | hdf5_ts_str (ts_in) |
Get timestep index as string for HDF5 I/O. | |
subroutine | hdf5_write_1d_i4 (array, filename, path) |
integer(i4) 1D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_write_1d_r8 (array, filename, path, single_prec) |
real(r8) 1D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_write_2d_i4 (array, filename, path) |
integer(i4) 2D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_write_2d_r8 (array, filename, path, single_prec) |
real(r8) 2D array implementation of oft_io::hdf5_write | |
subroutine | hdf5_write_rst (rst_info, filename, path) |
FE vector implementation of oft_io::hdf5_write. | |
subroutine | hdf5_write_scalar_i4 (val, filename, path) |
integer(i4) scalar implementation of oft_io::hdf5_write | |
subroutine | hdf5_write_scalar_r8 (val, filename, path, single_prec) |
real(r8) scalar implementation of oft_io::hdf5_write | |
logical function | oft_file_exist (filepath) |
Test for exitence of a file. | |
subroutine | xdmf_add_mesh (self, mesh_type, pt_list, cell_list, grid_name) |
Needs docs. | |
subroutine | xdmf_add_timestep (self, t) |
Adds a timestep to the dump metadata file. | |
subroutine | xdmf_clear_timesteps (self, clear_static) |
Clear existing timesteps and reset to static fields. | |
subroutine | xdmf_write_scalar (self, data, grid_name, path, centering, single_prec) |
Write scalar field to plot file. | |
subroutine | xdmf_write_vector (self, data, grid_name, path, centering, single_prec) |
Write vector field to plot file. | |
subroutine | xmdf_setup (self, group_name, basepath, persistent_space_tracking) |
Needs docs. | |
Variables | |
integer(i4) | hdf5_fcount =0 |
Number of HDF5 fields. | |
integer(i4), parameter | hdf5_flen =40 |
Maximum size of HDF5 filenames. | |
integer(i4), parameter | hdf5_nl =800 |
Maximum number of HDF5 fields. | |
integer(i4) | hdf5_ts =0 |
Number of HDF5 time steps. | |
subroutine bin_file_add | ( | class(oft_bin_file), intent(inout) | self, |
character(len=*), intent(in) | fieldname, | ||
character(len=2), intent(in) | type_str, | ||
character(len=*), intent(in), optional | desc, | ||
integer(i4), intent(in), optional | fsize | ||
) |
Add field to Open FUSION Toolkit binary I/O file.
[in,out] | self | File object |
[in] | fieldname | Field name to add |
[in] | type_str | Type of field |
[in] | desc | Description of field |
[in] | fsize | Size of field |
subroutine bin_file_add_comm | ( | class(oft_bin_file), intent(inout) | self, |
character(len=*), intent(in) | comment | ||
) |
Add comment to Open FUSION Toolkit binary I/O file.
[in,out] | self | File object |
[in] | comment | Comment to add |
subroutine bin_file_close | ( | class(oft_bin_file), intent(inout) | self | ) |
Close Open FUSION Toolkit binary I/O file.
subroutine bin_file_flush | ( | class(oft_bin_file), intent(inout) | self | ) |
Flush I/O buffer for Open FUSION Toolkit binary I/O file.
subroutine bin_file_header | ( | class(oft_bin_file), intent(inout) | self | ) |
Write header for Open FUSION Toolkit binary I/O file.
subroutine bin_file_open | ( | class(oft_bin_file), intent(inout) | self | ) |
Open Open FUSION Toolkit binary I/O file.
subroutine bin_file_setup | ( | class(oft_bin_file), intent(inout) | self, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in), optional | desc | ||
) |
Setup Open FUSION Toolkit binary I/O file.
subroutine bin_file_write | ( | class(oft_bin_file), intent(inout) | self, |
integer(i4), dimension(:), intent(in), optional | data_i4, | ||
integer(i8), dimension(:), intent(in), optional | data_i8, | ||
real(r4), dimension(:), intent(in), optional | data_r4, | ||
real(r8), dimension(:), intent(in), optional | data_r8 | ||
) |
Write single set of data to Open FUSION Toolkit binary I/O file.
[in,out] | self | File object |
[in] | data_i4 | integer(i4) data |
[in] | data_i8 | integer(i8) data |
[in] | data_r4 | real(r4) data |
[in] | data_r8 | real(r8) data |
subroutine hdf5_add_string_attribute | ( | character(len=*), intent(in) | filename, |
character(len=*), intent(in) | objname, | ||
character(len=*), intent(in) | aname, | ||
character(len=80), dimension(:), intent(in) | attr_data | ||
) |
Add string attribute to existing object (group or dataset)
[in] | filename | Name of HDF5 file |
[in] | objname | Name of object (dataset or group) |
[in] | aname | Attribute name |
[in] | attr_data | Attribute data (80-character lines) |
subroutine hdf5_create_file | ( | character(len=*), intent(in) | filename, |
logical, intent(in), optional | persistent_space_tracking | ||
) |
Create an empty HDF5 output file.
[in] | filename | Name of file to be created |
subroutine hdf5_create_group | ( | character(len=*), intent(in) | filename, |
character(len=*), intent(in) | group_name | ||
) |
Create HDF5 group in existing file.
[in] | filename | Name of HDF5 file |
[in] | group_name | Group path |
subroutine hdf5_delete_obj | ( | character(len=*), intent(in) | filename, |
character(len=*), intent(in) | obj_path | ||
) |
Delete HDF5 object in existing file.
[in] | filename | Name of HDF5 file |
[in] | obj_path | Object path |
logical function hdf5_field_exist | ( | character(len=*), intent(in) | filepath, |
character(len=*), intent(in) | path | ||
) |
Test for exitence of a field in a HDF5 file.
[in] | filepath | Path to file |
[in] | path | Path of field in file |
subroutine hdf5_field_get_sizes | ( | character(len=*), intent(in) | filepath, |
character(len=*), intent(in) | path, | ||
integer(4), intent(out) | ndims, | ||
integer(4), dimension(:), intent(out), allocatable | dim_sizes | ||
) |
Test for exitence of a field in a HDF5 file.
[in] | filepath | Path to file |
[in] | path | Path of field in file |
[out] | ndims | Number of dimensions in field |
[out] | dim_sizes | Size of each dimension |
integer(hssize_t) function, dimension(2) hdf5_file_size | ( | character(len=*), intent(in) | filepath | ) |
Test for exitence of a field in a HDF5 file.
[in] | filepath | Path to file |
character(len=oft_mpi_plen) function hdf5_proc_str | ( | integer(i4), intent(in), optional | proc_ind | ) |
Get processor rank as string for HDF5 I/O.
subroutine hdf5_read_1d_i4 | ( | integer(i4), dimension(:), intent(inout) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
integer(i8) 1D array implementation of oft_io::hdf5_write
[in,out] | array | Values to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_1d_r8 | ( | real(r8), dimension(:), intent(inout) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
real(r8) 1D array implementation of oft_io::hdf5_write
[in,out] | array | Values to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_2d_i4 | ( | integer(i4), dimension(:,:), intent(inout) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
integer(i4) 2D array implementation of oft_io::hdf5_write
[in,out] | array | Values to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_2d_r8 | ( | real(r8), dimension(:,:), intent(inout) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
real(r8) 2D array implementation of oft_io::hdf5_write
[in,out] | array | Values to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_rst | ( | type(hdf5_rst), intent(inout) | rst_info, |
character(*), intent(in) | filename, | ||
character(*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
FE vector implementation of oft_io::hdf5_write.
[in,out] | rst_info | Restart data (structure containing mapping and data holder) |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_scalar_i4 | ( | integer(i4), intent(out) | val, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
integer(i4) scalar implementation of oft_io::hdf5_read
[out] | val | Value to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_read_scalar_r8 | ( | real(r8), intent(out) | val, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(out), optional | success | ||
) |
real(r8) scalar implementation of oft_io::hdf5_read
[out] | val | Value to read from file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[out] | success | Successful read? |
subroutine hdf5_rst_destroy | ( | type(hdf5_rst), intent(inout) | self | ) |
Deallocate internal storage fields created for HDF5 collective I/O.
character(len=oft_mpi_plen) function hdf5_ts_str | ( | integer(i4), intent(in), optional | ts_in | ) |
Get timestep index as string for HDF5 I/O.
subroutine hdf5_write_1d_i4 | ( | integer(i4), dimension(:), intent(in) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path | ||
) |
integer(i4) 1D array implementation of oft_io::hdf5_write
[in] | array | Values to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
subroutine hdf5_write_1d_r8 | ( | real(r8), dimension(:), intent(in) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(in), optional | single_prec | ||
) |
real(r8) 1D array implementation of oft_io::hdf5_write
[in] | array | Values to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[in] | single_prec | Save as single precision? |
subroutine hdf5_write_2d_i4 | ( | integer(i4), dimension(:,:), intent(in) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path | ||
) |
integer(i4) 2D array implementation of oft_io::hdf5_write
[in] | array | Values to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
subroutine hdf5_write_2d_r8 | ( | real(r8), dimension(:,:), intent(in) | array, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(in), optional | single_prec | ||
) |
real(r8) 2D array implementation of oft_io::hdf5_write
[in] | array | Values to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[in] | single_prec | Save as single precision? |
subroutine hdf5_write_rst | ( | type(hdf5_rst), intent(in) | rst_info, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path | ||
) |
FE vector implementation of oft_io::hdf5_write.
[in] | rst_info | Restart data (structure containing data and mapping) |
[in] | filename | Path to file |
[in] | path | Variable path in file |
subroutine hdf5_write_scalar_i4 | ( | integer(i4), intent(in) | val, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path | ||
) |
integer(i4) scalar implementation of oft_io::hdf5_write
[in] | val | Value to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
subroutine hdf5_write_scalar_r8 | ( | real(r8), intent(in) | val, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(in), optional | single_prec | ||
) |
real(r8) scalar implementation of oft_io::hdf5_write
[in] | val | Value to write to file |
[in] | filename | Path to file |
[in] | path | Variable path in file |
[in] | single_prec | Save as single precision? |
logical function oft_file_exist | ( | character(len=*), intent(in) | filepath | ) |
Test for exitence of a file.
[in] | filepath | Path to file |
subroutine xdmf_add_mesh | ( | class(xdmf_plot_file), intent(inout) | self, |
integer(i4), intent(in) | mesh_type, | ||
real(r8), dimension(:,:), intent(in) | pt_list, | ||
integer(i4), dimension(:,:), intent(in) | cell_list, | ||
character(len=*), intent(in) | grid_name | ||
) |
Needs docs.
[in] | mesh_type | Mesh type flag (Tet/Tri or Hex/Quad) |
[in] | pt_list | Point list [3,np] |
[in] | cell_list | Cell list [:,nc] |
[in] | grid_name | Path to mesh in HDF5 file |
subroutine xdmf_add_timestep | ( | class(xdmf_plot_file), intent(inout) | self, |
real(r8), intent(in) | t | ||
) |
Adds a timestep to the dump metadata file.
Subsequent output will be added to this timestep until another call to this subroutine
[in] | t | Time value |
subroutine xdmf_clear_timesteps | ( | class(xdmf_plot_file), intent(inout) | self, |
logical, intent(in), optional | clear_static | ||
) |
Clear existing timesteps and reset to static fields.
[in] | clear_static | Clear static fields as well? |
subroutine xdmf_write_scalar | ( | class(xdmf_plot_file), intent(in) | self, |
real(r8), dimension(:), intent(in) | data, | ||
character(len=*), intent(in) | grid_name, | ||
character(len=*), intent(in) | path, | ||
integer(i4), intent(in) | centering, | ||
logical, intent(in), optional | single_prec | ||
) |
Write scalar field to plot file.
[in] | data | Scalar data |
[in] | grid_name | Grid name |
[in] | path | Name of the output field |
[in] | centering | Centering of data (1-> vertex; 2-> cell) |
[in] | single_prec | Save as single precision? |
subroutine xdmf_write_vector | ( | class(xdmf_plot_file), intent(in) | self, |
real(r8), dimension(:,:), intent(in) | data, | ||
character(len=*), intent(in) | grid_name, | ||
character(len=*), intent(in) | path, | ||
integer(i4), intent(in) | centering, | ||
logical, intent(in), optional | single_prec | ||
) |
Write vector field to plot file.
[in] | data | Vector data |
[in] | grid_name | Grid name |
[in] | path | Name of the output field |
[in] | centering | Centering of data (1-> vertex; 2-> cell) |
[in] | single_prec | Save as single precision? |
subroutine xmdf_setup | ( | class(xdmf_plot_file), intent(inout) | self, |
character(len=*), intent(in) | group_name, | ||
character(len=*), intent(in), optional | basepath, | ||
logical, intent(in), optional | persistent_space_tracking | ||
) |
Needs docs.
[in] | group_name | Path to mesh in HDF5 file |
integer(i4) hdf5_fcount =0 |
Number of HDF5 fields.
integer(i4), parameter hdf5_flen =40 |
Maximum size of HDF5 filenames.
integer(i4), parameter hdf5_nl =800 |
Maximum number of HDF5 fields.
integer(i4) hdf5_ts =0 |
Number of HDF5 time steps.