Plot variables from WRF-NetCDF
Mostrar comentarios más antiguos
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 comentarios
KSSV
el 18 de Mzo. de 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
el 18 de Mzo. de 2019
Editada: Emanuel Valdes
el 18 de Mzo. de 2019
Philip Anderson
el 1 de Nov. de 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.
Respuestas (1)
Werner Barros
el 22 de Oct. de 2019
0 votos
You can use the function squeeze(variable)
Categorías
Más información sobre NetCDF en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!