ROMS

简介

ROMS全称Regional Ocean Modeling System,是一个三维区域海洋模型,由罗格斯大学海洋与海岸科学研究所和加利福尼亚大学洛杉矶分校共同研究开发,被广泛应用于海洋及河口地区的水动力及水环境模拟。

ROMS3.6依赖的软件及其版本

思源一号和π2.0上安装的ROMS、依赖软件及其版本保持一致

zlib           : 1.2.11
szip           : 2.1.1
hdf5           : 1.12.0
netcdf-c       : 4.8.0
netcdf-fortran : 4.5.3
pnetcdf        : 1.12.0
parallelIO     : 2.5.6

使用module调用ROMS依赖环境

思源一号 : module load roms/3.6-intel-2021.4.0
π2.0    : module load roms/3.6-intel-2021.4.0

依赖软件具体的安装路径

思源一号
zlib          : /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/netcdf
szip          : /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/netcdf
hdf5          : /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/netcdf
netcdf-c      : /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/netcdf
netcdf-fortran: /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/netcdf
parallelNetcdf: /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/pnetcdf
parallelIO    : /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMSRely/pio

π2.0
zlib          : /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/netcdf
szip          : /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/netcdf
hdf5          : /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/netcdf
netcdf-c      : /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/netcdf
netcdf-fortran: /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/netcdf
parallelNetcdf: /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/pnetcdf
parallelIO    : /lustre/opt/contribute/cascadelake/ROMS/ROMSRely/pio

集群上如何使用ROMS

思源一号 自定义编译ROMS

为方便广大师生编译ROMS,我们已将 `build_roms.sh``Linux-ifort.mk` 两个文件中依赖软件的参数提前修改 上述两个文件的位置为

/dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/ROMS/Bin/build_roms.sh
/dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/Compilers/Linux-ifort.mk
srun -p 64c512g -N 1 --exclusive --pty /bin/bash
mkdir -p ~/ROMS/ROMSProjects/upwelling
export PROJECT_DIR=~/ROMS/ROMSProjects/upwelling
cd $PROJECT_DIR
cp /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/ROMS/Bin/build_roms.sh ./
cp /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/ROMS/Include/upwelling.h ./
cp /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/ROMS/External/roms_upwelling.in ./
./build_roms.sh

π2.0 自定义编译ROMS

为方便广大师生编译ROMS,我们已将 `build_roms.sh``Linux-ifort.mk` 两个文件中依赖软件的参数提前修改 上述两个文件的位置为

/lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/ROMS/Bin/build_roms.sh
/lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/Compilers/Linux-ifort.mk
srun -p cpu -N 1 --exclusive --pty /bin/bash
mkdir -p ~/ROMS1/ROMSProjects/upwelling
export PROJECT_DIR=~/ROMS1/ROMSProjects/upwelling
cd $PROJECT_DIR
cp /lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/ROMS/Bin/build_roms.sh ./
cp /lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/ROMS/Include/upwelling.h ./
cp /lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/ROMS/External/roms_upwelling.in ./
./build_roms.sh

思源一号 预编译ROMS

更改 `roms_upwelling.in` 文件的参数,如下所示

VARNAME = /dssg/opt/icelake/linux-centos8-icelake/oneapi-2021.4.0/ROMS/ROMS_3.6/ROMS/External/varinfo.yaml
NtileI == 2                               ! I-direction partition
NtileJ == 2                               ! J-direction partition

`NtileI``NtileJ` 的乘积需等于总核数

提交如下脚本运行作业

#!/bin/bash
#SBATCH --job-name=ROMS
#SBATCH --partition=64c512g
#SBATCH -N 1
#SBATCH --ntasks-per-node=4
#SBATCH --output=%j.out
#SBATCH --error=%j.err

module load roms/3.6-intel-2021.4.0
mpirun -np 4 romsM roms_upwelling.in

π2.0 预编译ROMS

更改 `roms_upwelling.in` 文件的参数,如下所示

VARNAME = /lustre/opt/contribute/cascadelake/ROMS/ROMS_3.6/ROMS/External/varinfo.yaml
NtileI == 2                               ! I-direction partition
NtileJ == 2                               ! J-direction partition

`NtileI``NtileJ` 的乘积需等于总核数

提交如下脚本运行作业

#!/bin/bash
#SBATCH --job-name=ROMS
#SBATCH --partition=small
#SBATCH -N 1
#SBATCH --ntasks-per-node=4
#SBATCH --output=%j.out
#SBATCH --error=%j.err

module load roms/3.6-intel-2021.4.0
mpirun -np 4 romsM roms_upwelling.in

运行结果

思源一号上的ROMS

核数

1

2

4

8

时间

107

56

36

23

π2.0上的ROMS

核数

1

2

4

8

时间

134

70

41

29

参考资料


最后更新: 2024 年 11 月 06 日