Next: The `file' element
Up: The Specific Model Input
Previous: The `input' element
The element `interpolation'
The element `interpolation' is a sub-element of
`middle_transformation', which is a sub-element of `origin', which is
a sub-element of `input'. The interpolation is needed to express the
coupling field on the target model grid16.
As all coupling arrays are given
on a 3D grid, the user has to choose among the following:
- `interp3D': A full 3D interpolation.
- `(interp2D, interp1D)': The same 2D interpolation for all
vertical levels followed by a 1D interpolation in the
vertical. This type
of interpolation can be used for all grids which vertical
dimension can be expressed as z(k), i.e. for all
grid types currently supported besides PRISM_gridless
(see table 5.8).
The mask may vary with depth. Currently, the combinations
implemented are nneighbour2D and none, bilinear and none, bicubic and none, conservativ2D and none, nneighbour2D and linear, bilinear and linear.
Note that the interpolation will provide values interpolated from the
source field for all target grid cells except for the following ones:
- the target cell does not intersect any part of the source grid
domain; for those cells, the target field keeps the same value as
before the call to prism_get ;
- the target cell is masked; for those cells, the target field
keeps the same value as before the call to prism_get ;
- the target cell is not masked, but the interpolation as
requested in the SMIOC file cannot be performed (see for example the
element `novalue' here below); for those cells, the target field
will take the psmile_dundef value (=-280177.).
The elements `interp3D', `interp2D', `interp1D',
are separately described here after:
- element `interp3D': For 3D interpolation, the user has to
choose among the following methods:
- element `nneighbour3D': A 3D nearest neighbour algorithm;
the parameters are:
- element `nbr_neighbours' (mandatory): the number of source points
used to calculate each target point
- element `gaussian_variance' (optional) : the variance of
the Gaussian function used to weight the neighbours, if any.
- element `para_search' (optional) :
- global: global search which identifies neighbours
across source domain boundaries on neighbouring processing elements
if necessary (default).
- local: a local less expensive neighbourhood
search; the results will be affected by the source grid
partitioning.
- element `if_masked' (optional) : only novalue is currently available for `nneighbour3D'
- novalue: if some of the nbr_neighbours neighbours are
masked, psmile_undef value is given to that target
point.
- element `trilinear': A trilinear algorithm; the parameters
are:
- element `para_search' (optional): see element `nneighbour3D' above.
- element `if_masked' (mandatory): either novalue, tneighbour,
or nneighbour.
- novalue: if some of the 8 trilinear neighbours are
masked, psmile_undef value is given to that target
point;
- tneighbour: if some of the 8 trilinear neighbours
are masked, the non-masked points among those points are
used for calculating a weighted average; if the nbr_neighbours
neighbours are masked, psmile_undef value is given to
that target point;
- nneighbour: if some of the 8 trilinear neighbours
are masked, the non-masked points among those points are
used for calculating a weighted average; if the nbr_neighbours
neighbours are masked, the non-masked nearest neighbour is
used.
- element `user3D': the set of weights and addresses used for
the remapping are pre-defined by the user and are stored in a file
that will be read by the PSMILe library (see
4.3.3 for more details). For this remapping, only
the file containing the weights and addresses defined by the user
is needed:
- element `file' (mandatory) : the file containing the user-defined weights and addresses (see section 6.5.7 for the content of this element)
- element `interp2D': For 2D
interpolation, the following methods can be chosen:
- element `interp1D'
For 1D interpolations, the following methods can be
chosen:
- element `linear':
A linear algorithm is applied.
- element `none':
Interpolation method that can be chosen for dimension with
extent of 1. For example, to interpolate a field of Sea
Surface Temperature dimensioned (i,j,k) with extent of k
being 1, the interpolation type can be `(interp2D,
interp1D)' and `none' should be chosen for the
`interp1D'.
Footnotes
- ... grid16
- In the
current OASIS4 version, interpolation is available only for coupling
fields and not for
I/O fields read/written from/to a file.
Next: The `file' element
Up: The Specific Model Input
Previous: The `input' element
Laure Coquart
2011-12-01