0%

GMT绘制分潮同潮图

海洋潮汐由诸多分潮组成,同潮图的绘制是潮汐研究的常见操作。这里介绍GMT绘制同潮图的主要步骤,并导出振幅和相位的等值线,转为kml格式,以便在google earth查看。

数据下载

使用AVISO网站的FES2014潮汐模型,各分潮为单独的nc文件。
内容包含:

1
2
3
4
$ ls
2n2.nc k2.nc m3.nc m8.nc mm.nc msf.nc nu2.nc q1.nc s2.nc ssa.nc
j1.nc l2.nc m4.nc mf.nc mn4.nc mu2.nc o1.nc r2.nc s4.nc t2.nc
k1.nc m2.nc m6.nc mks2.nc ms4.nc n2.nc p1.nc s1.nc sa.nc

绘图代码

以山东周边海域M2和S2分潮为例绘图。

主要用到了grdcontour绘制等值线,在相位一行代码中,注意加入-Z+p,代码如下。

1
2
3
4
5
6
7
8
9
#!/usr/bin/env bash
ps=sd.ps

gmt pscoast -R115/125/34/42 -JM6i -Baf -Gburlywood -Di -A10 -P -K --FORMAT_GEO_MAP=dddF > $ps
gmt grdimage "m2.nc?amplitude" -J -R -O -K -Q >> $ps
gmt pscoast -R -J -Gwhite -Df -K -O >> $ps

gmt grdcontour -R "m2.nc?phase" -J -Gl123/37/120/34,122/39/125/39 -C20 -A40+f7p+a0+u@. -Z+p -Wc0.25p,white -Wa0.75p,white -O -K >> $ps
gmt grdcontour -R "m2.nc?amplitude" -J -GlBL/TR -C20 -A40+f7p+a0 -Wc0.25p,black -Wa0.75p,black -O -K >> $ps

M2

S2

数据导出

首先使用grdcontour-D输出等值线文件,再使用gmt2kml制作kml文件,可进一步导入Google Earth。

1
2
3
4
5
6
7

# Output data
gmt grdcontour -R "m2.nc?phase" -J -C10 -A20+f7p+a0 -Wc0.25p,gray -Wa0.75p,gray -Dcontours_p.txt
gmt grdcontour -R "m2.nc?amplitude" -J -C10 -A20+f7p+a0 -Wc0.25p,red -Wa0.75p,red -Dcontours_a.txt
# Transform to kml
gmt 2kml contours_p.txt -Wthick,black -Fl > contours_p.kml
gmt 2kml contours_a.txt -Wthick,white -Fl > contours_a.kml

导入Google Earth