/[MITgcm]/MITgcm/model/src/initialise_fixed.F
ViewVC logotype

Contents of /MITgcm/model/src/initialise_fixed.F

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


Revision 1.45 - (show annotations) (download)
Fri Mar 17 16:12:55 2006 UTC (18 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58f_post, checkpoint58d_post, checkpoint58m_post, checkpoint58e_post, checkpoint58k_post, checkpoint58l_post, checkpoint58g_post, checkpoint58h_post, checkpoint58j_post, checkpoint58i_post, checkpoint58c_post
Changes since 1.44: +7 -1 lines
New S/R "SET_PARMS" (pieces of code from INI_PARMS):
 set parameters that might depend on the use of some pkgs;
 called from INITIALISE_FIXED, after INI_PARMS & PACKAGES_READPARAMS
 NOTES: After leaving this S/R, parameters will not change anymore.

1 C $Header: /u/gcmpack/MITgcm/model/src/initialise_fixed.F,v 1.44 2005/12/05 14:37:41 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: INITIALISE_FIXED
9 C !INTERFACE:
10 SUBROUTINE INITIALISE_FIXED(myThid)
11
12 C !DESCRIPTION: \bv
13 C *==========================================================*
14 C | SUBROUTINE INITIALISE_FIXED
15 C | o Routine for setting fixed model arrays such as
16 C | topography, grid, solver matrices, etc.
17 C *==========================================================*
18 C | INITIALISE_FIXED is invoked at the start of the model to
19 C | set fixed model arrays. It reads data from an input file
20 C | and from various binary files.
21 C | Each thread invokes an instance of this routine as does
22 C | each process in a multi-process parallel environment like
23 C | MPI.
24 C *==========================================================*
25 C \ev
26
27 C !CALLING SEQUENCE:
28 C INITIALISE_FIXED
29 C |
30 C |-- INI_PARMS
31 C |
32 C |-- PACKAGES_BOOT
33 C |
34 C |-- PACKAGES_READPARMS
35 C | |
36 C | | - MNC_INIT + MNC_CW_INIT
37 C | |
38 C | | - ${PKG}_READPARMS
39 C |
40 C |-- SET_PARMS
41 C |
42 C |-- INI_MODEL_IO
43 C |
44 C |-- MON_INIT
45 C |
46 C |-- INI_GRID
47 C |
48 C |-- INI_EOS
49 C |
50 C |-- INI_PHIREF
51 C |
52 C |-- INI_DEPTHS
53 C |
54 C |-- INI_MASKS_ETC
55 C |
56 C |-- PACKAGES_INIT_FIXED
57 C |
58 C |-- PACKAGES_CHECK
59 C |
60 C |-- INI_LINEAR_PHSURF
61 C |
62 C |-- INI_CORI
63 C |
64 C |-- INI_CG2D
65 C |
66 C |-- INI_CG3D
67 C |
68 C |-- CONFIG_CHECK
69 C |
70 C |-- CONFIG_SUMMARY
71 C |
72 C |-- WRITE_GRID
73 C |
74 C |-- CPL_EXCH_CONFIGS
75
76 C !USES:
77 IMPLICIT NONE
78 C == Global variables ==
79 #include "SIZE.h"
80 #include "EEPARAMS.h"
81 #include "PARAMS.h"
82
83 C !INPUT/OUTPUT PARAMETERS:
84 C == Routine arguments ==
85 INTEGER myThid
86 CEOP
87
88 C-- Set model parameters.
89 C Parameters are set to defaults and then updates are read from
90 C an input file called data.
91 CALL INI_PARMS( myThid )
92 _BARRIER
93
94 C-- Configure packages
95 CALL PACKAGES_BOOT( myThid )
96
97 C-- Read configuration parameters for packages
98 CALL PACKAGES_READPARMS( myThid )
99
100 C-- Set (or reset) parameters (at this point, know which packages are used);
101 C after this call, main model parameters are not supposed to be modified.
102 CALL SET_PARMS( myThid )
103
104 C-- Write units/set precision/etc for I/O of variables/arrays belonging
105 C to the core dynamical model
106 CALL INI_MODEL_IO( myThid )
107
108 #ifdef ALLOW_MONITOR
109 C-- Initialise MONITOR I/O streams so we can report config. info
110 CALL MON_INIT( myThid )
111 _BARRIER
112 #endif
113
114 C-- Set model grid.
115 C Variables defining model grid spacing are defined.
116 CALL INI_GRID( myThid )
117 _BARRIER
118
119 C-- Set equation of state parameters.
120 CALL INI_EOS( myThid )
121 _BARRIER
122
123 C-- Set pressure/geopotential reference profile
124 CALL INI_PHIREF( myThid )
125 _BARRIER
126
127 C-- Initialise map of depths
128 CALL INI_DEPTHS( myThid )
129 _BARRIER
130
131 C-- Derive masks, lopping factors and recipricols of quantities.
132 C Volumes and areas are set according to grid and depth map.
133 CALL INI_MASKS_ETC( myThid )
134 _BARRIER
135
136 C-- Call fixed data initialization phase of packages
137 CALL PACKAGES_INIT_FIXED( myThid )
138
139 C-- Check dependances between packages
140 CALL PACKAGES_CHECK( myThid )
141
142 C-- Set Bo_surf => define the Linear Relation: Phi_surf(eta)
143 CALL INI_LINEAR_PHISURF( myThid )
144
145 C-- Set coriolis operators
146 CALL INI_CORI( myThid )
147
148 C-- Set laplace operators for use in 2D conjugate gradient solver.
149 CALL INI_CG2D( myThid )
150
151 #ifdef ALLOW_NONHYDROSTATIC
152 C-- Set laplace operators for use in 3D conjugate gradient solver.
153 ceh3 needs an IF ( useNONHYDROSTATIC ) THEN
154 CALL INI_CG3D( myThid )
155 #endif
156
157 C-- Check parameters and model cofiguration
158 CALL CONFIG_CHECK( myThid )
159
160 C-- Finally summarise the model cofiguration
161 CALL CONFIG_SUMMARY( myThid )
162
163 C-- Write grid data and geometry arrays
164 IF ( debugLevel.GE.debLevA .OR.
165 & startTime.EQ.baseTime ) CALL WRITE_GRID( myThid )
166
167 #ifdef COMPONENT_MODULE
168 C-- Post component-model configuration information to coupler
169 C and get config. info for other component(s).
170 IF ( useCoupler ) CALL CPL_EXCH_CONFIGS( myThid )
171 #endif
172
173 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
174
175 RETURN
176 END

  ViewVC Help
Powered by ViewVC 1.1.22