Difference between revisions of "Category:MITgcm"

From mn/geo/geoit
Jump to: navigation, search
Line 20: Line 20:
 
Make sure you have downloaded MITgcm source code and let's assume your code is $HOME/MITgcm:
 
Make sure you have downloaded MITgcm source code and let's assume your code is $HOME/MITgcm:
 
<pre>
 
<pre>
 
 
cd $HOME/MITgcm
 
cd $HOME/MITgcm
  
Line 29: Line 28:
 
module load netcdf.intel
 
module load netcdf.intel
 
module switch openmpi.intel/1.6.1 openmpi.intel/1.8</pre>
 
module switch openmpi.intel/1.6.1 openmpi.intel/1.8</pre>
 
+
<br/>Once you have set-up your environment, you are ready to set-up a use case and run MITgcm.&nbsp; All MITgcm examples and use-cases are in the verification directory. Feel free to test another example; close to what you wish to run in "real life". As a first example, we will compile and run '''exp2''':
 
 
Once you have set-up your environment, you are ready to set-up a use case and run MITgcm.&nbsp; All MITgcm examples and use-cases are in the verification directory. Feel free to test another example; close to what you wish to run in "real life". As a first example, we will compile and run '''exp2''':
 
 
<pre>cd $HOME/MITgcm/verification/exp2
 
<pre>cd $HOME/MITgcm/verification/exp2
  
 
genmake2 -mpi -mods=../code/ -of=optfile.sh</pre>
 
genmake2 -mpi -mods=../code/ -of=optfile.sh</pre>
 
+
<br/>where optfile.sh contains specific settings for abel. You need to create this file and add it should contain:
 
 
where optfile.sh contains specific settings for abel. You need to create this file and add it should contain:
 
 
<pre>#!/bin/bash
 
<pre>#!/bin/bash
 
export LANG=en_US.UTF-8
 
export LANG=en_US.UTF-8
Line 57: Line 52:
 
export LIBS="-L${NETCDF}/lib -lnetcdff -lnetcdf"
 
export LIBS="-L${NETCDF}/lib -lnetcdff -lnetcdf"
 
</pre>
 
</pre>
 
+
<br/>Then to compile:
 
 
Then to compile:
 
 
<pre>make depend
 
<pre>make depend
  
 
make >& compile.log</pre>
 
make >& compile.log</pre>
 
+
<br/>If everything went well, your build directory should contain the MITgcm executable (called mitgcmuv).
 
 
If everything went well, your build directory should contain the MITgcm executable (called mitgcmuv).
 
  
  
Line 72: Line 63:
 
<pre>ln -s ../input/* .
 
<pre>ln -s ../input/* .
 
</pre>
 
</pre>
 
+
<br/>You are now ready to run mitgcmuv. Small configurations (most tutorial examples) can be run interactively:
 
 
You are now ready to run mitgcmuv. Small configurations (most tutorial examples) can be run interactively:
 
 
<pre>./mitgcmuv</pre>
 
<pre>./mitgcmuv</pre>
 
+
<br/>A sucessful run ends with:
 
 
A sucessful run ends with:
 
 
<pre>NORMAL END</pre>
 
<pre>NORMAL END</pre>
 
+
<br/>Check STDOUT.0000 and search for "Execution ended Normally".
 
 
Check STDOUT.0000 and search for "Execution ended Normally".
 
 
<pre>tail STDOUT.0000</pre>
 
<pre>tail STDOUT.0000</pre>
(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min. Y spins =&nbsp;&nbsp;&nbsp;&nbsp; 1000000000<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Total. Y spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Avg. Y spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00E+00<br/>(PID.TID 0000.0001) // o Thread number: 000001<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; No. barriers =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10092<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp; Total barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10092<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Avg. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.00E+00<br/>PROGRAM MAIN: Execution ended Normally<br/>
+
(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min. Y spins =&nbsp;&nbsp;&nbsp;&nbsp; 1000000000<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Total. Y spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Avg. Y spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.00E+00<br/>(PID.TID 0000.0001) // o Thread number: 000001<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; No. barriers =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10092<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Min. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp; Total barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10092<br/>(PID.TID 0000.0001) //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Avg. barrier spins =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.00E+00<br/>PROGRAM MAIN: Execution ended Normally
  
 
If you need to install MITgcm on another machine, please contact drift@geo.uio.no
 
If you need to install MITgcm on another machine, please contact drift@geo.uio.no

Revision as of 15:34, 1 July 2015

Websites:

http://mitgcm.org/

http://mitgcm.org/public/r2_manual/latest/

Getting MITgcm source code:

export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'
  1. To get MITgcm through CVS, first register with the MITgcm CVS server using command
  1. and CVS password: cvsanon
cvs login 
  1. You only need to do a ``cvs loginonce. To obtain the latest sources type:
cvs co -P MITgcm

Installation on abel:

Make sure you have downloaded MITgcm source code and let's assume your code is $HOME/MITgcm:

cd $HOME/MITgcm

export ROOTDIR=$HOME/MITgcm

export PATH=$ROOTDIR/tools:$PATH

module load netcdf.intel
module switch openmpi.intel/1.6.1 openmpi.intel/1.8


Once you have set-up your environment, you are ready to set-up a use case and run MITgcm.  All MITgcm examples and use-cases are in the verification directory. Feel free to test another example; close to what you wish to run in "real life". As a first example, we will compile and run exp2:

cd $HOME/MITgcm/verification/exp2

genmake2 -mpi -mods=../code/ -of=optfile.sh


where optfile.sh contains specific settings for abel. You need to create this file and add it should contain:

#!/bin/bash
export LANG=en_US.UTF-8
export LC_ALL=en_US
module load netcdf.intel
module switch openmpi.intel/1.6.1 openmpi.intel/1.8
module load jasper
module load ncl/6.1.0
export FC=mpif90
export F90C=mpif90
export CC=mpicc
export DEFINES='-DWORDLENGTH=1 -D_BYTESWAPIO'
#
export NETCDF=/cluster/software/VERSIONS/netcdf.intel-4.2.1.1
export HDF5=/cluster/software/VERSIONS/hdf5-1.8.9_intel
export NCARG_ROOT=/cluster/software/VERSIONS/ncl-6.1.0
export JASPERLIB=/cluster/software/VERSIONS/jasper-1.900.1/lib
export JASPERINC=/cluster/software/VERSIONS/jasper-1.900.1/include/jasper
export LIBS="-L${NETCDF}/lib -lnetcdff -lnetcdf"


Then to compile:

make depend

make >& compile.log


If everything went well, your build directory should contain the MITgcm executable (called mitgcmuv).


Before running MITgcm, you need to prepare your input files. All these input files are located in the input directory (exp2/input) but when running, they must be available in the build directory. Instead of copying all the input files into build, we create symbolic links:

ln -s ../input/* .


You are now ready to run mitgcmuv. Small configurations (most tutorial examples) can be run interactively:

./mitgcmuv


A sucessful run ends with:

NORMAL END


Check STDOUT.0000 and search for "Execution ended Normally".

tail STDOUT.0000

(PID.TID 0000.0001) //            Min. Y spins =     1000000000
(PID.TID 0000.0001) //          Total. Y spins =              0
(PID.TID 0000.0001) //            Avg. Y spins =       0.00E+00
(PID.TID 0000.0001) // o Thread number: 000001
(PID.TID 0000.0001) //            No. barriers =          10092
(PID.TID 0000.0001) //      Max. barrier spins =              1
(PID.TID 0000.0001) //      Min. barrier spins =              1
(PID.TID 0000.0001) //     Total barrier spins =          10092
(PID.TID 0000.0001) //      Avg. barrier spins =       1.00E+00
PROGRAM MAIN: Execution ended Normally

If you need to install MITgcm on another machine, please contact drift@geo.uio.no

This category currently contains no pages or media.