How do I append new data to a new variable in a NETCDF file ?

11 次查看(过去 30 天)
I want to append new data to a new variable in the existing netcdf file and let other variables remain unchanged. However, when I use:
ncid=netcdf.open('E:\data\Landcover\MCD12Q1\heihe\surfdata_40x40_hh_gravtest.nc','WRITE');
gravid = netcdf.defVar(ncid,'PCT_GRAVEL','double',[40 40 10]);
error shows:
Operation not allowed in data mode (NC_ENOTINDEFINE)
do you know how to solve it ? thanks
  1 个评论
dpb
dpb 2023-2-21
I "know (almost) nuthink!" per Sgt Schultz about NetCDF files, but the MATLAB interface supplies a higher-level abstracted function <nccreate> that purports to be able to do that. I'd suggest trying it.
If that fails, you'll have to dig a whole lot deeper into the file content of the file you have and the details of the required syntax/operations to add to it.
I dunno if .defVar is the first thing you can call or if you have to do more preliminary work first; it's a pretty complex format/system...

请先登录,再进行评论。

采纳的回答

Raghunathraju
Raghunathraju 2023-2-27
Hi,
As per my understanding, you want to append new data to a new variable in a NETCDF file.
You have used the following code to get your work done.
ncid=netcdf.open('E:\data\Landcover\MCD12Q1\heihe\surfdata_40x40_hh_gravtest.nc','WRITE');
gravid = netcdf.defVar(ncid,'PCT_GRAVEL','double',[40 40 10]);
But the datatype you used in “netcdf.defVar” is double which is invalid for NETCDF .Instead you can use NC_DOUBLE”.
For further reference you can go through the link below

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by