Plot variables from WRF-NetCDF

23 ビュー (過去 30 日間)
Emanuel Valdes
Emanuel Valdes 2019 年 3 月 18 日
コメント済み: Philip Anderson 2024 年 11 月 1 日 19:52
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 件のコメント
Emanuel Valdes
Emanuel Valdes 2019 年 3 月 18 日
編集済み: Emanuel Valdes 2019 年 3 月 18 日
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 2024 年 11 月 1 日 19:52
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.

サインインしてコメントする。

回答 (1 件)

Werner Barros
Werner Barros 2019 年 10 月 22 日
You can use the function squeeze(variable)

カテゴリ

Help Center および File ExchangeNetCDF についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by