The following transformations, controlled by interp.f, are available in OASIS3.
BLASOLD (routine blasold.f) performs a linear combination of the current coupling field with other coupling fields or with a constant before the interpolation per se.
This transformation requires at least one configuring line with two parameters:
# BLASOLD operation
$XMULT $NBFIELDS
where
$XMULT is the multiplicative coefficient of the current
field, and $NBFIELDS the number of additional fields to be
combined with the current field. For each additional field, an
additional input line is required:
# nbfields lines
$CNAME $AMULT
where $CNAME and $AMULT are the symbolic name and the
multiplicative coefficient for the additional field. To add a
constant value to the original field, put $XMULT = 1, $NBFIELDS = 1, $CNAME = CONSTANT, $AMULT = value to
add.
SCRIPR gathers the interpolation techniques offered by Los Alamos National Laboratory SCRIP 1.4 library15(1). SCRIPR routines are in oasis3/lib/scrip. See the SCRIP 1.4 documentation in oasis3/doc/SCRIPusers.pdf for more details on the interpolation algorithms.
The following types of interpolations are available:
The configuring line is:
# SCRIPR/DISWGT $CMETH $CGRS $CFTYP $REST $NBIN $NV $ASSCMP $PROJCARTwhere:
The configuring line is:
# SCRIPR/GAUSWGT $CMETH $CGRS $CFTYP $REST $NBIN $NV $VAR $ASSCMP $PROJCARTwhere all entries are as for DISTWGT, except that:
For BILINEAR and BICUBIC, Logically-Rectangular (LR) and Reduced (D) source grid types are supported.
The configuring line is:
# SCRIPR/BILINEAR or SCRIPR/BICUBIC
$CMETH $CGRS $CFTYP $REST $NBIN $ASSCMP $PROJCART
where:
The configuring line is:
# SCRIPR/CONSERV $CMETH $CGRS $CFTYP $REST $NBIN $NORM $ORDER $ASSCMP $PROJCARTwhere:
Precautions related to the use of the SCRIPR/CONSERV remapping in particular
- the FRACNNEI normalisation option is used, in which case it will get the nearest non masked neighbour value, or
- the routines oasis3/lib/scrip/src/scriprmp.f or vector.F90 - for vector interpolation - are compiled with ll_weightot=.true. in which case, the value 1.0E+20 will be assigned to these target grid cell intersecting only masked source cells (for easier identification).
Precautions related to the use of the SCRIPR remappings in general
Support of vector fields with the SCRIPR remappings
SCRIPR supports 2D vector interpolation. Note however
that this functionality has been
validated only in a reduced number of test cases. The two vector
components have to be identified by assigning VECTOR_I or VECTOR_J
to $CFTYP and have to be associated by giving, for each component field,
the source symbolic name of the associated vector component to $ASSCMP
(see above). The grids of the
two vector components can be different but have to have the same
number of points, the same overlap, the same mask; the same
interpolation must be used for the two components. A proper example of
vector interpolation is given in the interpolator-only mode example
testinterp (see section 8.4.1).
The details of the vector treatment,
performed by the routines
scriprmp_vector.F90 and rotations.F90 in oasis3/lib/scrip/src are the following:
INTERP gathers different techniques of interpolation controlled by routine fiasco.f. The following interpolations are available:
These three interpolations are performed by routines in /oasis3/lib/fscint and support only A, B, G, L, Y, or Z grids (see appendix A). All sources grid points, masked or not, are used in the calculation. To avoid the `contamination' by masked source grid points, transformations MASK and EXTRAP should be used. Values are calculated for all target grid points, masked or not.
The configuring line is as follows:
# BILINEAR or BICUBIC or NNEIBOR interpolation
$CMETH $CGRS $CFTYP
where
# SURFMESH remapping
$CMETH $CGRS $CFTYP $NID $NV $NIO
where
The configuring line is:
# GAUSSIAN interpolation
$CMETH $CGRS $CFTYP $NID $NV $VAR $NIO
where
MOZAIC performs the mapping of a field from a source to a target grid. The grid-mapping dataset, i.e. the weights and addresses of the source grid points used to calculate the value of each target grid point are defined by the user in a file (see section 7.5). The configuring line is:
# MOZAIC operation
$CFILE $NUMLU $NID $NV
where
NOINTERP is the analysis that has to be chosen when no other transformation from the interpolation class is chosen. There is no configuring line.
FILLING (routine oasis3/src/filling.f) performs the blending of a regional data set with a climatological global one for a Sea Surface Temperature (SST) or a Sea Ice Extent field. This occurs when coupling a non-global ocean model with a global atmospheric model. FILLING can only handle fields on Logically Rectangular grid (LR, but also A, B, G, L, Y, and Z grids, see section A.
The global data set has to be a set of SST given in Celsius degrees (for the filling of a Sea Ice Extent field, the presence or absence of ice is deduced from the value of the SST). The frequency of the global set can be interannual monthly, climatological monthly or yearly.
The blending can be smooth or abrupt. If the blending is abrupt, only model values are used within the model domain, and only the global data set values are used outside. If the blending is smooth, a linear interpolation is performed between the two fields within the model domain over narrow bands along the boundaries. The linear interpolation can also be performed giving a different weight to the regional or and global fields.
The smoothing is defined by parameters in oasis3/src/mod_smooth.F90. The lower smoothing band
in the global model second dimension is defined by nsltb
(outermost point) and nslte (innermost point); the upper
smoothing band in the global model second dimension is defined by nnltb (outermost point) and nnlte (innermost point). The
parameter qalfa controls the weights given to the regional and
to the global fields in the linear interpolation. qalfa has to
be
or
. For the outermost points
(nsltb or nnltb) in the smoothing band, the weight given
to the regional and global fields will respectively be 0 and 1; for
the innermost points (nslte or nnlte) in the smoothing
band, the weight given to the regional and global fields will
respectively be 1 and 0; within the smoothing band, the weights will
be a linear interpolation of the outermost and innermost weights.
The smoothing band in the global model first dimension will be a band
of nliss points following the coastline. To calculate this band,
OASIS3 needs nwlgmx, the greater first dimension index of the
lower coastline and nelgmx, the smaller first dimension index on
the upper coastline. The parameter qbeta controls the weights
given to the regional and to the global fields in the linear
interpolation. qbeta has to be
. The weights given
to the regional and global fields in the global model first dimension
smoothing bands will be calculated as for the second dimension.
The user must provide the climatological data file with a specific format described in 7.5. When one uses FILLING for SST with smooth blending, thermodynamics consistency requires to modify the heat fluxes over the blending regions. The correction term is proportional to the difference between the blended SST and the original SST interpolated on the atmospheric grid and can be written out on a file to be read later, for analysis CORRECT for example. In that case, the symbolic name of the flux correction term read through the input file namcouple must correspond in FILLING and CORRECT analyses.
In case the regional ocean model includes a coastal part or islands, a sea-land mask mismatch may occur and a coastal point correction can be performed if the field has been previously interpolated with INTER/SURFMESH. In fact, the mismatch could result in the atmosphere undesirably ``seeing'' climatological SST's directly adjacent to ocean model SST's. Where this situation arises, the coastal correction consists in identifying the suitable ocean model grid points that can be used to extrapolate the field, excluding climatological grid points.
This analysis requires one configuring line with 3, 4 or 6 arguments.
# Sea Ice Extent FILLING operation
$CFILE $NUMLU $CMETH
where $CFILE is
the file name for the global data set, $NUMLU the associated
logical unit. $CMETH, the FILLING technique, is a CHARACTER*8 variable: the first 3 characters are either SMO,
smooth filling, or RAW, no smoothing ; the next three characters
must be SIE for a Sea Ice Extent filling operation; the last two
define the time characteristics of the global data file, respectively
MO, SE and AN for interannual monthly,
climatological monthly and yearly. Note that in all cases, the global
data file has to be a Sea Surface Temperature field in Celsius
degrees.
#Sea Surface Temperature FILLING operation without smoothing
$CFILE $NUMLU $CMETH $NFCOAST
where
$CFILE, $NUMLU are as for the SIE filling. In this
case however, $CMETH(1:3) = RAW, $CMETH(4:6) = SST,
and the last two characters define the time characteristics of the
global data file, as for the SIE filling. $NFCOAST is
the flag for the calculation of the coastal correction ( 0 no, 1 yes).
#Sea Surface Temperature FILLING operation with smoothing
$CFILE $NUMLU $CMETH $NFCOAST $CNAME $NUNIT
where $CFILE, $NUMLU and $NFCOAST are as for the SST
filling without smoothing. In this case, $CMETH(1:3) = SMO,
$CMETH(4:6) = SST, and the last two characters define the
time characteristics of the global data file, as for the SIE
filling. $CNAME is the symbolic name for the correction
term that is calculated by OASIS3 and $NUNIT the logical
unit on which it is going to be written.