Plotting Wind magnitude and direction

Hello, I need to plot hourly wind maps with magnitude as its background and direction arrows above it. I have 2 nc file which contains hourly data of wind magnitude i.e., u component and Wind direction i.e., v component for a month. how can I plot these based on different time interval. hereby i am attaching my both nc file named uwnd and vwnd. Please help me out. Thanks in advance. netcdf file

Antworten (2)

KSSV
KSSV am 24 Okt. 2018

3 Stimmen

YOu can read the data from ncfile using ncread.
Let u, v be your wind matrices. And X, Y be your locations.
M = sqrt(u.^2+v.^2) ; % magnitude
figure
hold on
pcolor(X,Y,M) ;
shading interp
quiver(X,Y,u,v)

9 Kommentare

shravani banerjee
shravani banerjee am 24 Okt. 2018
But how can I extract my u wind and v wind variables based on time and lat/long. I am mainly stuck in this issue. Thanks in advance.
KSSV
KSSV am 24 Okt. 2018
YOu can read all the variables at once..this will be a 3d matrix..from here extract the each time data and plot.
Or
Using ncread you can read variables in a loop of time. Read about ncread
shravani banerjee
shravani banerjee am 25 Okt. 2018
Can you give me a sample code to extract each time and plotting. It will be a great help as i am new to this software.
KSSV
KSSV am 25 Okt. 2018
No issues..attach your file...
shravani banerjee
shravani banerjee am 25 Okt. 2018
netcdf file It consist both the u wind and v wind file. Thanks in advance.
ncfile1 = 'uwnd.nc';
ncfile2 = 'vwnd.nc';
lon = ncread(ncfile1,'longitude') ; nx = length(lon) ; dx = min(diff(lon)) ;
lat = ncread(ncfile1,'latitude') ; ny = length(lat) ; dy = min(diff(lat)) ;
[X,Y] = meshgrid(lon,lat) ;
t = ncread(ncfile1,'time') ; nt = length(t) ;
pivot = datenum('1900-01-01 00:00:0.0') ;
thedates = datetime(datestr((double(t)/24+pivot))) ;
for i = 1:nt
u = ncread(ncfile1,'u',[1,1,i],[nx,ny,1]) ;
v = ncread(ncfile2,'v',[1,1,i],[nx,ny,1]) ;
s = sqrt(u.^2+v.^2) ;
pcolor(X,Y,s') ;
hold on
quiver(X,Y,u',v',1,'r') ;
title(sprintf('%s',thedates(i)))
hold off
drawnow
end
shravani banerjee
shravani banerjee am 26 Okt. 2018
Thank you a lot! I'll try this code and get back to you.
shravani banerjee
shravani banerjee am 9 Nov. 2018
Bearbeitet: shravani banerjee am 9 Nov. 2018
is this command correct? %
thedates = datetime(datestr((double(t)/24+pivot))) ;
as i am getting an error in this line.
Error using date2time (line 55)
Not enough input arguments
KSSV
KSSV am 9 Nov. 2018
Bearbeitet: KSSV am 9 Nov. 2018
It is working fine in my version......YOu can comment that line and title line...and check.

Melden Sie sich an, um zu kommentieren.

Bijay Guha
Bijay Guha am 20 Jan. 2020

1 Stimme

This kind of wind vector plots are possible in MATLAB?? Kindly help!
The attached image shows the wind vector plots in the vertical axis. I need the help regarding the arrows only!
Thanks in Advance
Regards

Kategorien

Mehr zu Graphics Object Properties finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 24 Okt. 2018

Kommentiert:

am 20 Jan. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by