mus_buffer_module Module

Module containing subroutines to prepare buffers for transformation of quantities (tracking) and the restart/tracking IO.

To save memory, the transformation of quantities and the IO-functionality of MUSUBI is done in linear chunks. The size of the chunk can be defined in the lua input file and is defined by the function tem_load_env_params. The default size is set to be 8MB.



Subroutines

public subroutine mus_pdf_serialize(scheme, treeID, levelPointer, varMap, nElems, buffer, minLevel, maxLevel)

Preparation of the serialize PDF data

Read more…

Arguments

Type IntentOptional Attributes Name
type(mus_scheme_type), intent(in) :: scheme

scheme type containing the different state vectors

integer(kind=long_k), intent(in) :: treeID(nElems)

Partial treeID list

integer, intent(in) :: levelPointer(nElems)

Partial Level pointer

type(tem_varMap_type), intent(in) :: varMap

varaible map information

integer, intent(in) :: nElems

number of valid elements in this buffer

real(kind=rk), intent(inout) :: buffer(:)

Data buffer

integer :: minLevel
integer :: maxLevel

public subroutine mus_pdf_unserialize(scheme, treeID, levelPointer, varMap, nElems, buffer, minLevel, maxLevel)

This subroutine unserializes the read data and stores it in the state- vector to perform a restart.

Arguments

Type IntentOptional Attributes Name
type(mus_scheme_type), intent(inout) :: scheme

scheme type containing the different state vectors

integer(kind=long_k), intent(in) :: treeID(nElems)

global tree data type

integer, intent(in) :: levelPointer(nElems)

Level Pointer - from treelm to level descriptor

type(tem_varMap_type), intent(in) :: varMap

variable map

integer, intent(in) :: nElems
real(kind=rk), intent(in) :: buffer(:)
integer :: minLevel
integer :: maxLevel