在Linux环境下使用OTPS工具箱提取TPXO9海潮模型数据作潮汐水位预报
在Linux環境下使用OTPS工具箱提取TPXO9海潮模型數據作潮汐水位預報
- 前期準備
- 下載OTPS工具箱
- 導入TPXO9數據
- 提取數據并預報
前期準備
下文中提到的WSL環境,即Windows Subsystem for Linux,具體安裝可參考文章 地址
下載OTPS工具箱
這里提供OTPS工具箱的百度網盤下載鏈接(密碼:9z02):OTPS工具箱
里面包含原始TPXO7.2海潮數據和相關案例。
TPXO9海潮數據請點擊下載,原始數據網址 Url。
導入TPXO9數據
我們將下載好的TPXO9數據(共25個)保存在同一個文件夾下,為了區分原始工具包中帶有的TPXO7.2海潮數據,將文件夾命名為TPXO9_atlas,我這里是下載了兩種數據格式的TPXO9數據(一種是二進制【binary】;一種是nc數據),所以我在TPXO9_atlas的文件夾下再次分了文件夾binary。
我的TPXO9海潮數據保存在 E:\TPXO9_atlas\binary\ 中。
同時有兩種方式將TPXO9海潮數據移動到OTPS工具箱中:
一種是直接在Windows界面下直接將TPXO9_atlas文件夾直接移動到OTPS工具箱的DATA文件夾中;
二是通過在WSL中的鍵入命令命令mv TPXO9_atlas Shell/OTPS/DATA/將其移動到DATA文件夾下。
注意:以上的操作都是要根據自己的實際文件名和文件位置來操作。
提取數據并預報
第一步
在Linux(WSL)中打開到OTPS工具箱下,cd /mnt/e/Shell/OTPS,(以自己實際保存路徑為準)
我們已經在前面導入TPXO海潮模型數據,可以在DATA/文件夾下查看
zhuyh@LAPTOP-464DFIKA:OTPS$ cd DATA/ zhuyh@LAPTOP-464DFIKA:DATA$ ls Model_Hawaii Model_tpxo7.2 Model_tpxo9.v1 Model_tpxo9_atlas TPXO9_atlas grid_tpxo7.2 h_tpxo7.2 load_file u_tpxo7.2第二步
我們可以看到在DATA文件下有一個TPXO9_atlas,里面保存的是TPXO9海潮數據(以自己具體保存路徑為準,盡量保存在OTPS/DATA/中,以便于后續的操作)
這時候我們修改控制文件 Model_tpxo9_atlas,鍵入命令vi Model_tpxo9_atlas:
將文件中 h,u,grid 的路徑位置修改為自己TPXO9數據的路徑位置,保存退出:先 ESC 在鍵入:wq!
第三步
返回上級目錄到 OTPS 下,創建模型運行所需要的經緯度+時間文件,也就是自己需要預報的區域和時間文件,如下所示(逐小時預報,分秒為0即可,以空格為間隔):
下面是我自己寫的自動生成 經緯度時間 文件的shell腳本(make_lltime.sh),可以修改其中的lon,lat范圍,時間起始點即可生成想要的數據文件。
#!/bin/bash# lon lon_min=117 lon_max=120 # lat lat_min=10 lat_max=12 # interp interps=0.1 # time start_date=20210601 end_date=20210701 # 建議比最后時間多一天rm ll_time lat_lon # ================================================== lons=($(seq ${lon_min} ${interps} ${lon_max})) lats=($(seq ${lat_min} ${interps} ${lat_max}))for llat in ${lats[@]} dofor llon in ${lons[@]}doecho "$llat $llon" >> lat_londone donewhile [ $start_date != $end_date ] do echo $start_date for hour in `seq -w 0 23`;doawk '{print $1,$2,'${start_date:0:4}','${start_date:4:2}','${start_date:6:2}','${hour}',0,0}' lat_lon >> ll_time done let start_date=`date -d "-1 days ago ${start_date}" +%Y%m%d` done修改完成后,保存退出!在命令行輸入 bash make_lltime,等待腳本執行完成,最后生成的 ll_time 文件就是我們需要的經緯度+時間文件!
第四步
編輯輸入文件 setup.inp, vi setup.inp ,在文件的下面有每條指令詳細的講解,這里不多做贅述。
DATA/Model_tpxo7.2 ! 1. tidal model control file ../mt_zhuo/ll_time ! 2. latitude/longitude/<time> file z ! 3. z/U/V/u/v! 4. tidal constituents to include AP ! 5. AP/RI oce ! 6. oce/geo 1 ! 7. 1/0 correct for minor constituents ../mt_zhuo/zeta_mt.out ! 8. output file (ASCII)要注意 :
1.海潮模型控制文件的路徑;
2.需要提取數據的經緯度或 需要預報的經緯度+時間 文件
3.需要預報的數據類型,水位(z),潮流(u),具體見文件
4.提取或預報所需分潮的名稱,所有分潮保持為 空 即可
5,6,7 條可以不用更改,有具體要求可看文件中詳解
8.輸出文件的路勁位置
根據實際情況修改:
DATA/Model_tpxo9_atlas ! 1. tidal model control file ./ll_time ! 2. latitude/longitude/<time> file z ! 3. z/U/V/u/v! 4. tidal constituents to include AP ! 5. AP/RI oce ! 6. oce/geo 1 ! 7. 1/0 correct for minor constituents ./zeta_mt.out ! 8. output file (ASCII)這里我選取所有分潮進行預報,根據控制文件更改好路徑位置后,保存退出!
第五步
現在我們已經有了 經緯度+時間 文件、輸入文件 setup.inp
鍵入命令 make
發現文件中生成了 predict_tide 可執行文件
第六步
鍵入命令: ./predict_tide < setup.inp,因為TPXO9 的原始數據量較大,需等待片刻!
當出現 Results are in****** 即完成預報計算。
最后鍵入命令 vi zeta_mt.out 進行查看!
總結
以上是生活随笔為你收集整理的在Linux环境下使用OTPS工具箱提取TPXO9海潮模型数据作潮汐水位预报的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 顶部标题栏的布局设计
- 下一篇: syslinux 的EFI启动以及中文菜