Enabling flexible interpolation using YAC and PROJ¶
PISM’s projection-aware interpolation code uses PROJ[1] to compute longitude, latitude coordinates of cell centers and cell corners and YAC for the interpolation itself.
YAC depends on YAXT. Please make sure you have Autoconf, Automake, and libyaml 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.3
git clone -b release-${yaxt_version} \
https://gitlab.dkrz.de/dkrz-sw/yaxt.git
cd yaxt
autoreconf -i
./configure --prefix=${prefix} \
--with-pic
make all && make install
cd -
yac_version=3.5.2
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 \
--with-pic
make all && make install
To build PISM with these libraries, set the CMake variable Pism_USE_YAC_INTERPOLATION
and include YAC’s installation prefix in CMAKE_PREFIX_PATH
:
cmake -DPism_USE_YAC_INTERPOLATION=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 |