How to extract the data from .nc file based on lat,lon ?

1 次查看(过去 30 天)
Hi, I have .nc file. I have to extract the data based on lat,lon points. I tried the following code,
precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL- ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[1 1 1],[10 10 1]);
disp(precJanuary);
After the execution I got the data for 10 lat,lon points.
Instead of that start,end I tried latitude,longitude limits.
I got the following error,
precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL- ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[60.25 5.25 1],[97.25 36.75 1]);
Error using ncread Expected start to be integer-valued.
Error in internal.matlab.imagesci.nc/read (line 557) validateattributes(start,{'numeric'},...
Error in ncread (line 58) vardata = ncObj.read(varName, varargin{:});
Error in sample1 (line 28) precJanuary = ncread('\C:\Users\divecha21\Desktop\errorBar\tasmax_day_GFDL-ESM2M_rcp85_r1i1p1_20060101-20101231.nc','tasmax',[60.25 5.25 1],[97.25 36.75 1]);
Can any one help me to clear this?
Thank you

采纳的回答

Geoff Hayes
Geoff Hayes 2014-5-26
According to the ncread command documentation (type help ncread in the Command Window) the START and COUNT inputs are defined as:
For an N-dimensional variable START is a vector of 1-based indices of length N
specifying the starting location. COUNT is also a vector of length N specifying
the number of elements to read along corresponding dimensions. If a particular
element of COUNT is Inf, data is read until the end of that dimension.
In the above code, you are supplying rational (non-integer) inputs as the START and COUNT, hence the error Expected start to be integer-valued.
  2 个评论
alagu mathi
alagu mathi 2014-5-27
编辑:alagu mathi 2014-5-27
Thank you Geoff Hayes. Your answer is correct. But I wants to extract the data only indian region, Actually I have global data. So instead of start and count i tried india lat, lon limits ([60.25 5.25 1],[97.25 36.75 1]). I got the following error,
Error using ncread Expected start to be integer-valued.
Could you please help me to clear this problem?
Geoff Hayes
Geoff Hayes 2014-5-27
编辑:Geoff Hayes 2014-5-27
The ncread command is expecting integer inputs for START and COUNT not rational inputs like 60.25, 5.25, etc. Those are not valid inputs and so you observe the above error.
You may have to read through all of the data until you find the region that corresponds to India. Unless there is another variable that may hint at which records belong to the area of interest?

请先登录,再进行评论。

更多回答(1 个)

Catubela matlab
Catubela matlab 2014-8-8
@alagu mathi did you find a way to do this? I'm also interested in how to extract data for a subdomain based on lat lon values

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

标签

尚未输入任何标签。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by