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