/[MITgcm]/MITgcm/doc/README
ViewVC logotype

Contents of /MITgcm/doc/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.15 - (show annotations) (download)
Wed May 5 18:32:33 1999 UTC (24 years, 10 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint47e_post, checkpoint44e_post, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint50c_post, checkpoint46f_post, checkpoint48e_post, checkpoint50c_pre, checkpoint44f_post, checkpoint46b_post, checkpoint43a-release1mods, ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, release1_p13, checkpoint40pre3, checkpoint40pre1, checkpoint40pre7, checkpoint40pre6, checkpoint48i_post, checkpoint40pre9, checkpoint40pre8, checkpoint46l_pre, chkpt44d_post, checkpoint51, checkpoint50, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint50b_pre, checkpoint44e_pre, release1_b1, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint48b_post, checkpoint43, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint38, release1_chkpt44d_post, checkpoint47a_post, checkpoint48d_pre, checkpoint47i_post, branch-atmos-merge-shapiro, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint46d_pre, checkpoint40pre2, checkpoint48d_post, release1-branch_tutorials, checkpoint48f_post, checkpoint45d_post, checkpoint46j_pre, chkpt44a_post, checkpoint44h_pre, checkpoint48h_post, checkpoint40pre4, ecco_c50_e29, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint46j_post, checkpoint28, checkpoint29, checkpoint21, checkpoint22, checkpoint23, checkpoint24, checkpoint25, checkpoint46k_post, checkpoint27, ecco_c50_e28, chkpt44c_pre, checkpoint48a_post, checkpoint45a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, branch-atmos-merge-freeze, branch-atmos-merge-start, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47j_post, pre38tag1, ecco_c50_e33a, branch-exfmods-tag, checkpoint44g_post, checkpoint26, checkpoint46e_pre, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, release1-branch-end, c37_adj, release1_final_v1, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint46, checkpoint47b_post, checkpoint44b_post, ecco_c51_e34, checkpoint46h_pre, checkpoint46m_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, ecco_ice2, ecco_ice1, checkpoint44h_post, pre38-close, checkpoint46g_post, release1_p12_pre, checkpoint39, checkpoint33, checkpoint32, checkpoint31, checkpoint30, checkpoint37, checkpoint36, checkpoint35, checkpoint34, ecco_c44_e22, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, ecco_c44_e25, checkpoint40pre5, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint46c_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, checkpoint50d_pre, branch-atmos-merge-zonalfilt, checkpoint46e_post, release1_beta1, checkpoint51e_post, checkpoint44b_pre, checkpoint42, checkpoint40, checkpoint41, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint46h_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint47h_post, checkpoint44f_pre, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2, checkpoint46d_post, checkpoint50b_post, release1-branch_branchpoint, checkpoint51a_post
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, release1, ecco-branch, release1_50yr, icebear, branch-atmos-merge, pre38, release1_coupled
Changes since 1.14: +9 -28 lines
Implemented new I/O package (mdsio.F). This package does parallel
I/O in much the same way as dfile.F used to except it uses "direct
access" rather than (f77) unformatted sequential access.

Problems with dfile.F package included:
  o unnecessary memory use (each process had two global sized buffers)
  o inability to read the files it had written without post-processing
  o "tiled" files were tiled by process/thread rather than actual tiles
  o created huge numbers of files with no alternatives

Features of the mdsio.F package:
  o direct-access binary writes
  o no excessive memory use
  o ability to read/write from multiple record files
  o "tiled" files are based on "WRAPPER" tiles so that the number
    and content of files is independent of the number of threads
    and/or processes
  o option to create single "global" files rather than "tiled" files
  o ability to read both "global" and "tiled" files
    [Caveat: the tiling of files must match the model tiles]
  o checkpoints now use a single file per model section
    ie.  one file for the hydrostatic model core, one file
    for the non-hydrostatic extensions and one file for the C-D
    extensions
  o the mid-level I/O routines now is broken into more source files
    read_write_fld.F supplies basic I/O routines with the same interface
                     as the original I/O package
    read_write_rec.F supplies I/O routines which allow multiple records
    write_state.F    writes the model state
    checkpoint.F     supplies the read/write checkpoint routines

All the example input data has had to be modified to be direct-access.
Otherwise only routines that used I/O have been affected and not
all of those have been due to the continuity of arguments in
the read_write_fld.F routines.

What needs to be done?  We have to create a suite of conversion
utilities for users with old-style data. Also supply the option
for using old-style I/O, not just for die-hards but for reading
data too extensive to be converted. And more...

1 $Header: /u/gcmpack/models/MITgcmUV/doc/README,v 1.14 1998/10/28 03:23:17 cnh Exp $
2
3
4 MITgcmUV Getting Started
5 ========================
6
7 o Introduction
8
9 This note is a guide to using the MIT General Circulation Model Ultra Verstaile
10 implementation, MITgmcUV. MITgcmUV is a Fortran code that implements the
11 algorithm described in Marshall et. al. 1997, Hill, Adcroft, ...
12 The MITgcmUV implementation is designed to work efficiently on all classes
13 of computer platforms. It can be used in both a single processor mode
14 and a parallel processor mode. Parallel processing can be either multi-threaded
15 shared memory such as that found on CRAY T90 machines or it can be multi-process
16 distributed memory. A set of "execution enviroment" support routines are
17 used to allow the same numerical code to run on top of a single-process, multi-threaded
18 or distributed multi-process configuration.
19
20 o Installing
21 To setup the model on a particular computer the code tree must be created
22 and appropriate compile and run scripts set up. For some platforms
23 the necessary scripts are included in the release - in this case follow
24 the steps below:
25
26 1. Extract MITgcmUV from the downloadable archive
27 tar -xvf cNN.tar
28
29 2. Create platform specific make file
30 For example on a Digital UNIX machine the script "genmake" can
31 be used as shown below
32
33 cd bin
34 ../tools/genmake
35 cp Makefile.alpha Makefile ( On Alpha machine)
36
37 3. Now create header file dependency entries
38 make depend
39
40 4. Compile code
41 make
42
43 5. To run the model with example data see the "README" in each of
44 the example experiments in ../verification/exp*/
45 e.g. ../verification/exp2/README
46
47
48 o Running
49
50 - Input and output files
51
52 Required files
53 ==============
54 The model is configured to look for two files with fixed names.
55 These files are called
56 "eedata" and "data".
57 The file eedata contains "execution environment" data. At present
58 this consists of a specification of the number of threads to
59 use in X and Y under multithreaded execution.
60
61 - Serial execution
62
63 - Parallel execution. MPI
64 mPx, nPy
65 dmpirun
66
67 - Parallel execution. Threads
68 nSx, nSy
69 setenv PARALLEL n
70 nTx=2, nTy=2
71
72 - Parallel execution. Hybrid
73
74 o Cutomising the code
75
76 Model structure
77 ===============
78 The "numerical" model is contained within a execution
79 environment support wrapper. This wrapper is designed
80 to provide a general framework for grid-point models.
81 MITgcmUV is a specific numerical model that uses the
82 framework.
83 Under this structure the model is split into
84 execution environment support code and conventional
85 numerical model code. The execution environment
86 support code is held under the "eesupp" directory.
87 The grid point model code is held under the
88 "model" directory.
89 Code execution actually starts in the eesupp
90 routines and not in the model routines. For this
91 reason the top level main.F is in the eesupp/src
92 directory. End-users should not need to worry about
93 this level. The top-level routine for the numerical
94 part of the code is in model/src/the_model_main.F.
95
96
97 o References
98 Web sites - HP
99 for doc Digital
100 SGI
101 Sun
102 Linux threads
103 CRAY multitasking
104 PPT notes

  ViewVC Help
Powered by ViewVC 1.1.22