Difference between revisions of "Downloading and compiling SCHISM and utilities"

From ccrmwiki
Jump to: navigation, search
(GNU Make)
(GNU Make)
Line 16: Line 16:
 
cp Make.defs.tsunami Make.defs.local
 
cp Make.defs.tsunami Make.defs.local
  
Then you need to edit Make.defs.local for e.g. the MPI compiler name, path names on your local cluster, and turn on/off modules. SCHISM requires netcdf library (version 3.x preferred), so update its path (and include modules)  in Make.defs.local.  Also the graph partitioning lib ParMETIS is compiled with the SCHISM code, and you need to update the MPI C compiler names in src/ParMetis-3.1-Sep2010/Makefile.in (consult also "INSTALL" inside the ParMETIS directory).  
+
Then you need to edit Make.defs.local for e.g. the MPI compiler name, path names for netcdf library on your local cluster, and turn on/off modules in ''include_modules'' (note that ''TVD_LIM'' should always have a value). SCHISM requires netcdf library (version 3.x preferred), so update its path (and include modules)  in Make.defs.local.  Also the graph partitioning lib ParMETIS is compiled with the SCHISM code, and you need to update the MPI C compiler names in src/ParMetis-3.1-Sep2010/Makefile.in (consult also "INSTALL" inside the ParMETIS directory).  
  
 
After this is done:
 
After this is done:

Revision as of 06:01, 26 May 2016

You can download SCHISM at SCHISM site.

There are currently several build systems being used to build SCHISM, including GNU Make and CMake. The traditional GNU Makefiles are documented below, and are less powerful than CMake.

GNU Make

Upon untarring the source code bundle, you'll find two directories that are needed for gnu make.

  • src

Makefile is the main makefile, and in general you should NOT change this file.

  • mk

Make.defs.xxx define some environment variables used in src/Makefile, and 'xxx' refer to various clusters around the world. You should copy one of these to Make.defs.local; e.g., if you MPI compiler is Intel based ifort, you can:

cp Make.defs.tsunami Make.defs.local

Then you need to edit Make.defs.local for e.g. the MPI compiler name, path names for netcdf library on your local cluster, and turn on/off modules in include_modules (note that TVD_LIM should always have a value). SCHISM requires netcdf library (version 3.x preferred), so update its path (and include modules) in Make.defs.local. Also the graph partitioning lib ParMETIS is compiled with the SCHISM code, and you need to update the MPI C compiler names in src/ParMetis-3.1-Sep2010/Makefile.in (consult also "INSTALL" inside the ParMETIS directory).

After this is done:

cd ../src
make clean
make

CMake Build System (v3.2 and up)