Plot variables from WRF-NetCDF

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?

3 comentarios

KSSV
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
Emanuel Valdes el 18 de Mzo. de 2019
Editada: Emanuel Valdes el 18 de Mzo. de 2019
Sorry, I'm not getting your question. T2 it's temperature at 2 meters of height. I guess this is my problem:
Philip Anderson
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.

Iniciar sesión para comentar.

Respuestas (1)

Werner Barros
Werner Barros el 22 de Oct. de 2019

0 votos

You can use the function squeeze(variable)

Preguntada:

el 18 de Mzo. de 2019

Comentada:

el 1 de Nov. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by