hdf5_t Derived Type

type, public :: hdf5_t


Inherits

type~~hdf5_t~~InheritsGraph type~hdf5_t hdf5_t type~growing_h5_tbl_t growing_h5_tbl_t type~hdf5_t->type~growing_h5_tbl_t tables, time, global type~tbl_dsc_t tbl_dsc_t type~hdf5_t->type~tbl_dsc_t tbl_dsc type~hdf_desc_p_t hdf_desc_p_t type~tbl_dsc_t->type~hdf_desc_p_t comps type~hdf_desc_t hdf_desc_t type~hdf_desc_p_t->type~hdf_desc_t p

Components

Type Visibility Attributes Name Initial
logical, public :: write_results

from cfg: write result to file active

real(kind=dp), public :: min_save_time

from cfg: minimum time before saving

real(kind=dp), public :: last_saved_time = 0

updated when data is saved

integer, public :: steps_to_revert = 0

nb of HDF5 entries to revert after rollback (persistent across rejected steps)

logical, public :: write_results2D

from cfg: write 2D results to specific files

real(kind=dp), public :: time_btw_2D_writes

from cfg: physical time between 2D writes

integer(kind=hid_t), public :: file_id
type(tbl_dsc_t), public, allocatable :: tbl_dsc(:)
type(growing_h5_tbl_t), public, allocatable :: tables(:)
type(growing_h5_tbl_t), public :: time

growing tables

type(growing_h5_tbl_t), public :: global

growing tables


Type-Bound Procedures

procedure, public :: add_table => hdf5_add_table

  • private subroutine hdf5_add_table(me, table, variables)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout) :: me
    character(len=*), intent(in) :: table
    character(len=*), intent(in) :: variables(:)

procedure, public :: add_to_table => hdf5_add_to_table

  • private subroutine hdf5_add_to_table(me, desc, tbl_name)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout) :: me
    type(hdf_desc_t), intent(inout), target :: desc
    character(len=*), intent(in) :: tbl_name

procedure, public :: prepare_data => hdf5_prepare_data

  • private subroutine hdf5_prepare_data(me)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout), target :: me

procedure, public :: init => hdf5_init

  • private subroutine hdf5_init(me, cfg)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout) :: me
    class(input_t), intent(in) :: cfg

procedure, public :: close => hdf5_close

  • private subroutine hdf5_close(me)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout) :: me

procedure, public :: write => hdf5_write

  • private subroutine hdf5_write(me, t, dt, t_final)

    Arguments

    Type IntentOptional Attributes Name
    class(hdf5_t), intent(inout) :: me
    real(kind=dp), intent(in) :: t
    real(kind=dp), intent(in) :: dt
    real(kind=dp), intent(in) :: t_final

Source Code

    type hdf5_t
        logical  :: write_results       !! from cfg: write result to file active
        real(dp) :: min_save_time       !! from cfg: minimum time before saving
        real(dp) :: last_saved_time = 0 !! updated when data is saved
        integer  :: steps_to_revert = 0 !! nb of HDF5 entries to revert after rollback (persistent across rejected steps)
        logical  :: write_results2D     !! from cfg: write 2D results to specific files
        real(dp) :: time_btw_2D_writes  !! from cfg: physical time between 2D writes

        integer(hid_t)                      :: file_id
        type(tbl_dsc_t),        allocatable :: tbl_dsc(:)
        type(growing_h5_tbl_t), allocatable :: tables(:)
        type(growing_h5_tbl_t)              :: time, global !! growing tables
    contains
        procedure :: add_table    => hdf5_add_table
        procedure :: add_to_table => hdf5_add_to_table
        procedure :: prepare_data => hdf5_prepare_data
        procedure :: init         => hdf5_init
        procedure :: close        => hdf5_close
        procedure :: write        => hdf5_write
    end type hdf5_t