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------=====