CDF Patch for Matlab
If you get error messages reading a CDF file or are not happy with CDF file
reading time, we strongly encouage you to download the patch on this page.
The patch fixes a lot of problems (see below for details), and it's
significantly faster than the cdfread function supplied in all
Matlab releases (including Matlab R2007b). Our performance test against a CDF
file from the ulysses mission brought the reading time down to 8 seconds from
10 minutes.
The patch available on this page will be sent to the Matlab developemnt
team for inclusion into a future Matlab release.
What's Included in the Patch
- The cdfread routine occasionally chokes on some CDF files and issues
an error message "Undefined function or method 'rdivide' for input arguments of type 'cell'.".
- The cdfinfo and cdfread routines do not understand the CDF_EPOCH16
data type and issue an error message.
- The cdfread routine doesn't properly handle an array of CDF_EPOCH values.
- The cdfread routine reads one record at a time instead of reading
all the records in one scoop/read. As a result, the variable data
reading time, if there are a lot of records to read, will take a long
time that may not be acceptable to many users.
Download and Installation Instructions
Last patch creation date: May 5, 2008 with CDF Version 3.2.1
Windows:
- Download matlab_cdf_patch.exe.
- Double-click the downloaded patch to extract the files included
in the patch.
- Invoke Matlab and issue the following command at the Matlab prompt:
addpath '<patch_install_dir>'
For example, if the patch is installed under C:\matlab_cdf_patch, the
command should be
addpath 'C:\matlab_cdf_patch'
- Use Matlab as usual (e.g. data=cdfread('test.cdf')).
Mac OS X:
- Download matlab_cdf_patch.dmg.
- Move the Matlab_CDF_Patch directory in the downloaded patch to the directory you want it installed under.
- Invoke Matlab and issue the following command at the Matlab prompt:
addpath '<patch_install_dir>'
For example, if the patch is installed under /Users/davidh, the
command should be
addpath '/Users/davidh/Matlab_CDF_Patch'
- Use Matlab as usual (e.g. data=cdfread('test.cdf')).
Linux / Solaris:
- Download one of the following:
- Go to the directory where want the patch to be installed under.
- Extract the files in the patch using the following command:
tar xvf matlab_cdf_patch_linux32.tar (Linux 32-bit)
tar xvf matlab_cdf_patch_linux64.tar (Linux 64-bit)
tar xvf matlab_cdf_patch_solaris64.tar (Solaris 64-bit)
- Invoke Matlab and issue the following command at the Matlab prompt:
addpath '<patch_install_dir>'
For example, if the patch is installed under /home/davidh, the
command should be
addpath '/home/davidh/matlab_cdf_patch'
- Use Matlab as usual (e.g. data=cdfread('test.cdf')).
If you have any questions or encounter problems, please send an email to
cdfsupport@listserv.gsfc.nasa.gov
and we'll respond as soon as possible.