以Ubuntu系统(一个以桌面应用为主的Linux发行版操作系统)为例,安装实验日期为2018年4月05日

ParFlow安装版本为3.6,其它版本请预先确定兼容性,小心使用

安装intel编译器(可选)

如需要,首先要安装intel编译器(oneAPI)

1
2
chmod  +x  l_BaseKit_b_2021.1.10.2261.sh
sudo ./l_BaseKit_b_2021.1.10.2261.sh

一直确认,直到结束

1
sudo  ./l_HPCKit_b_2021.1.10.2477_offline.sh

一直确认,直到结束

随后,在 ~/.bashrc 中末尾写上以下命令

1
source  /opt/intel/oneapi/setvars.sh

在终端中执行:

1
source  ~/.bashrc

在终端中执行

1
which ifort

如果出现下面的输出结果,表示安装成功

/opt/intel/oneapi/compiler/2021.1-beta10/linux/bin/intel64/ifort

环境配置

修改配置文件

修改配置文件,在~/.bashrc中末尾增加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#=========================================================
export F90=mpif90
export F77=mpif77
export FC=mpif90
export CC=mpicc
export CXX=mpicxx

export PARFLOW_INS=$HOME/software/install_software/parflow_install
export PARFLOW_DIR=$PARFLOW_INS/parflow-3.6.0
export SILO_DIR=$PARFLOW_INS/silo-4.10.2
export HYPRE_DIR=$PARFLOW_INS/hypre-2.9.0b
export TCL_DIR=$PARFLOW_INS/tcl-8.6.7

export LD_LIBRARY_PATH=$SILO_DIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$HYPRE_DIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$TCL_DIR/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$PARFLOW_DIR/lib:$LD_LIBRARY_PATH

export PATH=$SILO_DIR/bin:$PATH
export PATH=$TCL_DIR/bin:$PATH
export PATH=$PARFLOW_DIR/bin:$PATH
#=========================================================

加载~/.bashrc

在终端执行

1
source  ~/.bashrc

验证是否正常加载,继续执行以下命令

1
2
3
4
5
6
7
which  ifort
echo $PARFLOW_INS
echo $PARFLOW_DIR
echo $SILO_DIR
echo $HYPRE_DIR
echo $TCL_DIR
which $F90

安装所需软件包

准备好相应软件包(~/.bashrc中配置安装路径与软件包版本一致)。

以下步骤中,安装软件,每次都在~/software/source_software目录中执行命令。

安装silo

在~/software/source_software目录中

1
2
3
4
tar -zxvf silo-4.10.2.tar.gz
cd silo-4.10.2
./configure --disable-silex --prefix=$SILO_DIR
make all install

安装hypre

在~/software/source_software目录中

1
2
3
4
tar -zxvf hypre-2.9.0b.tar.gz
cd hypre-2.9.0b/src
./configure --prefix=$HYPRE_DIR --with-MPI
make install

安装tclsh

在~/software/source_software目录中

1
2
3
4
unzip tcl867-src.zip
cd tcl8.6.7/unix
./configure --prefix=$TCL_DIR
make install

在~/.bashrc中写入

1
alias tclsh=tclsh8.6

安装ParFlow

在~/software/source_software目录中

1
2
3
tar -zxvf parflow-3.6.0.tar.gz
mv parflow-3.6.0 parflow
cd parflow

注意路径一定要正确,一定要写到可执行文件tclsh8.6。

随后:

1
2
3
4
5
6
7
8
9
10
cmake   ../parflow   \
-DPARFLOW_AMPS_LAYER=mpi1 \
-DPARFLOW_HAVE_CLM=ON \
-DSILO_ROOT=${SILO_DIR} \
-DHYPRE_ROOT=${HYPRE_DIR} \
-DPARFLOW_AMPS_SEQUENTIAL_IO=true \
-DCMAKE_BUILD_TYPE=RELEASE \
-DPARFLOW_ENABLE_TIMING=TRUE \
-DCMAKE_INSTALL_PREFIX=${PARFLOW_DIR} \
-DTCL_TCLSH=$TCL_DIR/bin/tclsh8.6

之后,再:

1
2
3
4
make
make install
cd test
make test

执行make test后输出的内容如下:

测试内容

完。