Import CDF Files Using Low-Level Functions
This example uses low-level functions to read data from a CDF file. The MATLAB® CDF low-level functions correspond to routines in the CDF C API library. To use the MATLAB CDF low-level functions effectively, you must be familiar with the CDF C interface.
Open CDF File
Open the sample CDF file.
cdfid = cdflib.open("example_364.cdf");Get Information About File Contents
Use cdflib.inquire to get information about the number of variables in the file, the number of global attributes, and the number of attributes with variable scope.
globalInfo = cdflib.inquire(cdfid)
globalInfo = struct with fields:
encoding: 'IBMPC_ENCODING'
majority: 'ROW_MAJOR'
maxRec: 23
numVars: 8
numvAttrs: 3
numgAttrs: 5
Get Information About Variables
Use cdflib.inquireVar to get information about the individual variables in the file. Variable ID numbers start at zero.
var0Info = cdflib.inquireVar(cdfid,0)
var0Info = struct with fields:
name: 'Time'
datatype: 'cdf_epoch'
numElements: 1
dims: []
recVariance: 1
dimVariance: []
var1Info = cdflib.inquireVar(cdfid,1)
var1Info = struct with fields:
name: 'Longitude'
datatype: 'cdf_int1'
numElements: 1
dims: [2 2]
recVariance: 0
dimVariance: [1 0]
Read Variable Data into Workspace
Read the data in a variable into the MATLAB workspace. The first variable contains CDF_EPOCH time values. The low-level interface returns these values as type double.
data_time = cdflib.getVarRecordData(cdfid,0,0)
data_time = 6.3146e+13
Convert the time value to a date vector.
timeVec = cdflib.epochBreakdown(data_time)
timeVec = 7×1
2001
1
1
0
0
0
0
Read Global Attribute from File
Determine which attributes in the CDF file are global.
info = cdflib.inquireAttr(cdfid,0)
info = struct with fields:
name: 'SampleAttribute'
scope: 'GLOBAL_SCOPE'
maxgEntry: 4
maxEntry: -1
Read the value of the attribute. You must use the cdflib.getAttrgEntry function for global attributes.
value = cdflib.getAttrgEntry(cdfid,0,0)
value = 'This is a sample entry.'
Close CDF File
Use cdflib.close to close the CDF file.
cdflib.close(cdfid)
See Also
cdflib.close | cdflib.getAttrgEntry | cdflib.getVarRecordData | cdflib.inquireAttr | cdflib.inquireVar | cdflib.open