| Library | Purpose | 
|---|---|
| SCons | Tool used to compile COMPS | 
| Boost (v1.49) | Boost provides many useful statistical functions | 
| Read/write NetCDF files. Note both libnetcdf and libnetcdf_c++ are needed. | |
| grib_api | Read GRIB input files | 
| ncurses | Alternate user interface | 
| python | Used to visualize forecasts and verification | 
    Required: will not compile without these
    Optional: will run, but some features disabled
sudo apt-get install scons
sudo apt-get install libnetcdf-dev
sudo apt-get install netcdf-bin
sudo apt-get install libboost_filesystem-dev
sudo apt-get install libboost_system-dev
sudo apt-get install ncurses-dev
# If you plan on reading GRIB files:
sudo apt-get install grib_api-dev
# If you plan on visualizing the results (a good idea!):
sudo apt-get install python-numpy
sudo apt-get install python-scipy
sudo apt-get install python-matplotlibsudo port install scons
sudo port install netcdf
sudo port install netcdf-cxx
sudo port install boost
# If you plan on reading GRIB files:
sudo port install grib_api
# If you plan on visualizing the results (a good idea!):
# Note that python is often already installed on Macs
sudo port install python
sudo port install py-numpy
sudo port install py-scipy
sudo port install py-matplotlibDownload the latest code in zip format and unzip the contents:
DownloadAlternatively, fetch the latest version from the git-repository placing it in the
comps directory:
git clone git://github.com/wfrt/Comps.git compsinitSchemes.csh must be run in order to auto-generate code that COMPS uses to enable scheme selection.
Run the following commands in the top directory to compile:
csh ./initSchemes.csh
scons
   If the compilation is successful, the main program comps.exe will
   be created, along with two helper programs info.exe, convert.exe.
/usr/lib/, /usr/local/lib, etc...). If you have
installed the libraries in a unusual location create a file called
local.scons in the comps root directory and add the following
contents in it (replacing the appropriate paths):
Import('env')
env.Append(LIBPATH  = ['/path/to/lib1/', '/path/to/lib2/'])
env.Append(CPPPATH  = ['/path/to/include1/', '/path/to/include2/'])