本文介绍4种ROMS网格制作工具,2种Matlab语言的,2种Python语言的。

1.网格生成

本页参考wikiroms该页面
从这页的注释可以看到从2008年6月以后再也没有修改过,于是很多内容便不再适用,bug百出。

2.SEAGRID(MATLAB)

seagrid最早的页面上很多链接已经失效,特别是USGS的下载链接,需要自行查找,它被包含在了一个SEA-MAT程序集合中,最终在seagrid下载链接中我们看到,2017年1月后再也没有更新。ROMS论坛中也有一个帖子进行介绍,同样长久未更新。

SEAGRID by Chuck Denham在Matlab2014b后便会出现bug,主要体现在any函数不再适用。已经有很多人在ROMS论坛上提问这个bug,也有人在github上提出了一个问题,这个bug出现的原因如下:

The bigger problem is that starting with Matlab 2014b handles are no longer floating point numbers by default - they have a new class called "handle", Seagrid checks a lot of handle states with the "any" function but this won't work with the new handles - you would probably have start by replacing all "any" statements with "~isempty" to resolve this problem and even if you do that there may still be other issues.

解决方法很简单,使用matlab2014a及以前的MATLAB版本,或者使用下面的方法。

3.GridBuilder(MATLAB)

于是Charles James在seagrid基础上开发了GridBuilder,最初仅适用于Windows,后来开源变成了一个MATLAB软件包,可以在John Luick's Austides site下载安装包并在MATLAB软件内点击安装,当然你也可以选择它的Windows版。特别注意的是这个软件包并没有登录MATLAB内建add-on商店,需要自行下载安装。

实话实讲,能用,但是没次点击都会都会花好几秒钟反应,总感觉会死机,用户体验不佳,但比没有强!

4. Octant(Python)

下载地址:https://github.com/hetland/octant
Octant是由德州农工大学Rob Hetland教授编写的,据学长称此软件安装起来很简单,而pyroms相对麻烦一些。

5. PyRoms(Python)

下载地址:https://github.com/ESMG/pyroms
一份入门PPT,一份Rob Hetland教授录制的入门视频,不过年代久远,仅供参考。

鸣谢

特别鸣谢在ROMS学习过程中,曲立新师兄,余萧学姐,高天翔学长的帮助。

Last modification:January 15th, 2020 at 08:11 pm
If you think my article is useful to you, please feel free to appreciate