1、海面风场数据下载 从ECNWF(https://apps.ecmwf.int/datasets/data/era40-daily/levtype%3Dsfc/)下载 以下为可以下载的参数数据,选择10 metre U wind Component和10 metre V wind Component(这里我们下载的是.nc格式的6:00的海风数据) 2、MATLAB安装m_map工具箱 https://www.eoas.ubc.ca/~rich/map.html#examples(这是2018版本的) 因为我的MATLAB是2016a,版本不对应所以我没有安装而是解压到一个文件夹中, 在MATLAB中输入:
%将M_map路径添加到matlab中并保存
addpath('......\Matlab\toolbox\matlab\m_map');
savepath;
m_proj('lambert','lon',[-10 20],'lat',[33 48]);
m_coast('contourf');
m_grid('linestyle','none','tickdir','out','linewidth',3);
代码如下:
%添加m_map工具箱进行风场图绘制
addpath(.......\Matlab\toolbox\matlab\m_map');
savepath;
%%读取海面风场数据
ncFilePath='.....\oceanRS\SeaWind\98partPacific-5C7Znl.nc';
lon=ncread(ncFilePath,'longitude');%读取经度变量
lat=ncread(ncFilePath,'latitude');%读取纬度变量
time=ncread(ncFilePath,'time');%读取时间变量
u=ncread(ncFilePath,'u10'); %风场大小
v=ncread(ncFilePath,'v10');
u100=u(1:21,1:21,24:24); %选取3月1日的海面风场数据显示并输出为tiff
v100=v(1:21,1:21,24:24);
%% 显示数据
figure
[lo,la]=meshgrid(lon,lat);
P=v100+u100;
PI=interp2(P,0.1,0.1,'cubic');
m_proj('Equidistant Cylindrical','lon',[130,180],'lat',[-10,40]);
m_pcolor(lo,la,P);
hold on;
shading flat;
colormap('hsv');
m_grid('tickdir','fancy');
hold on
m_quiver(lo,la,u100,v100,'color','k');
xlabel('太平洋局部风场示意图');
h=colorbar('h');
set(get(h,'xlabel'),'string','海面风场');
![在这里插入图片描述](https://img-blog.csdnimg.cn/2018122822013649.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODQwNzEy,size_16,color_FFFFFF,t_70)
仅供参考哟,一起分享经验
|