Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
checkpoint_payload::checkpoint_payload_t Type Reference

A named collection of live fields to checkpoint together. More...

Collaboration diagram for checkpoint_payload::checkpoint_payload_t:

Public Member Functions

procedure, pass(this) init (this, name)
 Initialize a payload.
 
procedure, pass(this) free (this)
 Release all pointers held by a payload.
 
procedure, pass(this) add_field (this, fld)
 Add a field using its native name as the dataset name.
 
procedure, pass(this) add_series (this, fld_series)
 Add a field series using the native names of its lag fields.
 
generic add_array (this, name, x, global_count, offset, device_ptr, replicated)
 Add a contiguous real array of rank one to four.
 
generic add_array (this, name, x, global_count, offset, device_ptr, replicated)
 Add a contiguous real array of rank one to four.
 
generic add_array (this, name, x, global_count, offset, device_ptr, replicated)
 Add a contiguous real array of rank one to four.
 
generic add_array (this, name, x, global_count, offset, device_ptr, replicated)
 Add a contiguous real array of rank one to four.
 
procedure, pass(this) add_array_dp (this, name, x, global_count, offset, replicated)
 Add a rank-one array held in double precision. Separate from the add_array generic because rp and dp are the same kind in a double-precision build, which would make the generic ambiguous.
 
procedure, pass(this) add_mesh_array (this, name, x, msh, xh, device_ptr)
 Add a four-dimensional nodal mesh array.
 
procedure, pass(this) field_count (this)
 Return the number of fields in a payload.
 
procedure, pass(this) series_count (this)
 Return the number of field series in a payload.
 
procedure, pass(this) array_count (this)
 Return the number of arrays in a payload.
 
procedure, pass(this) mesh_array_count (this)
 Return the number of mesh arrays in a payload.
 
procedure, pass(this) find_field (this, name)
 Find a field by its native name.
 
procedure, pass(this) find_series (this, name)
 Find a field series by the native name of its base field.
 
procedure, pass(this) find_array (this, name)
 Find an array descriptor by its dataset name.
 
procedure, pass(this) find_mesh_array (this, name)
 Find a mesh-array descriptor by its dataset name.
 

Public Attributes

character(len=:), allocatable name
 Payload path below the HDF5 Payloads group.
 
type(field_ptr_t), dimension(:), allocatable fields
 Registered individual fields.
 
type(field_series_ptr_t), dimension(:), allocatable series
 Registered field series.
 
type(checkpoint_array_ptr_t), dimension(:), allocatable arrays
 Registered generic arrays.
 
type(checkpoint_mesh_array_ptr_t), dimension(:), allocatable mesh_arrays
 Registered nodal arrays distributed over mesh elements.
 

Private Member Functions

procedure, pass, private add_array_1d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-one real array.
 
procedure, pass, private add_array_2d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-two contiguous real array.
 
procedure, pass, private add_array_3d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-three contiguous real array.
 
procedure, pass, private add_array_4d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-four contiguous real array.
 

Detailed Description

Definition at line 92 of file checkpoint_payload.f90.

Member Function/Subroutine Documentation

◆ add_array() [1/4]

generic checkpoint_payload::checkpoint_payload_t::add_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 121 of file checkpoint_payload.f90.

Here is the call graph for this function:

◆ add_array() [2/4]

generic checkpoint_payload::checkpoint_payload_t::add_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 121 of file checkpoint_payload.f90.

◆ add_array() [3/4]

generic checkpoint_payload::checkpoint_payload_t::add_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 121 of file checkpoint_payload.f90.

◆ add_array() [4/4]

generic checkpoint_payload::checkpoint_payload_t::add_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 121 of file checkpoint_payload.f90.

◆ add_array_1d()

procedure, pass, private checkpoint_payload::checkpoint_payload_t::add_array_1d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 113 of file checkpoint_payload.f90.

◆ add_array_2d()

procedure, pass, private checkpoint_payload::checkpoint_payload_t::add_array_2d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 115 of file checkpoint_payload.f90.

◆ add_array_3d()

procedure, pass, private checkpoint_payload::checkpoint_payload_t::add_array_3d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 117 of file checkpoint_payload.f90.

◆ add_array_4d()

procedure, pass, private checkpoint_payload::checkpoint_payload_t::add_array_4d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 119 of file checkpoint_payload.f90.

◆ add_array_dp()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::add_array_dp ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=dp), dimension(:), intent(inout), target, contiguous  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
logical, intent(in), optional  replicated 
)
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 126 of file checkpoint_payload.f90.

◆ add_field()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::add_field ( class(checkpoint_payload_t), intent(inout)  this,
type(field_t), intent(in), target  fld 
)
Parameters
fldField to register.

Definition at line 109 of file checkpoint_payload.f90.

◆ add_mesh_array()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::add_mesh_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:,:), intent(inout), target  x,
type(mesh_t), intent(in), target  msh,
type(space_t), intent(in), target  xh,
type(c_ptr), intent(in), optional  device_ptr 
)
Parameters
nameDataset name within the payload.
xArray shaped as (lx, ly, lz, nelv).
mshMesh defining the element distribution.
XhFunction space defining the element-local nodal layout.
[optional]device_ptr Device storage corresponding to x.

Definition at line 128 of file checkpoint_payload.f90.

◆ add_series()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::add_series ( class(checkpoint_payload_t), intent(inout)  this,
type(field_series_t), intent(in), target  fld_series 
)
Parameters
fld_seriesField series to register.

Definition at line 111 of file checkpoint_payload.f90.

◆ array_count()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::array_count ( class(checkpoint_payload_t), intent(in)  this)
Returns
Number of registered arrays.

Definition at line 134 of file checkpoint_payload.f90.

◆ field_count()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::field_count ( class(checkpoint_payload_t), intent(in)  this)
Returns
Number of registered fields.

Definition at line 130 of file checkpoint_payload.f90.

◆ find_array()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::find_array ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
Parameters
nameDataset name to find.
Returns
Pointer to the descriptor, or a disassociated pointer if absent.

Definition at line 143 of file checkpoint_payload.f90.

◆ find_field()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::find_field ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
Parameters
nameNative field name to find.
Returns
Pointer to the field, or a disassociated pointer if absent.

Definition at line 139 of file checkpoint_payload.f90.

◆ find_mesh_array()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::find_mesh_array ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
Parameters
nameDataset name to find.
Returns
Pointer to the descriptor, or a disassociated pointer if absent.

Definition at line 145 of file checkpoint_payload.f90.

◆ find_series()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::find_series ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
Parameters
nameNative base-field name to find.
Returns
Pointer to the series, or a disassociated pointer if absent.

Definition at line 141 of file checkpoint_payload.f90.

◆ free()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::free ( class(checkpoint_payload_t), intent(inout)  this)

Definition at line 107 of file checkpoint_payload.f90.

◆ init()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::init ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name 
)
Parameters
namePayload path below the HDF5 Payloads group.

Definition at line 105 of file checkpoint_payload.f90.

◆ mesh_array_count()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::mesh_array_count ( class(checkpoint_payload_t), intent(in)  this)
Returns
Number of registered mesh arrays.

Definition at line 136 of file checkpoint_payload.f90.

◆ series_count()

procedure, pass(this) checkpoint_payload::checkpoint_payload_t::series_count ( class(checkpoint_payload_t), intent(in)  this)
Returns
Number of registered field series.

Definition at line 132 of file checkpoint_payload.f90.

Member Data Documentation

◆ arrays

type(checkpoint_array_ptr_t), dimension(:), allocatable checkpoint_payload::checkpoint_payload_t::arrays

Definition at line 100 of file checkpoint_payload.f90.

◆ fields

type(field_ptr_t), dimension(:), allocatable checkpoint_payload::checkpoint_payload_t::fields

Definition at line 96 of file checkpoint_payload.f90.

◆ mesh_arrays

type(checkpoint_mesh_array_ptr_t), dimension(:), allocatable checkpoint_payload::checkpoint_payload_t::mesh_arrays

Definition at line 102 of file checkpoint_payload.f90.

◆ name

character(len=:), allocatable checkpoint_payload::checkpoint_payload_t::name

Definition at line 94 of file checkpoint_payload.f90.

◆ series

type(field_series_ptr_t), dimension(:), allocatable checkpoint_payload::checkpoint_payload_t::series

Definition at line 98 of file checkpoint_payload.f90.


The documentation for this type was generated from the following file: