Difference between revisions of "CISM exercise I: build model"

From Interactive System for Ice sheet Simulation
Jump to: navigation, search
(Building CISM)
Line 5: Line 5:
 
:[http://developer.berlios.de/projects/glimmer-cism http://developer.berlios.de/projects/glimmer-cism]
 
:[http://developer.berlios.de/projects/glimmer-cism http://developer.berlios.de/projects/glimmer-cism]
  
Because we are currently working on readying Glimmer-CISM-2.0 for release, the most recent publicly available version on the code does not contain many recent updates that we would like to take advantage of in this coarse. For that reason, we will be working from an intermediate version of the code. To copy the tarball of that code into your home directory and unpack it type
+
Because we are currently working on readying Glimmer-CISM-2.0 for release, the most recent publicly available version on the code does not contain many recent updates that we would like to take advantage of in this coarse. For that reason, we will be working from an intermediate version of the code. To copy the tarball of that code into your working directory and unpack it type
  
  cp /home/stephen/tarballs/CISM-BNU-3-2011b.tar.gz ./
+
  cp /usr/projects/cesm/cism/CISM-LANL-4-2011.tar.gz ./
  
  tar -xzvf CISM-BNU-3-2011b.tar.gz
+
  tar -xzvf CISM-LANL-4-2011.tar.gz
  
To build the code, you need to first cd into the correct directory for the unpacked code:
+
We then need to load the necessary modules and set some environmental variables. First, load the intel module,
  
  cd CISM-BNU-3-2011b
+
module load intel/11.1.072
 +
 
 +
Next, set some environmental variables needed to build the code,
 +
 
 +
bash; source /usr/projects/cesm/cism/cism-env-bash
 +
 
 +
Note that I've changed to the bash shell prior to executing the script that sets the environmental variables (apologies to you tcsh and csh users out there).
 +
 
 +
Now, cd into the top level directory from the unpacked tarball,
 +
 
 +
  cd CISM-LANL-4-2011
  
 
CISM uses autotools to build the code. First, we need to build the build system by typing  
 
CISM uses autotools to build the code. First, we need to build the build system by typing  
Line 19: Line 29:
 
  ./bootstrap
 
  ./bootstrap
  
Next, we need to tell the configure script where to look to find the necessary NetCDF libraries and which Fortran compiler we want to use to build the code:
+
Next, we need to run a configure script which, along with environmental variables we specified above, tells the code where to look to find the necessary NetCDF libraries, compilers, etc:
  
  ./configure --with-netcdf=/usr/local/lib FC="ifort -O0" F77="ifort -O0"
+
  ./configure  
  
Check to make sure that the configuration step was successful with
+
Once the configure step has finished, check to make sure that it was successful with,
  
 
  tail config.log
 
  tail config.log
  
If you see '''configure: exit 0''' as the final line then configure was successful. Now, we type
+
If you see '''configure: exit 0''' as the final line then configure was successful. Now, we build the code by typing,
  
 
  make
 
  make
  
 
The code will take a while to build. When it is done, and assuming you haven't seen any obvious errors, you can confirm a successful build by checking in the ''example-drivers/simple_glide/src/'' directory. If there is an executable file there called '''simple_glide''', then your build was successful. This is the executable we will use to run the various test cases using the higher-order dynamics version of the model.
 
The code will take a while to build. When it is done, and assuming you haven't seen any obvious errors, you can confirm a successful build by checking in the ''example-drivers/simple_glide/src/'' directory. If there is an executable file there called '''simple_glide''', then your build was successful. This is the executable we will use to run the various test cases using the higher-order dynamics version of the model.
 
  
 
Go to the [[CISM exercise II: run diagnostic test cases|second set of exercises]].
 
Go to the [[CISM exercise II: run diagnostic test cases|second set of exercises]].

Revision as of 15:05, 18 April 2011

Building CISM

The first step is to acquire the model code. In common with many open-source projects, there are regular releases of CISM — these are numbered snapshots of the code and represent stable versions of the model (relative to development versions of the code on the repository). The latest release can be downloaded from the CISM website[1]:

http://developer.berlios.de/projects/glimmer-cism

Because we are currently working on readying Glimmer-CISM-2.0 for release, the most recent publicly available version on the code does not contain many recent updates that we would like to take advantage of in this coarse. For that reason, we will be working from an intermediate version of the code. To copy the tarball of that code into your working directory and unpack it type

cp /usr/projects/cesm/cism/CISM-LANL-4-2011.tar.gz ./
tar -xzvf CISM-LANL-4-2011.tar.gz

We then need to load the necessary modules and set some environmental variables. First, load the intel module,

module load intel/11.1.072 

Next, set some environmental variables needed to build the code,

bash; source /usr/projects/cesm/cism/cism-env-bash

Note that I've changed to the bash shell prior to executing the script that sets the environmental variables (apologies to you tcsh and csh users out there).

Now, cd into the top level directory from the unpacked tarball,

cd CISM-LANL-4-2011

CISM uses autotools to build the code. First, we need to build the build system by typing

./bootstrap

Next, we need to run a configure script which, along with environmental variables we specified above, tells the code where to look to find the necessary NetCDF libraries, compilers, etc:

./configure 

Once the configure step has finished, check to make sure that it was successful with,

tail config.log

If you see configure: exit 0 as the final line then configure was successful. Now, we build the code by typing,

make

The code will take a while to build. When it is done, and assuming you haven't seen any obvious errors, you can confirm a successful build by checking in the example-drivers/simple_glide/src/ directory. If there is an executable file there called simple_glide, then your build was successful. This is the executable we will use to run the various test cases using the higher-order dynamics version of the model.

Go to the second set of exercises.

Go to the third set of exercises.

Return to main coarse page
Cite error: <ref> tags exist, but no <references/> tag was found