Flexible interpolation and asynchronous output using YAC and PROJ¶
PISM uses YAC to implement projection-aware interpolation of inputs (which also requires PROJ[1] to compute longitude, latitude coordinates of cell centers and cell corners) and asynchronous writing of diagnostic outputs and model state snapshots.
YAC depends on YAXT. Please make sure you have Autoconf, Automake, and libfyaml installed, then use the following commands to install both YAXT and YAC:
export CC=${CC:-mpicc}
export FC=${FC:-mpifort}
export CFLAGS="-O3 -g -march=native"
prefix=${prefix:-$HOME/local/yac}
yaxt_version=0.11.5.1
git clone -b release-${yaxt_version} \
https://gitlab.dkrz.de/dkrz-sw/yaxt.git
cd yaxt
autoreconf -i
./configure --prefix=${prefix} FC=no \
--with-pic
make all && make install
cd -
yac_version=3.14.0
git clone -b release-${yac_version} \
https://gitlab.dkrz.de/dkrz-sw/yac.git
cd yac
test -f ./configure || ./autogen.sh
./configure --prefix=${prefix} \
--with-yaxt-root=${prefix} \
--disable-netcdf \
--disable-examples \
--disable-tools \
--disable-deprecated \
--disable-fortran-bindings \
--enable-python-bindings \
--with-pic
make all && make install
To build PISM with these libraries, set the CMake variable Pism_USE_YAC
and include YAC’s installation prefix in CMAKE_PREFIX_PATH:
cmake -DPism_USE_YAC=YES \
-DCMAKE_PREFIX_PATH="$HOME/local/yac;..." \
...
See section Interpolation of input data to learn how to use flexible interpolation in PISM.
Footnotes
| Previous | Up | Next |