Ties an output catalogue name to the CABLE model state it describes.
The catalogue (output_catalogue.yaml) describes what a variable is. A
binding supplies the part that only Fortran can: the model variable
(through an aggregator), the unit conversion, the valid range, and whether
the variable exists in the current model configuration.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=64), | public | :: | name | = | "" |
Catalogue name of the variable this binding belongs to. |
|
| class(aggregator_t), | public, | allocatable | :: | aggregator |
Aggregator wrapping the model working variable. Unallocated if the variable is not available. |
||
| real, | public | :: | scale_by | = | 1.0 |
Multiply the working variable by this to obtain the output value. |
|
| real, | public | :: | divide_by | = | 1.0 |
Divide the working variable by this to obtain the output value. |
|
| real, | public | :: | offset_by | = | 0.0 |
Add this to the working variable to obtain the output value. |
|
| real, | public, | allocatable | :: | range(:) |
Valid range of the variable in output units. Unallocated if unchecked. |
||
| logical, | public | :: | available | = | .true. |
Whether the variable exists in the current model configuration. |
Constructor for cable_output_binding_t.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name | |||
| class(aggregator_t), | intent(in), | optional | :: | aggregator |
Absent for variables that do not exist in the current model configuration. |
|
| real, | intent(in), | optional | :: | scale_by | ||
| real, | intent(in), | optional | :: | divide_by | ||
| real, | intent(in), | optional | :: | offset_by | ||
| real, | intent(in), | optional | :: | range(:) | ||
| logical, | intent(in), | optional | :: | available |