COAWST V3.8初学记录003(第二部分002:手册算例运行篇--ROMS和SWAN或InWave耦合算例)

COAWST V3.8初学记录

我是一个完完全全的海洋数值模式初学者,此前没有接触过任何海洋数值模式,在学习COAWST模式的过程中非常难受(起码从安装到算例的运行,是完完全全一个人独立学习完成,此前有求助过一些师兄和老师,但是他们也是爱莫能助,主要是距离太远,我这边的情况他们也不甚了解,在此也要对他也表示感谢,对我提出的疑问都会及时的回复,知无不言,这也让我可以找到一些新的方向方法去解决遇到的难题)。安装和运行算例的过程中会有一些机器或者服务器的问题要自己去解决,模式的一些问题也需要自己去找答案,所以就把这一过程记录以下并发出来,寄希望可以帮助到一些和我一样的人。我想,会了基本的安装和成功运行其提供的算例,应该就算是摸到门槛了吧!祝大家一切顺利!生活学习都一切顺利!
如果觉得这个记录有帮助,还希望可以关注B站账号:https://space.bilibili.com/389618452?spm_id_from=333.1007.0.0。
该文档的PDF可以向我索要,关注B站账号,私信就好!
本记录分为以下两个部分:
第一部分:COAWST在服务器上的安装
第二部分:模式算例的运行

我没有检查文本的错别字之类的东西,应该不影响阅读,有错误的地方还请指出,万分感谢!!
不详尽之处欢迎一起讨论,相互学习!!!

注意,只是把算例跑起来而已哦!!!!!

第二部分:模式算例的运行

测试算例只是为了验证模式安装正确,就是按照手册给定的东西,把算例跑起来。部分简单的,有重复操作的,手册上比较明了的我就不给出细致的过程了。给出的算例有部分是在运算的遇到一些问题,我就标注了一下,这些问题是我在运行的时候遇到的,也算是一些小细节。
因为我是初学者,从零开始,自己的工作也还没有开展,后续会继续将自己做自己工作的问题和一些解决方式陆续发出,也欢迎大家一起交流学习。

模式运行在服务器或者超算上运行案例要一提交作业的方式进行,但是算例不是很复杂,可以直接命令行运行,提交超算作业的方式后续会根据我所用的服务器给出我的方式,总体也不难!!!

A.Inlet_test/Coupled(相同网格)

因为是耦合模型,要注意cmake对不对,未安装和版本不对的安装合适版本就好。
进入算例目录: 将COAWST目录下的build_coawst.sh拷贝至当前目录
在这里插入图片描述
编辑build_coawst.sh:
export COAWST_APPLICATION=INLET_TEST
export MY_ROOT_DIR=/data/home/wangling/COAWST (COAWST代码位置)
export MY_PROJECT_DIR=/data/home/wangling/Projects/Inlet_test/Coupled
export which_MPI=mpich # compile with MPICH library
(看你是哪一个,我们这里是mpich)
export FORT=ifort (注意编译器)
export MY_HEADER_DIR=/data/home/wangling/Projects/Inlet_test/Coupled
export MY_ANALYTICAL_DIR=/data/home/wangling/Projects/Sandy/Inlet_test
保存退出

输入./build_coawst.sh -j 4开始编译模型(后面的4是用多少核去编译,看你机器和模型自己去定义),编译成功后会有可执行文件coawstM生,成没有则未成功。(会有一个Build_roms目录生成)
在这里插入图片描述
编辑头文件:ocean_inlet_test.in
就是把文件的路径给对
VARNAME = /data/home/wangling/COAWST/ROMS/External/varinfo.dat
! Input NetCDF file names, [1:Ngrids].
GRDNAME == /data/home/wangling/Projects/Inlet_test/Coupled/inlet_test_grid.nc
! Input ASCII parameter filenames.
APARNAM = /data/home/wangling/COAWST/ROMS/External/s4dvar.in
SPOSNAM = /data/home/wangling/Projects/Inlet_test/Coupled/stations_inlet_test.in
FPOSNAM = /data/home/wangling/COAWST/ROMS/External/floats.in
BPARNAM = /data/home/wangling/COAWST/ROMS/External/bioFasham.in
SPARNAM = /data/home/wangling/Projects/Inlet_test/Coupled/sediment_inlet_test.in
USRNAME = /data/home/wangling/COAWST/ROMS/External/MyFile.dat

编辑头文件:coupling_inlet_test.in
WAV_name = /data/home/wangling/Projects/Inlet_test/Coupled/swan_inlet_test.in ! wave model
OCN_name = /data/home/wangling/Projects/Inlet_test/Coupled/ocean_inlet_test.in ! ocean model
SCRIP_COAWST_NAME = /data/home/wangling/Projects/Inlet_test/Coupled/scrip_weights_inlet_test.nc

编辑头文件:swan_inlet_test.in
CGRID CURVILINEAR 76 71 EXC 9.999000e+003 &
CIRCLE 36 0.04 1.0 20
READGRID COORDINATES 1 ‘/data/home/wangling/Projects/Inlet_test/Coupled/inlet_test_grid_coord.grd’ 4 0 0 FREE
INPGRID BOTTOM CURVILINEAR 0 0 76 71 EXC 9.999000e+003
READINP BOTTOM 1 ‘/data/home/wangling/Projects/Inlet_test/Coupled/inlet_test_bathy.bot’ 4 0 FREE

然后输入:
mpirun -n 2 ./coawstM coupling_inlet_test.in
开始运行模型

运行结束后如下图所示,以及产生一系列文件
在这里插入图片描述
在这里插入图片描述

B.ROMS和SWAN耦合算例Inlet_test/ DiffGrid(不同网格)

这个和上一个(Inlet_test/Coupled)是一样的,按照上一个操作就可以。会了Inlet_test/Coupled,这个就没问题!
编译好模式后编辑好头文件,
编辑头文件:ocean_inlet_test.in
编辑头文件:coupling_inlet_test.in
编辑头文件:swan_inlet_test.in
就是把文件的路径给对

还有scrip_inlet_test_diffgrid.nc有时候可能名字太长,改短一点就可以了

C.ROMS和SWAN耦合算例INLET_TEST/Refined

这个和Inlet_test/Coupled其实也是一样的,按照操作就可以,手册上也有比较详细的操作,会了Inlet_test/Coupled,这个就没问题!
编辑好build_coawst.sh
编译好模式后编辑好头文件,
编辑头文件:coupling_inlet_test_ref3.in
编辑头文件:ocean_inlet_test_ref3.in
编辑头文件:swan_inlet_test_ref3.in
就是把文件的路径给对
然后mpirun -n 2 ./coawstM coupling_inlet_test_ref3.in

D.ROMS和SWAN耦合算例Rip_current

该算例和Inlet_test/Coupled是一样的,就像是换了一个名字一样,对应文件路径给对就好了,难度不大。

E.ROMS和InWave耦合算例Inlet_test/InWave

进入算例目录:
将COAWST目录下的build_coawst.sh拷贝至当前目录
export COAWST_APPLICATION=INLET_TEST
export MY_ROOT_DIR=/data/home/wangling/COAWST
export MY_PROJECT_DIR=/data/home/wangling/Projects/Inlet_test/InWave
export MY_HEADER_DIR=/data/home/wangling/Projects/Inlet_test/InWave
export MY_ANALYTICAL_DIR=/data/home/wangling/Projects/Inlet_test/InWave
确定好文件,目录路径,运行 ./build_coawst.sh -j X(X给个数)

编辑文件:ocean_inlet_test.in (路径给对就可以)
VARNAME = /data/home/wangling/COAWST/ROMS/External/varinfo.dat
ND == 19 (不要看手册的20,给19就可以) ! Number of wave directional bins
GRDNAME == /data/home/wangling/Projects/Inlet_test/InWave/InWave_inlet_test_grd.nc
IWININAME == /data/home/wangling/Projects/Inlet_test/InWave/InWave_inlet_test_ini.nc
IWSWNNAME == /data/home/wangling/Projects/Inlet_test/InWave/point1.spc2d

然后:mpirun -n 1 ./coawstM ocean_inlet_test.in 就可以了

F.ROMS和InWave耦合算例InWave_shoreface

进入算例目录:(与耦合算例Inlet_test/InWave是一样的,就是把对应的路径给对)
将COAWST目录下的build_coawst.sh拷贝至当前目录,给对路径,参考其他算例给
export COAWST_APPLICATION=INWAVE_SHOREFACE
export MY_PROJECT_DIR=/data/home/wangling/Projects/ InWave_shoreface
export MY_HEADER_DIR=/data/home/wangling/Projects/InWave_shoreface
export MY_ANALYTICAL_DIR=/data/home/wangling/Projects/InWave_shoreface
确定好文件目录路径,运行 ./build_coawst.sh -j X(X给个数)编译模式

编辑文件:ocean_inlet_test.in (路径给对就可以)
VARNAME = /data/home/wangling/COAWST/ROMS/External/varinfo.dat
ND == 11 ! Number of wave directional bins
GRDNAME == /data/home/wangling/Projects/InWave_shoreface/InWave_shoreface_grd.nc
IWININAME == /data/home/wangling/Projects/InWave_shoreface/InWave_shoreface_ini.nc
BRYNAME == /data/home/wangling/Projects/InWave_shoreface/InWave_shoreface_bry.nc

这部分好像可以不改,我强迫症
APARNAM = /data/home/wangling/COAWST/ROMS/External/s4dvar.in
SPOSNAM = /data/home/wangling/COAWST/ROMS/External/stations.in
FPOSNAM = /data/home/wangling/COAWST/ROMS/External/floats.in
BPARNAM = /data/home/wangling/COAWST/ROMS/External/bio_Fennel.in
SPARNAM = /data/home/wangling/COAWST/ROMS/External/sediment_shoreface.in
USRNAME = /data/home/wangling/COAWST/ROMS/External/MyFile.dat

然后:mpirun -n 1 ./coawstM ocean_inwave_shoreface.in 就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肉巴小仙女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值