file_name = '/matlab/R2012a/toolbox/matlab/demos/example.nc';
var_name = 'temperature';
group_name = '/grid2/';
tmp = var_name; % or tmp = group_name
% Display global information about a netcdf file
ncdisp(file_name);
% About a variable or a group
ncdisp(file_name, tmp);
% In the specified format 'full' or 'min'
ncdisp(file_name, tmp, 'min');
% Get information about a netcdf file
info = ncinfo(file_name)
% About a variable
var_info = ncinfo(file_name, var_name)
% About a group
gr_info = ncinfo(file_name, group_name)
% Read data from a vraiable of a netcdf file
data = ncread(file_name, var_name);
% Or
% data = ncread(file_name, var_name, start, count, stride)
% Read attribute
attr = ncreadatt(file_name, '/', 'creation_date')
var_attr = ncreadatt(file_name, var_name, 'add_offset')
gr_attr = ncreadatt(file_name, group_name, 'description')
#Intall the NetCDF libraries: sudo apt-get install libnetcdf-dev
#Install the ncdf package in R: install.packages("ncdf")
library("ncdf")
filename = "/home/ndiaye/Projets/R/example.nc"
var_name = "temperature"
attr_name = "units"
# Open a netcdf file
fid <- open.ncdf(filename, write=FALSE)
# Get a netcdf file info
print(fid)
# Get the variable identifier
var_id <- varid.inq.ncdf(fid, var_name)
print(var_id)
# Get the name of a variable id
my_var_name <- varname.inq.ncdf(fid, var_id)
print(my_var_name)
# Get a file attribute
attr <- att.get.ncdf(fid, 0,"creation_date")
print(attr)
# Get a variable attribute
attr_value <- att.get.ncdf(fid, var_name, attr_name)
print(attr_value)
# Get the size of a variable
size <- varsize.ncdf(fid, var_id)
print (size)
# Get dimensions of a variable
ndims <- varndims.ncdf(fid, var_id)
print (ndims)
# Read data from a netcdf file
data <- get.var.ncdf(fid, var_name)
print(data)
# Get the variable objet
var_object <- var.inq.ncdf(fid,var_id )
print(var_object)
# Get the name from the variable object
name <- var_object$name
print (name)
# Get variable object units
n_attr <- var_object[["units"]]
print(n_attr)
# Close a netcdf file
close.ncdf(fid)