$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/README,v 1.17 2005/04/05 20:48:20 gforget Exp $ ================ === WARNING === ================ For MITgcm Users : This directory (MITgcm/doc) does *NOT* contain the primary user documentation for the MITgcm code. We strongly suggest that you forgo the effort of downloading and "building" the documentation in the different formats (pdf, html, etc.) and instead read and/or download the documentation which is conveniently referenced from the main web site at: http://mitgcm.org For MITgcm Developers: If you wish to customize or extend the MITgcm code, this directory contains a "HOWTO" document that tries to explain: + where the code, documentation, and test/verification data sets are arranged within the CVS repository; + how to run the verification tests; + how to get help from the core developers; and + how to best integrate your work with the overall project. The document is available in SGML source within this directory: devel_HOWTO.sgml and in various formats on our web site: http://mitgcm.org/dev_docs/devel_HOWTO/ ====================================================================== === WARNING : The following has been superseeded by the on-line === === documentation at: http://mitgcm.org === ====================================================================== MITgcmUV Getting Started ======================== o Introduction This note is a guide to using the MIT General Circulation Model Ultra Verstaile implementation, MITgmcUV. MITgcmUV is a Fortran code that implements the algorithm described in Marshall et. al. 1997, Hill, Adcroft, ... The MITgcmUV implementation is designed to work efficiently on all classes of computer platforms. It can be used in both a single processor mode and a parallel processor mode. Parallel processing can be either multi-threaded shared memory such as that found on CRAY T90 machines or it can be multi-process distributed memory. A set of "execution enviroment" support routines are used to allow the same numerical code to run on top of a single-process, multi-threaded or distributed multi-process configuration. o Installing To setup the model on a particular computer the code tree must be created and appropriate compile and run scripts set up. For some platforms the necessary scripts are included in the release - in this case follow the steps below: 1. Extract MITgcmUV from the downloadable archive tar -xvf cNN.tar 2. Create platform specific make file For example on a Digital UNIX machine the script "genmake" can be used as shown below cd bin ../tools/genmake cp Makefile.alpha Makefile ( On Alpha machine) 3. Now create header file dependency entries make depend 4. Compile code make 5. To run the model with example data see the "README" in each of the example experiments in ../verification/exp*/ e.g. ../verification/exp2/README o Running - Input and output files Required files ============== The model is configured to look for two files with fixed names. These files are called "eedata" and "data". The file eedata contains "execution environment" data. At present this consists of a specification of the number of threads to use in X and Y under multithreaded execution. - Serial execution - Parallel execution. MPI mPx, nPy dmpirun - Parallel execution. Threads nSx, nSy setenv PARALLEL n nTx=2, nTy=2 - Parallel execution. Hybrid o Cutomising the code Model structure =============== The "numerical" model is contained within a execution environment support wrapper. This wrapper is designed to provide a general framework for grid-point models. MITgcmUV is a specific numerical model that uses the framework. Under this structure the model is split into execution environment support code and conventional numerical model code. The execution environment support code is held under the "eesupp" directory. The grid point model code is held under the "model" directory. Code execution actually starts in the eesupp routines and not in the model routines. For this reason the top level main.F is in the eesupp/src directory. End-users should not need to worry about this level. The top-level routine for the numerical part of the code is in model/src/the_model_main.F. o References Web sites - HP for doc Digital SGI Sun Linux threads CRAY multitasking PPT notes