ATS 是一个非常强大的生态、水文建模工具,包括了热过程、蒸散发、表面能量平衡、积雪、生物地球化学、植被动态、变形、传输等过程。
如何编译安装ATS,下面的安装说明是直接拷贝过来的。后面会再记录一下自己的编译安装过程。
在Mac下面编译了一次,似乎没有想象那么困难,用这个脚本已经几乎是傻瓜式的编译安装过程了。 在编译之前,要安装cmake、gcc、lapack、openmpi。 我建议用macports安装,可以用select命令,把默认的编译器改成需要的,方便后面的编译过程。 【当前release版本是1.2,所以后续都以v1.2为准。】 根据安装指南,配置相关的路径,其实要修改的地方也没多少。下面是我使用的环境变量设置:
# EDIT THESE!
# >>> ATS set up >>>
# EDIT THESE!
export ATS_BASE=/Users/kangwang/Documents/ats_1.20
export ATS_BUILD_TYPE=Release
export ATS_VERSION=ats-1.2
export OPENMPI_DIR=/opt/local
# END EDIT THESE!
export AMANZI_TPLS_BUILD_DIR=${ATS_BASE}/amanzi_tpls-build-${ATS_VERSION}-${ATS_BUILD_TYPE}
export AMANZI_TPLS_DIR=${ATS_BASE}/amanzi_tpls-install-${ATS_VERSION}-${ATS_BUILD_TYPE}
export AMANZI_SRC_DIR=${ATS_BASE}/repos/amanzi
export AMANZI_BUILD_DIR=${ATS_BASE}/amanzi-build-${ATS_VERSION}-${ATS_BUILD_TYPE}
export AMANZI_DIR=${ATS_BASE}/amanzi-install-${ATS_VERSION}-${ATS_BUILD_TYPE}
export ATS_SRC_DIR=${AMANZI_SRC_DIR}/src/physics/ats
export ATS_DIR=${AMANZI_DIR}
export PATH=${ATS_DIR}/bin:${PATH}
export PATH=${AMANZI_TPLS_DIR}/bin:${PATH}
export PYTHONPATH=${ATS_SRC_DIR}/tools/utils:${PYTHONPATH}
export PYTHONPATH=${AMANZI_TPLS_DIR}/SEACAS/lib:${PYTHONPATH}
# <<< ATS set up <<<
【后续的编译过程一定要在bash下进行,但是编译完成之后,可以修改zsh的环境变量,ats也可以在zsh下调用运行。】
可以先保存成一个bash脚本,每次打开terminal的时候source一下。编译成功之后,可以在Bash配置文件里面添加这些路径,也就是修改~/.bash_profile 或者~/.bashrc。每次修改完之后,都运行一下:
source ~/.bash_profile
1) 创建ats的根目录
mkdir -p ${ATS_BASE}
cd ${ATS_BASE}
2) 从github把两个库都弄下来:
git clone -b amanzi-1.2 http://github.com/amanzi/amanzi $AMANZI_SRC_DIR
git clone -b ats-1.2 http://github.com/amanzi/ats $ATS_SRC_DIR
cd $AMANZI_SRC_DIR
git reset --hard a1b2ff9
cd $ATS_SRC_DIR
git reset --hard b68fc24
3) 修改bootstrap.sh,主要是避免编译中checkout ats的代码到最新版,也就是强制编译当前版本:
--disable-ats_dev -> --enable-ats_dev
4) 运行安装脚本编译amanzi
. ${AMANZI_SRC_DIR}/build_ATS_generic.sh
基本上不用管它,只有个别情况下,国内网络不通顺,有些安装包下不下来,可以手动下载之后,放到:
${ATS_BASE}/amanzi-tpls/Downloads
里面。但是要注意,一定是ATS需要下载的那个链接对应的文件,否则MD5验证过不去,ATS还是要去下载原文件。
5) 都安裝完畢之後,可以看看版本號:
ats --print_version