Unrecognized function or variable 'nc_varget'.

6 visualizaciones (últimos 30 días)
Habtamu
Habtamu el 16 de Oct. de 2022
Editada: Habtamu el 21 de Oct. de 2022
Hey Guys!
I am a begginer in MATLAB. I am currently working on a bulky netCDF file downloaded from ISIMIP3b. I wanted to divide my work into two parts: preprocessing and postprocessing. In preprocessing, I want to read a specific variable 'prcp' with the function nc_varget. However, I cannot solve the error "Unrecognized function or variable (nc)". You can help me if you've ever faced such an error and know how to fix it.
  2 comentarios
Image Analyst
Image Analyst el 17 de Oct. de 2022
If you have any more questions, then attach your data and code to read it in with the paperclip icon after you read this:
Walter Roberson
Walter Roberson el 17 de Oct. de 2022
Editada: Walter Roberson el 19 de Oct. de 2022
The source code for nc_varget does not use any variable named nc or otherwise have any nc that might lead to that message.
Is it possible that when you called the function you passed in the name of a file with nc extension but forgot to enclose the name in apostrophes?

Iniciar sesión para comentar.

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 17 de Oct. de 2022
Editada: Cris LaPierre el 17 de Oct. de 2022
How are you loading and reading in the netCDF file? Without seeing your code, it's hard to say what this error means. However, this is code I have used to load nc files in the past.
ncfile='bsbd-0.9.3.nc'; % filename is bsbd-0.9.3.nc
ncdisp(ncfile)
lon=ncread(ncfile,'lon'); % Load variable 'lon' from nc file
lat=ncread(ncfile,'lat'); % Load variable 'lat' from nc file
depth=ncread(ncfile,'depth'); % Load variable 'depth' from nc file

Más respuestas (1)

Habtamu
Habtamu el 19 de Oct. de 2022
Editada: Habtamu el 19 de Oct. de 2022
Dear contributors,
I appreciate your feedback, and I tried putting it into practice, however I kept getting the same issues. Just a little clarification on the question here. Pre- and post-processing for my data that I downloaded from ISIMIP3b is what I wish to accomplish. 'pr' is one of the variables of the netCDF file, which contains a dimension 720x360x1461 (lon, lat, time). Therefore, I want to iterate the for loop below using the nc varget function, but I keep getting 'Unrecognized function or variable (nc_varget)'
% define run settings
out_var = {'PRECTmms'}; % specify the variables for modification
src_var = {'pr'};
junk_var = {'pr'};
prod_dir = 'atm_forcing.datm7.cruncep_qianFill.0.5d.V4.c130305';
var_dir = 'Precip6Hrly';
var_fnam = 'Prec';
fname = ['/net/so4/landclim_nobackup/wthiery/cesm_output/ISIMIP2b/inputdata_template/atm_forcing.datm7.cruncep_qianFill.0.5d.V4.c130305/' var_dir '/clmforc.cruncep.V4.c2011.0.5d.' var_fnam '.1930-',num2str(mon, '%02d'),'.nc'] % WT
for v=1:length(src_var)
myvar = cell2mat(out_var(v))
data = nc_varget(fname,myvar);
for j=1:nday(mon) % for each timestep in this month
st = (j-1)*4+1;
ed = j*4;
a = squeeze(sum(data(st:ed,:,:)));
for t=st:ed
data_junk = squeeze(data(t,:,:));
fac = data_junk./a;
fac(a==0) = NaN; % set the NaN value to be zero if the original daily data is zero
factor(v,t,:,:) = fac;
end
end
end
  4 comentarios
Walter Roberson
Walter Roberson el 20 de Oct. de 2022
Then you need to install that third-party toolbox. https://mexcdf.sourceforge.net/downloads/
Notice the point there, that these days, the tools call the Mathworks functions underneath. If you just need equivalent functionality, then that should be fine, but if you need to "replicate" earlier experiments then it could potentially be important that you match the code as it was at the time.
Habtamu
Habtamu el 21 de Oct. de 2022
Thanks!

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by