ADCIRC+SWAN学习笔记(四)利用OceanMesh2D生成网格文件

SMS操作比较繁琐,且不开源。相较之下OceanMesh2D可能会更友好一些。
一、配置matlab
1. 下载m_map,解压到matlab路径下的toolbox文件夹下
https://www.eoas.ubc.ca/~rich/map.html
2. 下载OceanMesh2D,解压到matlab路径下的toolbox文件夹下
https://github.com/CHLNDDEV/OceanMesh2D
3. 下载全球海岸线数据,解压到OceanMesh2D/datasets
https://www.ngdc.noaa.gov/mgg/shorelines/shorelines.html
4. 在matlab中添加以上文件路径
二、利用OceanMesh2D代码生成Mesh文件 (fort.14)
1. 具体可参考OceanMesh2D的使用说明,写得非常详细。
https://www.researchgate.net/publication/326327226_OceanMesh2D_User_guide_-_Precise_distance-based_two-dimensional_automated_mesh_generation_toolbox_intended_for_coastal_oceanshallow_water
2. 使用时候需要注意,初始边界的编辑(可以在ArcGIS上操作)还是很讲究,过于复杂会出现后面跑ADCIRC时解算奇异造成程序终止:

三、 飓风数据文件(fort.22)准备
1. 根据ADCIRC手册上fort.22文件说明里面推荐的路径采用lftp下载飓风数据

2. 可以采用lftp下载:
3. 文件信息等在README里面有介绍

4. 找到2008年Ike的文件以后需要进行一些编辑

5. 编辑完用ADCIRC编译出来的aswip再进行处理生成fort.22文件
四、ADCIRC控制文件准备(fort.15)
控制文件条目比较多,可以采用SMS先生成一个大概的模板再对照着ADCIRC官网说明进行参数的调整;OceanMesh2D也有可以生成fort.15文件的函数。下列参数文件只是实验性质:
五、模式结果与对比
在本篇算例中未加入潮汐,因此输出的水位文件理论上就是扣除潮汐、忽略波浪(SWAN为波浪模式)以及忽略各种耦合影响后的风暴潮增水:

由于在Ike登陆的核心区域内绝大部分验潮站都出现了数据间断,因此采用唯一完整记录了整个过程的验潮站进行定性方面的粗略对比:

从图6中可以看到,变化趋势上比较还是比较接近,但若在实际的科研和应用过程中,各输入文件都需要再进行处理和调整。

小结:之前三篇加本篇基本上将ADCIRC的整个流程走了一遍,即源代码编译、官方算例运行以及针对特定目标区域的输入文件制作和模式运行。以后在实际科研的使用中如果发现比较有意思的点或者是小tip,应该还会陆陆续续进行总结。另外,欢迎大家通过私信或是留言相互讨论,共同进步!