ParNCL source code is available  here.

Building ParNCL 1.0.0

For building ParNCL 1.0.0, download  ParNCL 1.0.0 source and build it with MOAB 3da2f0b and  ParGAL 1.0.0. See the instructions below for details.

For building ParNCL 1.0.0b2, download  ParNCL 1.0.0b2 source and build it with MOAB 89ab981 and ParGAL tag pargal_1_0_0_beta2. See the instructions below for details.

For building ParNCL 1.0.0b1, download  ParNCL 1.0.0b1 source and build it with MOAB r5902 and ParGAL r328. See the instructions below for details.

Building Parallel version of NCL

The following external packages are required for building a parallel version of NCL.

  • JPEG
  • X11 development packages
    • X11
    • Xpm
    • Xext
  • PNG
  • PROJ.4
  • ZLIB
  • GDAL
  • MPI
  • NetCDF
    • szip
    • HDF-5
    • cURL
  • MOAB
    • MPI
    • PNetCDF
    • NetCDF
    • HDF5
    • ZLIB
    • SZIP
  • ParGAL
    • MPI
    • MOAB
    • Intrepid
      • BLAS
      • Lapack

Please follow the instructions here to see if you have any of the dependency packages are already installed in your system. Please follow the instructions in the links below to install these packages.

PAY CLOSE ATTENTION TO THE VERSIONS REQUIRED.

ParNCL

  • Do not install ParNCL to <NCL-SOURCE-DIR>/install . Choose another directory as your install directory.
  • Set "$NCARG_ROOT" environment variable to point to your ParNCL install directory.
  • Set "$NCARG" environment variable to point to your ParNCL source directory.
  • Run "./Configure -v" that will guide you through the process of installing NCL. More information on Configure options is given below.
    • Select yes(y) to build NCL.
    • Only enable support for Triangle, GDAL, NetCDF4, OpenDAP and HDF5. Disable support for other optional software packages/features (like Cairo, HDF4, GridSpec, Udunits2, Vis5d, HDF-EOS2, HDF-EOS5, GRIB2). Please note that Triangle software has a more restrictive license than ParNCL's and NCL's license which disallows you from selling any source code or product that contains Triangle. If you do not need to generate triangular meshes that you can contour you can disable support for Triangle software in the configuration.
    • Select parallel build option.
    • One of the final questions is to list the paths to your local libraries and include files. Please include the paths to all the external software listed above.
  • After running configure make sure that your system is recognized by using the following commands,
       cd $NCARG/config
       make -f Makefile.ini
       ./ymake -config `pwd`
    
    • By grep'ing for SYSTEM_INCLUDE in your Makefile you can find out the name of the configuration file used for your system. The configuration file is a file of the same name (output of "grep SYSTEM_INCLUDE Makefile") in $NCARG/config directory
    • Modify the configuration file for your system to use MPI compiler wrappers. (Set CXXCompiler to the MPI C++ compiler, mpic++, CCompiler to the MPI C compiler, mpicc, and FCompiler to the MPI fortran 90/77 compiler, mpif90. If the configuration file does not contain an entry for CXXCompiler copy the entry for CCompiler, rename it as CXXCompiler and set it to the MPI C++ compiler. Similarly copy CcOptions, rename it as CxxOptions and set the options for the MPI C++ compiler.)
  • (OPTIONAL) If you want to make sure that ParNCL is selected for build then make sure you have the following lines in your Site.local (config/Site.local) file
     #define EnableMPI 1
     #define BuildParNCL 1
    
  • (OPTIONAL) If you want to make sure that you have entered the right include and library paths or change them modify IncSearch and LibSearch in the Site.local file.
  • Run "make Everything |& tee make.log" (assuming tcsh shell) to build and install ParNCL.

Known Problems

  • If you find parncl binary is missing after "make Everything" , check make.log and install any library diagnosed as "library not found".