2025年Linux系统下ROMS安装流程与例程运行

Linux系统下ROMS安装流程与例程运行1 注册 获得源码的第一步是去官网注册 人工审核大概需要一天的时间 ROMS gt start 2 准备工作 2 1 安装 HDF5 下载安装包 以 1 8 10 版本为例 HDF5 1 8 10 Source Code 解压后进入控制台 移动到压缩包所在目录 输入以下指令完成安装

大家好,我是讯享网,很高兴认识大家。

1、注册

获得源码的第一步是去官网注册,人工审核大概需要一天的时间。

ROMS> start

2、准备工作

2.1 安装HDF5

下载安装包:以1.8.10版本为例

HDF5 1.8.10 Source Code

解压后进入控制台,移动到压缩包所在目录,输入以下指令完成安装,这里要记得安装的位置。注意,有时make不成功需要先运行make clean,再重新make。

./configure --prefix=/usr/local/hdf5 # 指定安装路径 make make check # 验证安装是否成功 make install 

讯享网

2.2 安装NetCDF4

2.2.0 安装依赖库

依赖库主要有三个:

numpy

cftime

HDF5

刚才已安装HDF5,剩下两个按照网上的教程,可以去下载wheel文件安装。

另一个省事的办法:直接在ubuntu控制台输入numpy、cftime,在未安装该库时控制台会给出对应的安装指令。

NetCDF不版本的安装有些区别,旧版的相对比较简单。如果没有特殊需求推荐安装旧版,如果后续demo运行有误则可尝试安装新版。

2.2.1安装旧版(4.3.1之前的版本)

下载链接:

https://pypi.org/project/netCDF4/%23files

最简单的办法是输入以下指令:

讯享网pip install netCDF4 

该指令可以直接从官网复制。

2.2.2安装新版

下载链接:

NetCDF: Building the NetCDF-4.2 and later Fortran libraries

新版需要分别编译和安装c文件和fortran文件。首先解压c文件的压缩包,阅读其中的INSTALL.md文件,可知编译NetCDF-c之前需要先编译zlib和HDF5两个库,HDF5前文已经提到,zlib似乎时ubuntu自带的,没有的话可以输入:

sudo apt-get install -y zlib* 

然后在控制台进入netcdf-c解压产生的文件夹中,输入以下指令

讯享网CPPFLAGS=-I/home/username/local/include LDFLAGS=-L/home/username/local/lib ./configure --prefix=/home/username/local make check install

HDF5、zlib、szip的头文件库文件的位置应该根据实际情况修改,不一定都是以上写的位置。prefix后写的安装位置最好也修改到一个便于管理的位置。

netcdf-fortran部分的编译与安装步骤如下,这一部分也可以在官网找到

1、找到netCDF-c的安装路径,我设置为:

NCDIR=/usr/local

2、设置Fortran和c编译器(确认编译器的指令:which gcc; which gfortran)

讯享网CC=gcc FC=gfortran

3、安装netCDF-F

NFDIR=/usr/local #安装路径 CPPFLAGS=-I${NCDIR}/include LDFLAGS=L${NCDIR}/lib \ ./configure --prefix=${NFDIR} make check make install #如果出现权限的报错,则在前面加sudo

3、安装ROMS

输入以下指令安装mpich2

讯享网 sudo apt-get -y install mpich 

输入以下指令即可获得ROMS源码,提醒linux使用不熟练的同学:mkdir之前应先cd进入事先准备好的文件夹,建议将ROMS下载至指定文件夹便于以后的管理。

sudo apt-get install subversion mkdir myROMS cd myROMS # 默认下载到当前文件夹, 更改username为自己官网注册的,并输入密码 svn checkout --username username https://www.myroms.org/svn/src/trunk # 或者指定文件夹(ROMS_dir) svn checkout --username username https://www.myroms.org/svn/src/trunk ROME_dir

4、Upwelling例程运行

以upwelling(上翻流)为例验证安装结果。

4.1新建目录

新建文件夹并将以下三个文件复制到相应的目录,直接复制粘贴就行。有些版本的ROMS里build_roms.sh的后缀为bash。


讯享网

讯享网# 在与刚才安装的trunk的同级目录新建Projects文件夹,用于存放ROMS的各种应用 mkdir Projects cd Projects # 在Projects文件夹下建立Upwelling文件夹 mkdir Upwelling cd Upwelling # 复制所需的文件到Upwelling文件夹 trunk/ROMS/External/roms_upwelling.in trunk/ROMS/Include/upwelling.h trunk/ROMS/Bin/build_roms.sh trunk/ROMS/External/varinfo.dat 

4.2变量设置

1、修改build_roms.sh

将build_roms.sh原有对应位置的内容替换为以下代码

# ROMS根目录和Upwelling路径 export MY_ROOT_DIR=${HOME}/apps/myROMS export MY_PROJECT_DIR=${MY_ROOT_DIR}/Projects/Upwelling export MY_ROMS_SRC=${MY_ROOT_DIR}/trunk # trunk目录 #export MY_CPP_FLAGS= # 注释掉MY_CPP_FLAGS变量 export USE_MPI=on export USE_MPIF90=on # 使用MPI分布式内存的并行方式 export which_MPI=mpich2 # MPI的发行版选择mpich2 export FORT=gfortran # Fortran编译器选择gfortran export USE_NETCDF4=on # 使用NETCDF4作为IO export USE_MY_LIBS=yes # 由于使用了第三方库,需要打开这个开关

2、修改my_build_paths.sh

打开myROMS/trunk/Compilers/my_build_paths.sh找到 USE_MPIF90 部分,根据使用的编译器(本文用gfortran)以及MPI 发行版(本文为mpich2)修改对应行的 MPI_ROOT(mpich2 安装路径可以使用 whihc mpirun 指令查看)。

找到USE_NETCDF4 部分,根据编译器(gfortran)、以及是否并行 (IO),修改 NETCDF 变量的路径(NETCDF 的路径可以用 which nf-config 或 which ncdump 指令查看)。

如果这三步存在错误,运行时会出现以下错误:

4.3编译安装

讯享网直接运行脚本即可安装 ./build_roms.sh ./build_roms.sh -j 4 #或者使用多线程编译 

这个过程比较久,结束后生成romsM文件即为成功。附一张运行过程中的图:

4.4模式运行

1、修改VARNAME等参数

在romsM文件所在目录,修改roms_upwelling.in文件,把VARNAME设置为varinfo.dat文件夹所在的位置,/home/我的用户名/myROMS/trunk/ROMS/External/varinfo.dat,修改运行核数为4(也可以不改):

VARNAME = /home/我的用户名/myROMS/trunk/ROMS/External/varinfo.dat NtileI = 2 NitleJ = 2 #NtileI*NtileJ=4

2、运行mpirun

用mpirun指令运行roms:

讯享网mpirun -np 4 ./romsM roms_upwelling.in

结果为:

 注意,可能是由于设置了多核的原因,运行以下指令会出错

./romsM roms_upwelling.in

成功运行后,文件夹中多了roms_avg.nc  roms_dia.nc  roms_his.nc  roms_rst.nc这些文件。

5、Reference

HDF5

HDF5 1.8.10 Source Code

Linux安装hdf5_yaoyz105-CSDN博客_hdf5安装

NETCDF4

netCDF4 · PyPI

cftime · PyPI

linux下netCDF4安装笔记_domotokoi的博客-CSDN博客_linux netcdf4安装

NetCDF: Building the NetCDF-4.2 and later Fortran librarieshttps://docs.unidata.ucar.edu/netcdf-c/current/building_netcdf_fortran.html

ROMS

ROMS海洋模式安装攻略 - 知乎

ROMS区域海洋模式的安装和运行_islandowner2017的博客-CSDN博客_roms模式

ROMS 编译upwelling.h_joseph_hsu的博客-CSDN博客

小讯
上一篇 2025-04-07 15:16
下一篇 2025-03-16 08:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/32971.html