Difference between revisions of "CISM exercise I: build model"
(→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 | + | 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 / | + | cp /usr/projects/cesm/cism/CISM-LANL-4-2011.tar.gz ./ |
− | tar -xzvf CISM- | + | 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, | |
− | cd CISM- | + | 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 | + | 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 | + | ./configure |
− | + | 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 | + | 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 16: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]:
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