NASA Logo, National Aeronautics and Space Administration
SPDF

CDF Patch for IDL 6.2 and later, including IDL 7.* and 8.*

This page contains the beta IDL-CDF patch (Version 3.5.0.0) based on (CDF library Version 3.5.0.0 CDF logo) for IDL 6.2 and later. If you have problems reading a CDF file or something is not working properly in IDL, we strongly recommend downloading the IDL CDF patch on this page and see if it solves your problem. If the patch still doesn't work or we don't have a patch for your operating system, please contact cdfsupport.

Note: to find out the CDF version on you IDL, enter: help, /DLM, 'CDF' or run: showcdfversion module (mentioned later) within IDL. If you have an earlier CDF version, then use the patch in this page to upgrade to CDF V3.5.0 beta.  CDF logo

Several patches have been made available to date. If you downloaded a patch before and are not sure whether you have the latest patch, please download the patch on this page as it supersedes the previous patches.

What's Included in the Patch

  • IDL 6.2 or earlier: 1) large CDF file support (> 2 Gbytes) 2) allows to open files created with IDL 6.3 or later, or CDF 3.1 or later.
  • IDL 6.2 or earlier - support for CDF_EPOCH16 data type. CDF_EPOCH16 is supported in IDL 6.3 or later.
  • Fix for IDL 6.2 (64-bit Linux on AMD64 machine) - CDF functions do not work properly.
  • Fix for IDL 6.3 (all OSs) - allows to create a CDF_EPOCH variable
  • Fix for IDL 6.3 (Intel Mac) - opening/reading a CDF file
  • Fix for IDL 6.4 (Intel Mac) - CDF variable values are read correctly
  • IDL 6.x and 7.* (all OSs) - significant CDF read performance improvement and elimination of a potential buffer overflow problem
  • Add a new feature to allow setting the checksum option for CDF V3.2 files
  • Modified to convert signed CDF_INT1 and CDF_BYTE data type to int so the data can be interpreted correctly in IDL
  • Add a new feature to allow setting the file validation option when opening CDF files
  • Add a few new functions to handle the new data types, CDF_INT8 and CDF_TIME_TT2000 CDF logo
  • Add a few new or modify the existing functions to allow vectorized epoch data values to be processed for computing, breaking down, comparison and differencing for better performance. Documents for the new/modified modules can be found here CDF logo
  • Bugs fixed

IDL CDF Patch Download and Installation Instruction

IDL CDF patch consists of two files: shared CDF library and platform-independent Dynamically Loadable Module (DLM) definition file.

Latest patch created in October 2012 with the beta CDF Version 3.5.0. Make sure to make the downloaded dynamic library (the .so file) for non-Windows executable on your machine. Please contact gsfc-cdf-support@lists.nasa.gov if you need a different CDF version.

Windows:

  1. Download one of the following files:
  2. Download DLM (idl_cdf.dlm)
  3. Download leap second table (leap second table)
  4. Download showcdfversion.pro script (showcdfversion)
  5. Set the IDL_DLM_PATH and IDL_PATH environment variables to point to the directory where you placed the patch. For example, if you placed the patch in c:\idl_cdf350_patch, then the command should be set IDL_DLM_PATH="c:\idl_cdf350_patch;<IDL_DEFAULT>" set IDL_PATH="c:\idl_cdf350_patch;<IDL_DEFAULT>" Note: The above command must be entered exactly as shown, including angle brackets and double quotes, prior to invoking IDL. If the patch is checked out fine, you can use the downloaded files: idl_cdf.dlm and idl_cdf.dll to replace the ones in the operational directory at <your IDL directory>\bin\bin.x86 for 32-bit mode, or <your IDL directory>\bin\bin.x86_64 for 64-bit mode. Backup up the original files.
  6. Set environment variable CDF_LEAPSECONDSTABLE to the downloaded leap second table. This table will overwrite the hard-coded one embedded in the CDF library. The step is necessary when a new leap second is added and the shared library is not upgraded. Need to set the environment variable when using CDF modules in IDL.
  7. Invoke IDL and use it as usual. Run showcdfversion to show the IDL-CDF and CDF versions.
Mac OS X (Intel Mac):
  1. NOTE:The shared library was built from a Mac OS X 10.6 (Snow Leopard). It may not work on 10.5 (Leopard).
  2. Download the following files:
    • CDF shared library - The banner information from idl when it is run will tell it is in either 32-bit (darwin i386 m32) or 64-bit (darwin x86_64 m64) mode.
    • DLM (idl_cdf.dlm)
    • Leap second table (leap second table)
    • Download showcdfversion.pro script (showcdfversion)
  3. Replace idl_cdf.so and idl_cdf.dlm in the <your IDL directory>/bin/bin.darwin.i386 directory for 32-bit mode, or <your IDL directory>/bin/bin.darwin.x86_64 for 64-bit mode with the new idl_cdf.so and idl_cdf.dlm downloaded in step 1.
  4. Set environment variable CDF_LEAPSECONDSTABLE to the downloaded leap second table. This table will overwrite the hard-coded one embedded in the CDF library. The step is necessary when a new leap second is added and the shared library is not upgraded. Need to set the environment variable when using CDF modules in IDL.
  5. Invoke IDL and use it as usual. Run showcdfversion to show the IDL-CDF and CDF versions.
Mac OS X (Power PC) (Note: this platform may not be supported in the future.):
  1. Download the following files:
  2. Replace idl_cdf.so and idl_cdf.dlm in the <your IDL directory>/bin/bin.darwin.ppc directory with the new idl_cdf.so and idl_cdf.dlm downloaded in step 1.
  3. Set environment variable CDF_LEAPSECONDSTABLE to the downloaded leap second table. This table will overwrite the hard-coded one embedded in the CDF library. The step is necessary when a new leap second is added and the shared library is not upgraded. Need to set the environment variable when using CDF modules in IDL.
  4. Invoke IDL and use it as usual. Run showcdfversion to show the IDL-CDF and CDF versions.
Linux:
  1. Download the following files:
    • One of the following shared libraries. The banner information from idl when it is run will tell it is in either 32-bit (linux x86 m32) or 64-bit (linux x86_64 m64) mode.
    • DLM (idl_cdf.dlm)
    • Leap second table (leap second table)
    • Download showcdfversion.pro script (showcdfversion)
  2. Set the IDL_DLM_PATH environment variable to point to the directory where you placed the patch. For example, if you placed the patch in /home/harold, then the command should be

    setenv IDL_DLM_PATH "/home/harold:<IDL_DEFAULT>" (for tcsh shell)
    export IDL_DLM_PATH="/home/harold:<IDL_DEFAULT>" (for bash shell)

    Note: The above command must be entered exactly as shown, including angle brackets and double quotes, prior to invoking IDL.

    If the patch is checked out fine, you can use the downloaded files to replace the ones in the operational directory (may need the root access) at <your IDL directory>/bin/bin.linux.x86 32-bit mode, or <your IDL directory>/bin/bin.linux.x86_64 for 64-bit mode.

  3. Set environment variable CDF_LEAPSECONDSTABLE to the downloaded leap second table. This table will overwrite the hard-coded one embedded in the CDF library. The step is necessary when a new leap second is added and the shared library is not upgraded. Need to set the environment variable when using CDF modules in IDL.
  4. Invoke IDL and use it as usual. Run showcdfversion to show the IDL-CDF and CDF versions.
Solaris:
  1. Download the following files:
    • Sparc
      • 32-bit CDF shared library (idl_cdf.so) for IDL 8.*
      • 32-bit CDF shared library (idl_cdf.so) for IDL 7.*
      • 32-bit CDF shared library (idl_cdf.so) for IDL 6.*
      • 64-bit CDF shared library (idl_cdf.so for IDL 8.*
      • 64-bit CDF shared library (idl_cdf.so) for IDL 7.*
      • 64-bit CDF shared library (idl_cdf.so) for IDL 6.*
      • The banner information from idl when it is run will tell it is in either 32-bit (sunos sparc m32) or 64-bit (sunos sparc m64) mode.
    • Intel
      • 64-bit CDF shared library (idl_cdf.so) for IDL 8.*
      • 64-bit CDF shared library (idl_cdf.so) for IDL 7.*
    • DLM (idl_cdf.dlm)
    • Leap second table (leap second table)
    • Download showcdfversion.pro script (showcdfversion)
  2. Set the IDL_DLM_PATH environment variable to point to the directory where you placed the patch. For example, if you placed the patch in /home/harold, then the command should be

    setenv IDL_DLM_PATH "/home/harold:<IDL_DEFAULT>" (for tcsh shell)
    export IDL_DLM_PATH="/home/harold:<IDL_DEFAULT>" (for bash shell)

    Note: The above command must be entered exactly as shown, including angle brackets and double quotes, prior to invoking IDL.

    If the patch is checked out fine, you can use the downloaded files to replace the ones in the operational directory (may need the root access) at <your IDL directory>/bin/bin.solaris2.sparc for 32-bit mode, or <your IDL directory>/bin/bin.solaris2.sparc64 for 64-bit mode.

  3. Set environment variable CDF_LEAPSECONDSTABLE to the downloaded leap second table. This table will overwrite the hard-coded one embedded in the CDF library. The step is necessary when a new leap second is added and the shared library is not upgraded.
  4. Invoke IDL "idl" to use the default, 64-bit mode or "idl -32" for 32-bit mode and use it as usual. Run showcdfversion to show the IDL-CDF and CDF versions.
Other OS:
Please contact cdfsupport to obtain a patch for your operating system.

If you have questions, need assistance, or encounter problems, please contact us at cdfsupport.