variable dimension change nc file

I have downloaded era specific humidity data in .nc file.In that data specific humidity as a variable is present ant that is 4x3x4x9862 where 4=lon,3=lat,4=pressure level and 9862=time.Now I am creating a nc file where I want this in format 3x4x4x9862 where 3=lat,4=lon,4=pressure level and 9862=time. I have written a programme and create variable for nc file like that
nccreate('test_files.nc','q','Dimensions',{'lat' 3 'lon' 4 'lev' 4 'time' 9862 });
ncwrite('test2_files.nc','q',q(3,4,4,9862));
but
error Attempted to access q(3,4,4,9862); index out of bounds because
size(q)=[4,3,4,9862].
How can I solve the problem?

6 个评论

It works here on R2016a. Note that the filename is not the same in the two lines of code.
Try:
nccreate('test2_files.nc','q','Dimensions',{'lat' 3 'lon' 4 'lev' 4 'time' 9862 });
ncwrite('test2_files.nc','q',q);
ncwrite('test_files.nc','q',Q1);
Error using netcdflib The NetCDF library encountered an error during execution of 'putVaraFloat' function - 'Start+count exceeds dimension bound (NC_EEDGE)'.
Error in netcdf.putVar (line 85) netcdflib(funcstr,ncid,varid,varargin{:});
Error in internal.matlab.imagesci.nc/write (line 824) netcdf.putVar(gid, varid,start, count, varData);
Error in ncwrite (line 76) ncObj.write(varName, varData, start, stride);
ncwrite('test2_files.nc','q',q(3,4,4,9862));
This is working fine in my version 2017.
I have worked on matlab2015.ncwrite('test2_files.nc','q',q(3,4,4,9862)); giving error message.
In that case..write a matrix in loop.....write q(:,:,:,i) at a loop i.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Color and Styling 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by