以“天河二号”超级计算机为例,安装实验日期为2022年5月14日

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

配置.bashrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
module load intelcompiler/14.0.2 MPI/mpich/3.2.1-icc-14.0.2-dynamic
module load cmake/3.16.4
module load silo/4.10.2-icc-14.0.2-mpich-3.2.1
module load hypre/2.10.1-icc-14.0.2
module load tcl/8.6.8-gcc-4.8.5
export F90=mpif90
export F77=mpif77
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
module load cmake/3.16.4
export SILO_DIR=/BIGDATA1/app/silo/4.10.2-icc-14.0.2-mpich-3.2.1
export HYPRE_DIR=/BIGDATA1/app/hypre/2.10.1-icc-14.0.2
export TCL_DIR=/BIGDATA1/app/tcl/8.6.8-gcc-4.8.5

安装ParFlow

解压缩ParFlow安装包

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

安装ParFlow(ParFlow-CLM)

安装完成之后,运行客户端并填写主机地址、端口、账号、密码,进入客户端命令行。

随后,开始安装

1
2
3
4
5
mkdir build
cd build
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=安装路径 -DTCL_TCLSH=$TCL_DIR/bin/tclsh8.6
make
make install

使用ParFlow

ParFlow提交作业的脚本范例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
```bash
#!/bin/bash
export PARFLOW_DIR=/parflow安装路径
export SILO_DIR=/BIGDATA1/app/silo/4.10.2-icc-14.0.2-mpich-3.2.1
export HYPRE_DIR=/BIGDATA1/app/hypre/2.10.1-icc-14.0.2
export TCL_DIR=/BIGDATA1/app/tcl/8.6.8-gcc-4.8.5
#=================================
export LD_LIBRARY_PATH=$PARFLOW_DIR/lib:$PARFLOW_DIR/bin:$LD_LIBRARY_PATH
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 PATH=$PARFLOW_DIR/bin:$PATH
export PATH=$SILO_DIR/bin:$PATH
export PATH=$TCL_DIR/bin:$PATH
#=================================
export GLEX_USE_ZC_RNDV=0
tclsh ./overlandflow.tcl
```

提交命令:

运行测试时,由于算例是通过tclsh脚本提交,因此tclsh只能占用1个进程,可通过-c参数设置算例运行使用的cpu,因此,提交命令为:

yhbatch -N 节点数 -n 进程数 -c 24 脚本名

如算例需要使用6*6的核心,可使用2个节点,提交命令为:

yhbatch -N 2 -n 2 -c 24 脚本名 (注意,这里需要加上-c 24)。

运行设置

ParFlow运行环境与运行状态

运行环境:

1
2
3
4
5
1) intelcompiler/14.0.2                 6) blas/3.5.0-icc-14.0.2    
2) intelcompiler/mkl-14 7) lapack/3.5.0-icc-14.0.2
3) MPI/mpich/3.2.1-icc-14.0.2-dynamic 8) hypre/2.10.1-icc-14.0.2
4) cmake/3.16.4 9) tcl/8.6.8-gcc-4.8.5
5) silo/4.10.2-icc-14.0.2-mpich-3.2.1

运行状态下某时刻的cpu利用率:

运行状态