建立一个新文件夹,将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
源码文件结构如下:
cd /path/to/ROMS mkdir ROMSProjects cd ROMSProjects mkdir upwelling cd 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 .
vi build_roms.sh
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。
cd /path/to/ROMS/ROMS_4.0/Compilers vi my_build_path.sh
将第87行的MPI_ROOT修改为MPI_ROOT=/path/to/hypermpi/hmpi。
将第295和296行的gfortran改为flang。
将第311行的MPI_ROOT修改为MPI_ROOT=/path/to/hypermpi/hmpi。
将第330行的NETCDF=改为NETCDF=/path/to/NETCDF。
执行3.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。
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”保存并退出编辑。
cd /path/to/ROMS/ROMSProjects/upwelling/ vi roms_upwelling.in
VARNAME = /path/to/ROMS/ROMSProjects/upwelling/varinfo.dat
设置NtileI、NtileJ,二者的乘积应与运行时设置的np(核心数量)相等。
NtileI=2
NtileJ=4
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 且安装未报错,则安装成功。