The grids of the models being coupled must be given by the user, or
directly by the model through PSMILe specific calls in grid data files. Note that if the
grid data files exist in the working directory, they are not overwritten by the
PSMILe specific calls (see section
4.2). These files can be all
binary or all NetCDF. In
oasis3/examples/toyoasis3/data, NetCDF examples can be found.
The arrays containing the grid information are dimensioned (nx, ny), where nx and ny are the grid first and second dimension, except for Unstructured (U) and Reduced (D) grid, for which the arrays are dimensioned (nbr_pts,1), where nbr_pts is the total number of grid points.
For SCRIPR interpolations, the grid data files must be NetCDF files. If the SCRIPR/CONSERV remapping is used, longitudes and latitudes for the source and target grid corners must also be available in the grids.nc file as arrays dimensioned (nx,ny,4) or (nbr_pts,1,4) where 4 is the number of corners (in the counterclockwize sense). The names of the arrays must be composed of the grid prefix and the suffix ``.clo'' or ``.cla'' for respectively the grid corner longitudes or latitudes. As for the other grid information, the corners can be provided in grids.nc before the run by the user or directly by the model through PSMILe specific calls (see section 4.2). For source grids of Logically Rectangular LR type only, the grid corners will however be automatically calculated and stored by OASIS if they are not initially available in grids.nc18.
Longitudes must be given in degrees East in the interval -360.0 to 720.0. Latitudes must be given in degrees North in the interval -90.0 to 90.0. Note that if some grid points overlap, it is recommended to define those points with the same number (e.g. 360.0 for both, not 450.0 for one and 90.0 for the other) to ensure automatic detection of overlap by OASIS.
The corners of a cell cannot be defined modulo 360 degrees. For example, a cell located over Greenwich will have to be defined with corners at -1.0 deg and 1.0 deg but not with corners at 359.0 deg and 1.0 deg.
Cells larger than 180.0 degrees in longitude are not supported.
If vector fields are defined on a grid which has a local coordinate
system not oriented in the usual zonal and meridional directions, the
local angle of the grid coordinate system must be given in grids.nc file in an array which name must be composed of the grid
prefix and the suffix ``.ang''. The angle is defined as the angle
between the first component and the zonal direction (which is also
the angle between the second component and the meridional direction).
For example, the angles of the torc grid are given in array torc.ang in the grids.nc file in oasis3/examples/testinterp/
input. If one of the SCRIPR interpolations is requested for a vector field, OASIS3 automatically performs the rotation from the local coordinate system to the geographic spherical coordinate system for a source grid, or vice-versa for a target grid.
File grids or grids.nc must be present with at least the grid point longitudes and latitudes for all component model.
If the binary format is used, grids, masks, areas, and maskr must have the following structure. The array name is first written to the file to locate a data set corresponding to a given grid. The data set is then written sequentially after its name. Let us call ``brick'' the name and its associated data set. The order in which the bricks are written doesn't matter. All the bricks are written in the grid data file in the following way:
... WRITE(LU) array_name WRITE(LU) auxildata ...where