readnetcdf.m
author A.M. Thurnherr <athurnherr@yahoo.com>
Wed, 18 Apr 2012 07:41:27 +0000
changeset 6 71f657b20ca0
parent 0 40938dd7a1f1
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     1
function prof = readnetcdf(filename)
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     2
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     3
% Usage: prof = readnetcdf(filename)
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     4
%
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     5
% Read variables from a netCDF file.
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     6
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     7
ncid = netcdf.open(filename, 'NOWRITE');
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     8
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     9
% get variables
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    10
[ndims,nvars,natts,unlimdimid] = netcdf.inq(ncid);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    11
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    12
for varid=0:nvars-1
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    13
	[varname,xtype,dimids,nvaratts] = netcdf.inqVar(ncid,varid);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    14
	cmd = sprintf('prof.%s = netcdf.getVar(ncid,varid);',varname);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    15
	eval(cmd);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    16
end
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    17
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    18
gattvarid = netcdf.getConstant('NC_GLOBAL');
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    19
for gattid=0:natts-1
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    20
	attname = netcdf.inqAttName(ncid,gattvarid,gattid);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    21
	cmd = sprintf('prof.%s = netcdf.getAtt(ncid,gattvarid,''%s'');',attname,attname);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    22
	eval(cmd);
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    23
end
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    24
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    25
netcdf.close(ncid)
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    26
40938dd7a1f1 created with ANTS 4.0
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    27