编译和安装
操作步骤
- SVN检出获取ROMS源码。
建立一个新文件夹,将ROMS源码检出到文件夹中,获取源码需要注册帐户。
cd /path/to/ROMS mkdir ROMS_4.0 svn checkout --username 帐户名 --password 密码 https://www.myroms.org/svn/src/trunk ROMS_4.0
例如:
使用HPC/Huawei12#$的帐户及密码进行源码检出,命令如下:
svn checkout --username HPC --password Huawei12#$ https://www.myroms.org/svn/src/trunk ROMS_4.0
源码文件结构如下:
- 自定义build脚本。
- 为了在使用中对源码内容不做修改,执行以下命令,新建“ROMSProjects”文件夹用于ROMS的编译运行,upwelling是源码包中自带的默认算例。
cd /path/to/ROMS mkdir ROMSProjects cd ROMSProjects mkdir upwelling cd upwelling
- 执行以下命令,复制以下文件到“upwelling”目录中。
cp /path/to/ROMS/ROMS_4.0/ROMS/Bin/build_roms.sh . cp /path/to/ROMS/ROMS_4.0/ROMS/External/roms_upwelling.in . cp /path/to/ROMS/ROMS_4.0/ROMS/External/varinfo.dat . cp /path/to/ROMS/ROMS_4.0/ROMS/Include/upwelling.h .
- 执行以下命令编辑“build_roms.sh”文件。
- 打开“build_roms.sh”文件。
vi build_roms.sh
- 按“i”进入编辑模式。
- 设置ROMS根目录和upwelling路径,修改以下内容。
export ROMS_APPLICATION=UPWELLING export MY_ROOT_DIR=/path/to/ROMS export MY_PROJECT_DIR=${MY_ROOT_DIR}/ROMSProjects/upwelling export MY_ROMS_SRC=/path/to/ROMS/ROMS_4.0
- 设置编译选项,修改以下内容。
export USE_MPI=on export USE_MPIF90=on export which_MPI=openmpi export FORT=flang export USE_NETCDF4=on
将 export USE_MY_LIBS=no 注释掉,使用 export USE_MY_LIBS=yes。
- 设置ROMS根目录和upwelling路径,修改以下内容。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“build_roms.sh”文件。
- 为了在使用中对源码内容不做修改,执行以下命令,新建“ROMSProjects”文件夹用于ROMS的编译运行,upwelling是源码包中自带的默认算例。
- 执行以下命令编辑“my_build_path.sh”文件。
- 执行以下命令将“Linux-flang.mk”文件放入/path/to/ROMS/ROMS_4.0/Compilers/。
cd /path/to/ROMS/ROMS_4.0/Compilers/
Linux-flang.mk 编写如下:
cp Linux-gfortran.mk ../ mv Linux-gfortran.mk Linux-flang.mk vi Linux-flang.mk
修改方式如下:
按“Esc”键,输入:wq! ,按“Enter”保存并退出编辑。
- 执行以下命令修改“roms_upwelling.in”文件。
- 打开“roms_upwelling.in”文件。
cd /path/to/ROMS/ROMSProjects/upwelling/ vi roms_upwelling.in
- 按“i”进入编辑模式,修改文件中VARNAME为varinfo.dat的路径。
VARNAME = /path/to/ROMS/ROMSProjects/upwelling/varinfo.dat
设置NtileI、NtileJ,二者的乘积应与运行时设置的np(核心数量)相等。
NtileI=2
NtileJ=4
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“roms_upwelling.in”文件。
- 执行以下命令进行安装。
chmod 777 build_roms.sh chmod 777 /path/to/ROMS/ROMS_4.0/ROMS/Bin/cpp_clean chmod 777 /path/to/ROMS/ROMS_4.0/ROMS/Bin/sfmakedepend ./build_roms.sh -j
目录下生成可执行文件 romsM 且安装未报错,则安装成功。