Start+count exceeds dimension bound (NC_EEDGE)

28 Ansichten (letzte 30 Tage)
Steven
Steven am 28 Jan. 2016
Kommentiert: Steven am 28 Jan. 2016
I'm trying to load netcdf data, crop it, and then save it to a new netcdf file. For some reason I'm getting the following error and it's driving me crazy.
Error using netcdflib
The NetCDF library encountered an error during execution of 'putVaraDouble' function - 'Start+count exceeds dimension bound
(NC_EEDGE)'.
Error in netcdf.putVar (line 84)
netcdflib(funcstr,ncid,varid,varargin{:});
Error in internal.matlab.imagesci.nc/write (line 831)
netcdf.putVar(gid, varid,start, count, varData);
Error in ncwrite (line 75)
ncObj.write(varName, varData, start, stride);
Error in Make_initial_rst_file_no_single (line 289)
ncwrite(nfile,'h',ncread(tfile,'h'));
------------------------------
The script that it is choking on is as follows...
h=ncread(tfile,'h');
h=h(istart:iend,jstart:jend);
nccreate(nfile,'h','Datatype','double','Dimensions',{'xi_rho',size(h,1),'eta_rho',size(h,2)});
ncwrite(nfile,'h',ncread(tfile,'h'));
All I am doing is loading in "h" from an existing netcdf file, cropping it with the i and j start and end values, and trying to save it to a new netcdf file.
I have double checked the dimensions and they are correct. 32 x 37 is the dimension of the new "h" array after cropping.

Akzeptierte Antwort

Ashish Uthama
Ashish Uthama am 28 Jan. 2016
Bearbeitet: Ashish Uthama am 28 Jan. 2016
The ncread call in you ncwrite call returns the full variable, did you mean to use the variable h instead of the function call?
  1 Kommentar
Steven
Steven am 28 Jan. 2016
Doh! Well that was silly. Found my mistake. Thank you for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by