Explanations of the code:  {{{1
doc:  call Dimitris.

Main code of MITgcm in 3 dir: 

eesupp:  running the code on parallel  clusters. infrastructure for running MPI, shared memory, non-physics part of the code.
	src: main.F: eeboo  (wrapper initialization)
			     check_threads
			     the_model_main
			     eedie (wrapper termination)
	inc


model:  here is the model main.
	src: the_model_main.F includes the base MITgcm code.
	inc:

pkg: do various physics. packages will not be compiled.
   kpp: vertical mixing  parametization
   gmred: isopicnel mixing parameterization. 
  
   thice: 
   seaice: sea ice models
   
   shelfice: interacting with ice sheets
   icefront 

   cal: calendar correspondance between model time step and calendar time.

   diagnostics: any physical variable that you want to look at. get output variables into output of the model.

   debug: other kind of diagnostics, various levels of debug.

   frazil: frazil ice.

   atmospherics packages: fizhi, cheapaml

   exch2: fancier way of exchanging data and tiling.


jobs: forget about it.


lsopt: forget it.

optim: forget it.


utils: 
   matlab: bunch of matlab scripts.

tools: build_options: platform dependent run files to be run with gene_make to generate the correct Makefile. 
}}}
How to run : {{{1
All the verification tests are downloaded if you checkout the MITgcm repository instead of the 
MITgcm_code: 
cvs co -P MITgcm

The verification tests are downloaded in MITgcm/verification. They can be run using 
the testreport utility. Only a subset of the tests can be run if needed, by supplying 
an option flag to tesstreport. 


For our work, the relevant tests are: 
labsea: sea ice
ismip: shelf ice

If you run a test like lab_sea: 

./code/packages.conf: list of packages that we want to compile for this specific run.
For each package, you at least need to modify code/size.h

You can find the runtime parameters in: 
input/data: runtime parameters  for model source
input/eedata:runtime parameters  for eesupp source
input/data.: runtime parameters for all packages
intput/data.pkg: runtime parameters for packages that need to be run. subset of packages.conf

The build directory holds the source and objects for the current test, with symlinks 

If errors appear during the run, go into: 
./run and find the STDERR file.

To supply different Makefile templates for testreport:
testreport -ef -opt Makefile_amd64_gfortran

You can use matlab to plot the results: 
use readbin from the labsea experiment or MITgcm/tools/matlab/rdmds

There is an MITgcm_contrib repository for code that is not in the main trunk yet: 
MITgcm_contrib/MPMice/beaufort presents a scenario for a quick coupler.

}}}
Extra nodes{{{
cd install/verification/ 
./testreport -of ../tools/build_options/linux_amd64_gfortran

( results for baseline lab_sea verification
  experiment are in verification/lab_sea/run )

cd lab_sea/run
there is routines in lab_sea/matlab

ma
addpath('../matlab')
eta=readbin('Eta.0000000001.data',[20 16],1);
pcolor(eta')
colorbar

addpath('../../../utils/matlab')
eta=rdmds('Eta.0000000001');
}}}
