Plot variables from WRF-NetCDF
Afficher commentaires plus anciens
I'm trying to plot the variable T2 (temperature at 2meters) from my netCDF file, made in Weather Research and Forecasting (WRF) Model. I was following the example of this video: https://www.youtube.com/watch?v=PJurb-IPKM8
Here is my code:
filename = 'wrfout_d03_2018-06-01_00';
ncdisp(filename);
temp = ncread (filename,'T2');
lat = ncread (filename,'XLAT');
lon = ncread (filename,'XLONG');
mapin = pcolor(lon,lat,temp')
load coast
hold on
plot(long,lat,'k','LineWidth',1.5)
plot(long+360,lat,'k','LineWidth',1.5)
The problem is that my variables have 3 dimensions instead of 2. Is there any way of get latitude and longitude from variables XLAT and XLONG?
You can download the netCDF file here: https://drive.google.com/open?id=1qKv5pTho3g9WwcNrkpDebSmvRJntGzxj
3 commentaires
KSSV
le 18 Mar 2019
What is the depth variable in meters which defines depth in the file? I assume it to be ZS..if I am no tmistaken. There is no 4 meters values in that.
Emanuel Valdes
le 18 Mar 2019
Modifié(e) : Emanuel Valdes
le 18 Mar 2019
Philip Anderson
le 1 Nov 2024
Look at the size of "temp" (and lat etc): likely something like 195x285x8 . The last dimension (x8) are 8 consecutive records, spaced at ~10 minute apart. lat and long don't actually change, and you can pick just one of the T2 records, (e.g. 1st) then use
temp2D = squeeze(temp(:,:,1));
lat2D = squeeze(lat(:,:,1));
etc.
Apologies for my clunky Matlab.
Réponses (1)
Werner Barros
le 22 Oct 2019
0 votes
You can use the function squeeze(variable)
Catégories
En savoir plus sur NetCDF dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!