Next: The Specific Coupling Configuration
Up: The Potential Model Input
Previous: Grids
Coupling/IO fields (transient variables)
Each coupling/IO field possibly received or provided by the component
model from/to its external environment (another model or a disk file)
through prism_get or prism_put call has to be described in the
component PMIOD by one element `transient' with the following
attributes and sub-elements:
- attribute 'local_name': the field name (which must match
2
argument in the corresponding PSMILe call prism_def_var , see section 5.4.1);
- attribute `long_name': gives a general description of the
variable;
- element `transient_standard_name': the standard variable
names following the CF convention (if it exist). This uniquely
identifies the nature of the coupling/IO field.
In case of
bundles, one element giving a generic name (e.g. temperature)
plus one element per bundle species giving a specific name for the
species (e.g sea_water_temperature, air_temperature,
snow_temperature) need to be specified.
- element `physics': a description of the coupling/IO field physical
constraints:
- attribute `transient_type': the coupling/IO field physical
type (either `single' or `bundle')
- element `physical_units': the coupling/IO field units
- element `valid_min': its physically acceptable minimum value
- element `valid_max': its physically acceptable maximum value
- element `nbr_bundles': for bundle variables, the
number of bundles.
- element `numeric', whose attribute `datatype' provides the
coupling/IO field numeric type: either
xs:real, xs:double, or xs:integer
- element `intent', which describes if the coupling/IO field may
be exported or imported, or both. The sub-elements of `intent' are:
- element `output': if the coupling field can be exported
through PSMILe prism_put call (see section
5.6.1), this element shall contain:
- element `minimal_period', which is the period at which
the prism_put is called in the code (to define this period the
developer may specify a number of seconds, minutes, hours, days,
months, and/or years, with respectively the sub-elements
`nbr_secs', `nbr_mins', `nbr_hours', `nbr_days',
`nbr_months', `nbr_years').
- element `source_transformation': the transformation that
needs to be performed on the output coupling/IO field in the
source component PSMILe ; if needed, this element contains
only the element `source_local_transformation' which in turn
contains only the element `scattering': the `scattering' should
be specified as true by the developer in the PMIOD and should not be
changed by the user in the SMIOC. It is performed on an output
coupling/IO field below the prism_put by the source PSMILe . It is required when grid information transfered to the
PSMILe includes the masked points and when the array
transfered to the prism_put API is a vector gathering only the
non-masked points. Note that this complex structure is used
here to specify scattering to be coherent with the
`source_transformation' structure of the SMIOC file (see
6.5)
- element `input': if the coupling/IO field can be imported
through a prism_get call (see section 5.6.2 ),
this element shall contain:
- element `minimal_period', which is the period at which
the prism_get is called in the code (to define this period the
developer may specify a number of seconds, minutes, hours, days,
months, and/or years, with respectively the sub-elements
`nbr_secs', `nbr_mins', `nbr_hours', `nbr_days',
`nbr_months', `nbr_years').
- element `target_transformation': the transformation that
needs to be performed on the input coupling/IO field in the
target component PSMILe ; if needed, this element contains
only the element `target_local_transformation' which in turn
contains only the element `gathering': the `gathering' should be
specified as true by the developer in the PMIOD and should not be
changed by the user in the SMIOC. It is performed on an input
coupling/IO field below the prism_get by the target PSMILe . It is required when the grid information transfered to the
PSMILe covers the whole grid (masked points included), and
when the array transfered through prism_get API is a vector
gathering only the non-masked points. Note that this complex
structure is used here to specify gathering to be coherent with
the `target_transformation' structure of the SMIOC file (see
6.5)
Next: The Specific Coupling Configuration
Up: The Potential Model Input
Previous: Grids
Laure Coquart
2011-12-01