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.
Preparation of the serialize PDF data
| Type | Intent | Optional | 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 | 
This subroutine unserializes the read data and stores it in the state- vector to perform a restart.
| Type | Intent | Optional | 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 |