MATLAB繪製海面風場圖像(海面風場反演)

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(‘D:\Program Files (x86)\Matlab\toolbox\matlab\m_map’);
savepath;
Test
m_proj(‘lambert’,‘lon’,[-10 20],‘lat’,[33 48]);
m_coast(‘contourf’);
m_grid(‘linestyle’,‘none’,‘tickdir’,‘out’,‘linewidth’,3);
代碼如下:
%添加m_map工具箱進行風場圖繪製
addpath(‘D:\Program Files (x86)\Matlab\toolbox\matlab\m_map’);
savepath;
%%讀取海面風場數據
ncFilePath=‘G:\Experiment\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’,‘海面風場’);
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章