Matlab写入nc文件遇到‘Start+count exceeds dimension bound (NC_EEDGE)‘问题的解决办法

最近在使用matlab写入nc文件,具体的处理视频可参见B站视频(1.matlab处理nc文件--文件读取和写入_哔哩哔哩_bilibili)但是遇到了以下的问题:

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 844)
                netcdf.putVar(gid, varid,start, count, varData);

Error in ncwrite (line 75)
ncObj.write(varName, varData, start, stride);

Error in Untitled (line 31)
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','z',O.rg);

写入nc文件的matlab代码为:

nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','z','Dimensions',{'lon',360,'lat',180},...
    'format','netcdf4','fillvalue','disable','deflatelevel',2);
nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','lat','dimensions',{'lat',180});
nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','lon','dimensions',{'lon',360});
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','z',O.rg);
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','lat',O.lat(:,1));
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','lon',O.lon(1,:));    

后面我发现只要将z写入的O.rg转置一下就行。

nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','z','Dimensions',{'lon',360,'lat',180},...
    'format','netcdf4','fillvalue','disable','deflatelevel',2);
nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','lat','dimensions',{'lat',180});
nccreate('Hydrological_Tibet_G300_trend_vgwstime.nc','lon','dimensions',{'lon',360});
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','z',O.rg');
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','lat',O.lat(:,1));
ncwrite('Hydrological_Tibet_G300_trend_vgwstime.nc','lon',O.lon(1,:));    

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是水怪的哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值