NASA Logo, National Aeronautics and Space Administration

Notes for CDF Version

The CDF software for Unix, Linux, Windows and Mac OS X is now available for download CDF V3.9.0.

This version supports interfaces for C, FORTRAN, Java, C#, Perl, and IDL and MATLAB packages. Please check back later to see if there are any new updates.

Changes implemented in CDF V3.9.0 (this and prior releases) include the following:

  • Bugs fixed.
  • Modified the variable compression to avoid making a temporary file by increasing the number of cache buffers, and managing the used caches when they reach a point that processing the next variable's compressed data would cause a temporary file to be created as the remaining caches will not be enough.
  • The blocking factor is limited to a value that will not be over the CDF's maximum caches to prevent a variable's compression operation creating a temporary file(s).
  • Allowed tool programs to pass the data validation when opening a file.
  • Mac OS binary installer is signed and notarized. Windows installers, also signed, are made with either Microsoft's Visual Studio (.msi) or WinZip (.exe or .zip).
  • The Mac OS's CDF package installer allows installation under user home's Applications directory, instead of the default at system's /Applications folder.
  • Extended support for Unicode in UTF-8 encoding.
  • Added support for ARM-based processor on Apple Mac OS M1 or other platforms.
  • Added CDF-Json converters.
  • Added a set of simple read functions: READCDF and READCDFVARIABLE, to get CDF information in Java/C#/IDL and Perl.
  • To use a variable's FILLVAL, replacing its PAD value, for all missing variable's record data if it exists.
  • String typed variable's pad value is filled with a single space, not multiple spaces.
  • Modified skt2cdf tool program to allow handling a skeleton table made from Windows (with \r\n at the end in each line).
  • Added new options to cdfconvert tool program.
  • Modified the tool programs to use FORMAT attribute to encode both data and metadata if the format is to be used.
  • Added a new option to cdf2skt tool to allow users to choose how to display variable's metadata and data.
  • Added a generalized set of CDF epoch data encoding/parsing functions. The parsing function is expected to handled the epoch string in non-standard form.
  • Added a new set of functions for CDF epoch data conversion to/from Unix time.
  • Enhanced CDFML xsd schema.
  • Modified cdfconvert and cdfexport to handle converting CDF with "zMode 2" option properly.
  • Added CDF support on Linux and the similars on ARM port.
  • Added CDF support on Itanium on OpenVMS port.
  • Allowed multiple strings in variable attributes.
  • Allowed Null-terminating string for variable attribute entries and variable data.
  • Enhanced the CDF schema for XML support.
  • Uses C's internal function to create the temporary file.
  • Reset the leap second last updated header field with the latest information from the leap second table when a TT2000 data is updated/added.
  • Added a new leap second for 1/1/2017.
  • Added a new set of CDFread C-based functions.
  • New features were added in the cdfdump and cdfstats tool program.
  • Used the preserved system temporary folder, e.g., /tmp for Linux/Unix/MacOSX, to hold the temporary file(s) while doing compression/decompression.
  • Set temporary file name using the random number generator with process id and current time as the seed.
  • Added support for computing TT2000 from UTC if the passed day is DOY (day of the year from January 1st).
  • Added a few options to cdfconvert tool program.
  • Added a new leap second for 07_1-2015 in the leap second table.
  • Added a header field in the CDF to record the leap second table this CDF is based.
  • Added a few tool options to operate the aforementioned header field.
  • Modified to skip checking for ASCII characters for the file path name so Unicode paths can be used.
  • A few new features are added in cdfconvert tool program.
  • Replaced the CDF modified code for gzip compression/decompression (from the original code by Jean-loup Gailly and Mark Adler) by the open source zlib ( from the same authors. Uses the latest 1.2.8 zlib version.
  • Modified the library/tool to handle writing string typed pad value if the passed length is less than the defined number of elements to eliminate the potential of garbage being appended at the end.
  • Allowed input of NaN, Inf and -Inf for floating point values.
  • Modified the default blocking factor for compressed variable data to improve performance.
  • A few new C/FORTRAN functions were added.
  • Tool programs are enhanced.
  • Bugs fixed in the core library and tool programs.
  • Fixed minor memory leaks in core library and JNI.
  • Added a new option to cdfdump tool for how to show the floating-point values if FORMAT entry is missing.
  • Added support for Visual Basic on Windows.
  • Pad value is set when a variable is created.
  • Fixed code to save CDFid for 64-bit FORTRAN when a CDF is open/created, even only 4-byte of it is used in FORTRAN code.
  • Default pad values are set with rather invalid values, so they can be recognized easily.

The complete list of changes for this and earlier versions can be found in the Release Change Logs .

Please send an email to cdfsupport for any questions/feedback about this release.