Borrar filtros
Borrar filtros

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

24 visualizaciones (últimos 30 días)
俊 马
俊 马 el 21 de Feb. de 2023
Comentada: 俊 马 el 28 de Feb. de 2023
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 comentario
dpb
dpb el 21 de Feb. de 2023
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...

Iniciar sesión para comentar.

Respuesta aceptada

Raghunathraju
Raghunathraju el 27 de Feb. de 2023
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
  1 comentario
俊 马
俊 马 el 28 de Feb. de 2023
it didn't work... unless I use "ncid=netcdf.create...." instead of "ncid=netcdf.cpen...." but thanks

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by