最近做海洋要素大作业模拟二维潮波需要绘制同潮时线和等振幅线,提供程序如下,仅供参考
clear;
aa=load('rho_m2.dat');
cc=load('thet_m2.dat');
bb=flipud(aa);
cc=flipud(cc);
bb(find(bb<0.01))=NaN;%陆地设为NaN
cc(find(cc<0.01))=NaN;
m_proj('miller','lon',[117.50 126.83],'lat',[34 41]);
lon1=linspace(117.50,126.83,56);
lat1=linspace(34,41,43);
[lon1,lat1]=meshgrid(lon1,lat1);
[c,h]=m_contour(lon1,lat1,bb,15);
m_coast('patch',[0 0 0])
hold on
dd=cc;
dd(find(dd>340|dd<20))=NaN;
[c,h]=m_contour(lon1,lat1,dd,[30:30:330]);
clabel(c,h,'FontSize',10, 'Color','r','Rotation',0);
hold on
a2=find(cc>340&cc<360);
cc(a2)=cc(a2)-360;
[c,h]=m_contour(lon1,lat1,cc,[0 0]);
clabel(c,h,'FontSize',10, 'Color','r','Rotation',0);
m_gshhs_h('save','topodata');
m_usercoast('topodata','patch',[0 0 0],'linewidth',1.2);
m_grid('box','fancy')
xlabel('Longitude')
ylabel('Latitude')
title('等振幅线与同潮时线')
从图中我们可以看到渤黄海的4个无潮点。
最后附上大神学长用python做的大作业,网址如下:
https://github.com/FinalTheory/Calculation_of_Marine_and_Hydrologic_Factors