How does I extract data from netcdf on given lat lon?

11 views (last 30 days)
Dear,
I have a .NC file of 'uwnd' with 4 dimensions that includes lon, lat, level, time. I would like to extract uwnd data time seris from the netcdf file on this given lat (10 to 70 N) lon (only 32.5 E) position and all time. Is there any way to do that? My netcdf file name is "uwnd.1972.nc".
I wrote an incomplete code in MATLAB for this purpose, which is as follows
file='uwnd.1972.nc';
ncdisp(file)
longitude=ncread(file,'lon');
latitude=ncread(file,'lat');
time=ncread(file,'time');
lev=ncread(file,'level');
u=ncread(file,'uwnd',[14 9 8 1],[14 33 8 inf],[1 1 1 1]);
thanks,

Answers (1)

KSSV
KSSV on 19 Jan 2022
You have multiple ways to do it.
  1. Load all the data into work space using ncread. And use slice. Read about slice function.
  2. Find out in which row/ column the 32.5 E lies using knnsearch and extract the entire row data.
  1 Comment
HN
HN on 22 Jan 2022
Data is available for 17 levels (1000, 925, 850, 700, 600, 500, 400, 300 , .....and 10). I just want 300 hPa level data, not all levels. I have loaded the data into the workspace with the ncread command. uwnd=ncread(file,'uwnd'); The dimensions of the data are as follows: uwnd Size: 144x73x17x366 Dimensions: lon,lat,level,time My attempt to use the slice function failed.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by