/[MITgcm]/MITgcm/compare01/src/main.F
ViewVC logotype

Contents of /MITgcm/compare01/src/main.F

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


Revision 1.2 - (show annotations) (download)
Fri Feb 2 21:04:46 2001 UTC (23 years, 3 months ago) by adcroft
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Merged changes from branch "branch-atmos-merge" into MAIN (checkpoint34)
 - substantial modifications to algorithm sequence (dynamics.F)
 - packaged OBCS, Shapiro filter, Zonal filter, Atmospheric Physics

1 C /---------------------------------------------------------------\
2 C |+| MIT General Circulation Modeling Package (GCMPACK) |+|
3 C |+| |+|
4 C |+| Copyright (c) 1993, 1994, 1995, 1996, 1997 |+|
5 C |+| |+|
6 C |+| All rights reserved |+|
7 C |+| |+|
8 C |+| This software is provided with absolutely NO WARRANTY. |+|
9 C |+| |+|
10 C |+| Permission is given to use this software for any |+|
11 C |+| non-commercial purpose provided that |+|
12 C |+| o Publications acknowledge any use of GCMPACK. |+|
13 C |+| o Alterations to the software are made freely and |+|
14 C |+| unconditionally available to all and any of GCMPACK |+|
15 C |+| authors without prejudice. |+|
16 C |+| |+|
17 C |+| All other uses, including redistribution in whole or |+|
18 C |+| in part, are forbidden. |+|
19 C |+| |+|
20 C |+| Chris Hill cnh@plume.mit.edu |+|
21 C \---------------------------------------------------------------/
22 C
23 C /---------------------------------------------------------------\
24 C ||| ************************************************** |||
25 C ||| * General Circulation Modeling Package (GCMPACK) * |||
26 C ||| ************************************************** |||
27 C ||| |||
28 C ||| MIT Ocean-Atmosphere Circulation Model 1.0 Alpha |||
29 C ||| ================================================ |||
30 C ||| |||
31 C ||| Multithreaded Implementation of the MIT |||
32 C ||| Ocean-Atmosphere Circulation Model. |||
33 C ||| This model is a general purpose numerical engine that |||
34 C ||| can be used in the study of a wide range of oceaninc |||
35 C ||| and atmospheric phenomena. The model uses the pressure|||
36 C ||| method to simulate non-hydrostatic (NH), |||
37 C ||| quasi-hydrostatic (QH) and hydrostatic (HY) fluid |||
38 C ||| flows in a rotating frame of reference using a |||
39 C ||| grid-point finite volume discretization. The algorithm|||
40 C ||| is described in |||
41 C ||| "..." |||
42 C ||| "..." |||
43 C ||| The implmentation here is based on the algorithm laid |||
44 C ||| out in the above references. This implementation |||
45 C ||| employs a regular grid and can be applied directly to |||
46 C ||| either cartesian or spherical polar frameworks. |||
47 C \---------------------------------------------------------------/
48 C $Id: main.F,v 1.1 1998/05/25 20:21:05 cnh Exp $
49 C
50 C Baseline Program Structure
51 C ==========================
52 C MAIN
53 C |----CONTROL
54 C |---- SET_DEFAULTS Set default values for model parameters.
55 C | |-- DATE Record date and time of run.
56 C | |-- PLTFRM Record machine identfying string.
57 C |
58 C |---- READ_DATA Read data file specifying model parameters.
59 C | |-- READ_TOPOGRAPHY Read land/water map.
60 C |
61 C |---- INITIALISE
62 C | |-- INITIALISE_MASKS Set land/water mask arrays.
63 C | |-- INITIALISE_DENSITY Calculate reference densities.
64 C | | |-- RHO_LOCAL
65 C | |
66 C | |-- INITIALISE_GRIDDING Set up arrays expressing geometry.
67 C | | |-- INITIALISE_CARTESIAN_GRID
68 C | | |-- INITIALISE_SPEHERICAL_POLAR_GRID
69 C | |
70 C | |-- INITIALISE_OPERATORS Set up differencing operators.
71 C | | |-- CG2DAI Define 2d laplacian "A matrix" operator.
72 C | | |-- CG2DPI Define 2d "A matrix" preconditioner.
73 C | |
74 C | |-- INITIALISE_CORIOLIS Set Coriolis term operator.
75 C | |-- INITIALISE_FIELDS Set initial values of model variables.
76 C | |-- INITIALISE_U
77 C | |-- INITIALISE_V
78 C | |-- INITIALISE_S
79 C | |-- INITIALISE_T
80 C | |-- DUMP_READ2D Read XY field values from files.
81 C | | |-- DUMP_IO2D
82 C | |
83 C | |-- DUMP_READ Read 3d field values from files.
84 C | |-- DUMP_IO3D
85 C |
86 C |---- PRINT_HEADING Print out run data summary page.
87 C |
88 C |---- MODEL Perform integration.
89 C |-- RHO_CALC Evaluate initial density.
90 C MAIN LOOP ------> |
91 C |-- LOAD_FORCING Read in external forcing data.
92 C |-- GVEL_CALC Calculate explicit tendencies for u, v and w.
93 C |-- PFIND Diagnose pressure field.
94 C | |-- CG2D 2d preconditioned conjgrad solver
95 C | (used to solve for surface pressure).
96 C |-- UPDATE_UV Step forward lateral velocity.
97 C |-- UPDATE_W Step forward (NH or QH) w, or diagnose from continuity
98 C | (NH, QH or HY).
99 C |-- GT_CALC Calculate tendency for temperature.
100 C |-- UPDATE_T Step forward temperature.
101 C |-- GS_CALC Calculate tendency for salinity.
102 C |-- UPDATE_S Step forward salinity.
103 C |-- CADJUST Mix unstable water column ( coarse resolution ).
104 C |-- UPDATE_RHO Diagnose new density field.
105 C TO MAIN LOOP <---- |-- OUT Dump out model fields.
106 #include "CPP_OPTIONS.h"
107 #include "CPP_MACROS.h"
108 IMPLICIT NONE
109 C To avoid problems on certain platforms always declare *ALL* COMMON blocks in
110 C main.
111 C ======== Global data ============================
112 #include "SIZE.h"
113 #include "OPERATORS.h"
114 #include "GRID.h"
115 #include "PARAMS.h"
116 #include "OLDG.h"
117 #include "MASKS.h"
118 #include "CG2DA.h"
119 #include "CG2DZ.h"
120 #include "AJAINF.h"
121 #include "FORCING.h"
122 #include "POLYEOS.h"
123 C ========== Special code for getting Sun compatible binary data
124 C ========== on a CRAY
125 INTEGER ier
126 #ifdef CRAY_SUNBIN
127 CALL ASSIGN('assign -O -F f77 -N ieee g:su',ier)
128 CALL ASSIGN('assign -O -F f77 -N ieee g:du',ier)
129 #endif
130 CALL control
131 STOP 'NORMAL END: GCMPACK PE-MODEL.'
132 END

  ViewVC Help
Powered by ViewVC 1.1.22