Interpolation of input data¶
PISM includes a basic implementation of bilinear and trilinear interpolation. This code assumes that source and target grids[1] use the same projection. (This is interpolation in the projected Cartesian coordinate system.) It works best if source and target grids use similar grid resolution. It suffers from signal aliasing when the source grid resolution is significantly (e.g. 10 times) higher than the target grid resolution.[2]
One way to avoid aliasing issues is by pre-processing PISM’s inputs, e.g. conservatively
re-projecting and interpolating a data set from its original grid to the grid that will be
used by PISM. See CDO (specifically, cdo remapcon
) and GDAL (gdalwarp -r average
and
similar), for example. The downside of this approach is that one has to store and archive
pre-processed inputs.
It is possible to avoid these issues and perform re-projection and interpolation “on the fly” by compiling PISM with PROJ and YAC; see section Enabling flexible interpolation using YAC and PROJ. (Note that YAC performs interpolation on a sphere using longitudes and latitudes of cell centers and corners.)
To use this code, make sure that
the coordinate reference system used by PISM’s internal grid was specified (see Coordinate Reference Systems)
an input (often climate or ocean forcing) file contains projection information (again, see Coordinate Reference Systems).
PISM will automatically choose the interpolation method depending of the interpolation direction:
fine to coarse: first order conservative
coarse to fine: distance-weighted sum of neighbors (similar to bilinear).
Footnotes
Previous | Up | Next |