fvcom 水深文件dep制作

发布于:2025-07-04 ⋅ 阅读:(16) ⋅ 点赞:(0)

fvcom 水深文件dep制作
fvcom 水深文件dep制作20250630

本次案例网格和水深展示

vv在这里插入图片描述

在这里插入图片描述

image
Figure 1 Model domain

本次制作其它驱动文件的输入文件为yellowsea.2dm

格式2dm; 文件内容格式详细介绍参考:

https://www.xmswiki.com/wiki/SMS:2D_Mesh_Files_*.2dm

制作方法可以参考往期教学:

matlab读取shp文件做SMS的输入文件cst【FVCOM,SCHISM】

【教程制作】从google map提取作为SMS可使用的cst格式的岸线

【matlab教程】matlab画fvcom网格sms网格==仅是展示作用;

模式打网格不只SMS

模式网格制作:SMS===这里最后一步选择保存为2dm格式. 而不是grd格式

【再次感谢烟台海岸带所的学者来稿】制作FVCOM边界潮汐高程的输入文件

上节我们跑通了河流案例=fvcom 实操—河流算例

我们可以打开看看dep文件(tst_dep.dat)的格式:

第一行就是多少个格点数目;然后每个格点经纬度坐标水深

lon lat depth
在这里插入图片描述

图片
知道了格式那就好整了:
还是三个代码:
第一个直接调用fvcom 函数包:

PyFVCOM
pip install PyFVCOM

引用:Cazenave, P. W. et al. (2018). PyFVCOM (version x.x.x) [software]. Plymouth, Devon, United Kingdom: Plymouth Marine Laboratory. https://doi.org/10.5281/zenodo.1422462

运行如下命令:

from datetime import datetime
import PyFVCOM as pf
import multiprocessing

def main():

Define a start, end and sampling interval for the tidal data

start = datetime.strptime(‘2016-01-01’, ‘%Y-%m-%d’)
end = datetime.strptime(‘2016-12-31’, ‘%Y-%m-%d’)
interval = 1 / 24 # 1 hourly in units of days
model = pf.preproc.Model(start, end, ‘yellowsea.2dm’, sampling=interval,
native_coordinates=‘spherical’, zone=50)

Write out the files for FVCOM.

model.write_grid(‘yellowsea_grd.dat’, depth_file=‘yellowsea_dep.dat’)
if name == ‘main’:
multiprocessing.freeze_support() # Windows上防止多进程问题
main()

图片
即可得到!

经过验证没毛病和示例一样的:

图片
-------=那就不需要自己在做了有直接使用即可!=

想自己做也OK的,上次更新的函数,里面一改就可以了。因为上次最后一列是0 ; 这次只需要直接给真实数据水深即可。给写个吧。

图片
图片
验证成功:
图片

引用:

引用:Cazenave, P. W. et al. (2018). PyFVCOM (version x.x.x) [software]. Plymouth, Devon, United Kingdom: Plymouth Marine Laboratory. https://doi.org/10.5281/zenodo.1422462

之前处理复杂算例的matlab 代码:
matlab读取fvcom画站点温度剖面随时间变化(Hovmöller 图)
matlab读取fvcom结果并计算密度画出密度剖面分布图
matlab读取fvcom输出结果并画温度垂直剖面图
matlab读取fvcom结果并计算密度画出密度平面分布图
matlab读取fvcom输出结果并画温度水平分布图
matlab读取河流算例nc并画图展示

fvcom 网格文件grd制作

持续更新=20250630------=====