|
The Open FUSION Toolkit 1.0.0-beta6
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.