The ``cooking'' stage

The following analyses are available in the ``cooking'' part of
OASIS3, controlled by `cookart.f`.

**CONSERV**:`CONSERV`(routine`/prism/src/mod/oasis3/src/conserv.f`) performs global flux conservation. The flux is integrated on both source and target grids, without considering values of masked points, and the residual (target - source) is calculated. Then all flux values on the target grid are uniformly modified, according to their corresponding surface. This analysis requires one input line with one argument:# CONSERV operation $CMETH

where`$CMETH`is the conservation method required. In this version, only global flux conservation can be performed. Therefore`$CMETH`must be`GLOBAL`.**SUBGRID**:`SUBGRID`can be used to interpolate a field from a coarse grid to a finer target grid (the target grid must be finer over the whole domain). Two types of subgrid interpolation can be performed, depending on the type of the field.For solar type of flux field (

`$SUBTYPE = SOLAR`), the operation performed is:

where () is the flux on the fine (coarse) grid, () an auxiliary field on the fine (coarse) grid (e.g. the albedo). The whole operation is interpolated from the coarse grid with a grid-mapping type of interpolation; the dataset of weights and addresses has to be given by the user.For non-solar type of field (

`$SUBTYPE = NONSOLAR`), a first-order Taylor expansion of the field on the fine grid relatively to a state variable is performed (for instance, an expansion of the total heat flux relatively to the SST):

where () is the heat flux on the fine (coarse) grid, () an auxiliary field on the fine (coarse) grid (e.g. the SST) and the derivative of the flux versus the auxiliary field on the coarse grid. This operation is interpolated from the coarse grid with a grid-mapping type of interpolation; the dataset of weights and addresses has to be given by the user.This analysis requires one input line with 7 or 8 arguments depending on the type of subgrid interpolation.

- If the the
`SUBGRID`operation is performed on a solar flux, the 7-argument input line is:# SUBGRID operation with $SUBTYPE=SOLAR $CFILE $NUMLU $NID $NV $SUBTYPE $CCOARSE $CFINE

where`$CFILE`and`$NUMLU`are the subgrid-mapping file name and associated logical unit (see section 7.5 for the structure of this file);`$NID`the identificator for this subgrid-mapping dataset within the file build by OASIS based on all the different`SUBGRID`analyses in the present coupling;`$NV`is the maximum number of target grid points use in the subgrid-mapping;`$SUBTYPE = SOLAR`is the type of subgrid interpolation;`$CCOARSE`is the auxiliary field name on the coarse grid (corresponding to ) and`$CFINE`is the auxiliary field name on fine grid (corresponding to ). These two fields needs to be exchanged between their original model and OASIS3 main process, at least as`AUXILARY`fields. This analysis is performed from the coarse grid with a grid-mapping type of interpolation based on the`$CFILE`file. - If the the SUBGRID operation is performed on a nonsolar flux,
the 8-argument input line is:
# SUBGRID operation with $SUBTYPE=NONSOLAR $CFILE $NUMLU $NID $NV $SUBTYPE $CCOARSE $CFINE $CDQDT

where`$CFILE`,`$NUMLU`,`$NID`,`$NV`are as for a solar subgrid interpolation;`$SUBTYPE = NONSOLAR`;`$CCOARSE`is the auxiliary field name on the coarse grid (corresponding to ) and`$CFINE`is the auxiliary field name on fine grid (corresponding to ); the additional argument`$CDQDT`is the coupling ratio on the coarse grid (corresponding to ) These three fields need to be exchanged between their original model and OASIS3 main process as`AUXILARY`fields. This operation is performed from the coarse grid with a grid-mapping type of interpolation based on the`$CFILE`file.

- If the the
**BLASNEW**:`BLASNEW`(routine`/prism/src/mod/oasis3/src/blasnew.f`) performs a linear combination of the current coupling field with any other fields after the interpolation. These can be other coupling fields or constant fields.This analysis requires the same input line as

`BLASOLD`.**MASKP**:A new analysis

`MASKP`can be used to mask the fields after interpolation.`MASKP`has the same generic input line as`MASK`.