Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Error while reading netCDF file

1 visualización (últimos 30 días)
Arun Nair
Arun Nair el 3 de Oct. de 2019
Cerrada: Arun Nair el 5 de Oct. de 2019
I am trying to open a netCDF file that has multiple subfolders. This is the code that I got from https://hdfeos.org/examples/index.php
clear
import matlab.io.hdf5.*
% Open file.
FILE_NAME='MISR_AM1_AS_AEROSOL_P139_O095382_F13_0023.nc';
file_id = H5F.open(FILE_NAME, 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
% Read data.
data_NAME='4.4_KM_PRODUCTS/Aerosol_Optical_Depth';
data_id=H5D.open(file_id, data_NAME);
data=H5D.read(data_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL', ...
'H5P_DEFAULT');
% Read the fill value attribute.
ATTRIBUTE = '_FillValue';
attr_id = H5A.open_name(data_id, ATTRIBUTE);
fillvalue=H5A.read(attr_id, 'H5T_NATIVE_DOUBLE');
% Read units attribute.
ATTRIBUTE = 'units';
attr_id = H5A.open_name (data_id, ATTRIBUTE);
units = H5A.read(attr_id, 'H5ML_DEFAULT');
% Read long_name attribute.
ATTRIBUTE = 'long_name';
attr_id = H5A.open_name (data_id, ATTRIBUTE);
long_name = H5A.read(attr_id, 'H5ML_DEFAULT');
% Read latitude.
Lat_NAME='4.4_KM_PRODUCTS/Latitude';
lat_id=H5D.open(file_id, Lat_NAME);
lat=H5D.read(lat_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL', ...
'H5P_DEFAULT');
% Read longitude.
Lon_NAME='4.4_KM_PRODUCTS/Longitude';
lon_id=H5D.open(file_id, Lon_NAME);
lon=H5D.read(lon_id,'H5T_NATIVE_DOUBLE', 'H5S_ALL', 'H5S_ALL', 'H5P_DEFAULT');
% Close ids.
H5A.close (attr_id)
H5D.close(data_id);
H5D.close(lat_id);
H5D.close(lon_id);
H5F.close(file_id);
But it showing the error :-
Error using hdf5lib2
Unable to open file. Filename may be corrupt or have unsupported characters.
Error in H5F.open (line 48)
file_id = H5ML.hdf5lib2('H5Fopen', filename, flags, fapl);
Error in reading (line 29)
file_id = H5F.open(FILE_NAME, 'H5F_ACC_RDONLY', 'H5P_DEFAULT');
How should I solve this?
I use MATLAB R2016a.
  2 comentarios
meghannmarie
meghannmarie el 3 de Oct. de 2019
Editada: meghannmarie el 3 de Oct. de 2019
Did you try using nc operators? Do this and post results:
ncdisp(FILE_NAME)
Arun Nair
Arun Nair el 3 de Oct. de 2019
Error using ncdisp
Too many output arguments.
Error in reading (line 29)
file_id = ncdisp(FILE_NAME);
This is what I'm getting!

Respuestas (0)

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by