error using netcdf.putVar
21 次查看(过去 30 天)
显示 更早的评论
I don't see a difference when compared to the Matlab help, any idea?
MATLAB CODE
close all
clear all
nlon=180;
nlat=90;
filenc=['slope.nc']
ncid = netcdf.create(filenc,'NC_WRITE');
%creating dimensions
dimid_lon = netcdf.defDim(ncid,'longitude',nlon);
%creating variables and attributes
varid_lon = netcdf.defVar(ncid,'longitude','double',dimid_lon);
netcdf.putAtt(ncid,varid_lon,'long_name','Longitude')
netcdf.putAtt(ncid,varid_lon,'units','degrees_east')
lont=linspace(-180,180,nlon);
netcdf.putVar(ncid,varid_lon,lont);
netcdf.close(ncid)
this is the output:
Error using netcdflib
The NetCDF library encountered an error during execution of 'putVarDouble' function -
'Operation not allowed in define mode (NC_EINDEFINE)'.
Error in netcdf.putVar (line 87)
netcdflib(funcstr,ncid,varid,varargin{:});
Error in toMatlabHelp (line 15)
netcdf.putVar(ncid,varid_lon,lont);
0 个评论
采纳的回答
Ashish Uthama
2013-4-22
Try adding a call to end the definition using netcdf.enddef after you define the dimensions, but before you write the variable.
2 个评论
wave_buoys
2017-7-29
Hi,
I added: netcdf.endDef(ncid2) before the defition, but I still got an error:
Error using netcdflib The number of input elements does not match the variable size.
Error in netcdf.putVar (line 84) netcdflib(funcstr,ncid,varid,varargin{:});
Error in do_air (line 131) netcdf.putVar(ncid2,tid,stmp(:,n2:-1:1,:));
Could you please offer some help?
Thanks
更多回答(1 个)
aditya deshmukh
2018-5-30
Hello, I tried all the above techniques to solve the error but still it persisted. I freed some space in the drive where these nc files were generated and yes, it worked!!!
1 个评论
mmYin
2018-10-18
Hi, I encountered the same problem and tried your solution. It still doesn’t work. Do you know why? thx a lot!
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!