Contains module procedures associated with the variable container class
Get index of variable with given name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Check whether variable with given index is a distribution function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Check whether variable with given index is a scalar
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Check whether variable with given name is registered in either the implicit or derived list
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Check whether variable with given name is registered in either the implicit list
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Check whether variable with given name is on dual grid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Return variable name at index ind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Return all variable names in this container
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this |
Return all implicit variable names in this container
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this |
Get depth of variable with given name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Get max of derivationDepth
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this |
Check whether variable with given name is stationary
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | name |
Get lengths of variable data vectors (not including halos) based on a list of names
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(in) | :: | this | |||
type(StringArray), | intent(in), | dimension(:) | :: | names |
Calculation rule object initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(CalculationRule), | intent(inout) | :: | this | |||
class(Derivation), | intent(in), | optional | :: | deriv |
Derivation component |
|
type(StringArray), | intent(in), | optional, | dimension(:) | :: | names |
Required variable names |
Variable container initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
type(VariableList), | intent(in) | :: | implicitVars |
List of implicit variables |
||
type(VariableList), | intent(in) | :: | derivedVars |
List of derived variables |
||
type(CalculationRule), | intent(in), | dimension(:) | :: | derivationRules |
Derivation rules corresponding to derived variables |
|
type(Indexing), | intent(in) | :: | indexingObj |
Reference indexing object used to map between variables and implicit vectors |
||
type(Partition), | intent(in) | :: | partitionObj |
Reference partition object |
||
integer(kind=ik), | intent(in) | :: | xHaloWidth |
Width of halo in x-direction |
||
integer(kind=ik), | intent(in) | :: | procRank |
Current processor rank |
Calculate derived variables from implicit variables using derivation rules. If derivPriority is supplied only those variables with priority <= derivPriority will be derived. If derivDepth is present only variables at that derivation depth are calculated, otherwise all variables are calculated in derivation depth order
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | optional | :: | derivPriority | ||
integer(kind=ik), | intent(in), | optional | :: | derivDepth |
Extract implicit variables from a locally linearly indexed real vector
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | vec |
Copy variables into a locally linearly indexed real vector. If ignoreStationary is true copies any stationary variables as 0
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
real(kind=rk), | intent(inout), | dimension(:) | :: | vec | ||
logical, | intent(in), | optional | :: | ignoreStationary |
Copy variables into locally indexed vector by name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
real(kind=rk), | intent(inout), | allocatable, dimension(:) | :: | vec | ||
type(StringArray), | intent(in), | dimension(:) | :: | names |
Copy variables from locally indexed vector by name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | vec | ||
type(StringArray), | intent(in), | dimension(:) | :: | names |
Zero all named variable values - useful for buffer containers
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VariableContainer), | intent(inout) | :: | this | |||
type(StringArray), | intent(in), | dimension(:) | :: | names |