Building the NASA CDF (Common Data Format) library
The CDF library is required by SpacePy for full functionality. SpacePy is
installed as part of the process of setting up your Python environment for
kaipy. If your system already provides the CDF library, feel free to use
that version instead of building the code from source.
HPC systems (derecho and aitken)
This procedure builds the code under $HOME/local/src, and installs the
compiled files under $HOME/local/cdf/3.8.1, creating a user-only
installation. Substitute your desired build and installation locations for
these paths as appropriate.
NOTE: These instructions should work under any command shell.
# Make a build tree.
cd $HOME
mkdir -p local/src
cd local/src
# Download the source tarball.
wget https://spdf.gsfc.nasa.gov/pub/software/cdf/dist/cdf38_1/linux/cdf38_1-dist-all.tar.gz
# OR:
# curl https://spdf.gsfc.nasa.gov/pub/software/cdf/dist/cdf38_1/linux/cdf38_1-dist-all.tar.gz -o cdf38_1-dist-all.tar.gz
# Unpack the source code.
tar xzvf cdf38_1-dist-all.tar.gz
# Build the library using the default system compiler (presumed to be gcc).
cd cdf38_1-dist
date; time make OS=linux ENV=gnu all >& make.out
# Took about 33 s on pleiades.
# Examine make.out for errors.
# Test the library.
date; time make test >& make_test.out
# Took about < 1 s on pleiades.
# Examine make_test.out for errors.
# Install the library in a version-specific subdirectory.
date; time make INSTALLDIR=$HOME/local/cdf/3.8.1 install >& make_install.out
# Took about < 1 s on pleiades.
# Examine make_install.out for errors.
In order to use the CDF library, you must set up your environment by sourcing (not running) the setup script:
# For sh/bash/compatible shells:
source $HOME/local/cdf/3.8.1/bin/definitions.B
# For csh/tcsh/compatible shells:
source $HOME/local/cdf/3.8.1/bin/definitions.C
# For ksh/compatible shells:
source $HOME/local/cdf/3.8.1/bin/definitions.K