/[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.29 - (show annotations) (download)
Wed Mar 24 15:29:33 2004 UTC (20 years, 1 month ago) by edhill
Branch: MAIN
CVS Tags: checkpoint53, checkpoint52m_post, checkpoint53a_post, checkpoint52n_post
Changes since 1.28: +8 -2 lines
 o in the MNC_CW_xxx_[R|W]_yyy calls, move the yyy=[R|D|I] part to
     a string variable within the argument list so that the output
     types are now run-time selectable
 o fix a bug in the initialization order -- ini_mnc_io() must be called
     after grid initialization

1 C $Header: /u/gcmpack/MITgcm/model/src/initialise_fixed.F,v 1.28 2004/03/23 05:24:43 edhill 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 |-- MON_INIT
33 C |
34 C |-- INI_GRID
35 C |
36 C |-- INI_EOS
37 C |
38 C |-- INI_DEPTHS
39 C |
40 C |-- INI_MASKS_ETC
41 C |
42 C |-- PACKAGES_BOOT
43 C |
44 C |-- PACKAGES_READPARMS
45 C |
46 C |-- PACKAGES_INIT_FIXED
47 C |
48 C |-- PACKAGES_CHECK
49 C |
50 C |-- INI_LINEAR_PHSURF
51 C |
52 C |-- INI_CORI
53 C |
54 C |-- INI_CG2D
55 C |
56 C |-- INI_CG3D
57 C |
58 C |-- CONFIG_CHECK
59 C |
60 C |-- CONFIG_SUMMARY
61
62 C !USES:
63 IMPLICIT NONE
64 C == Global variables ==
65 #include "SIZE.h"
66 #include "EEPARAMS.h"
67 #include "PARAMS.h"
68
69 C !INPUT/OUTPUT PARAMETERS:
70 C == Routine arguments ==
71 INTEGER myThid
72 CEOP
73
74 C-- Set model parameters.
75 C Parameters are set to defaults and then updates are read from
76 C an input file called data.
77 CALL INI_PARMS( myThid )
78 _BARRIER
79
80 #ifdef ALLOW_MNC
81 C Initialize MNC look-up tables
82 IF (useMNC) THEN
83 CALL MNC_INIT(myThid)
84 CALL MNC_CW_INIT(sNx,sNy,OLx,OLy,nSx,nSy,nPx,nPy,Nr, myThid)
85 IF ( mnc_echo_gvtypes ) THEN
86 CALL MNC_CW_DUMP( myThid )
87 ENDIF
88 ENDIF
89 #endif
90
91 #ifdef ALLOW_MONITOR
92 C-- Initialise MONITOR I/O streams so we can report config. info
93 CALL MON_INIT( myThid )
94 _BARRIER
95 #endif
96
97 C-- Set model grid.
98 C Variables defining model grid spacing are defined.
99 CALL INI_GRID( myThid )
100 _BARRIER
101
102 #ifdef ALLOW_MNC
103 C Initialize the MNC state files and write the grid info
104 IF (useMNC) THEN
105 CALL INI_MNC_IO(myThid)
106 ENDIF
107 #endif
108
109 C-- Set equation of state parameters.
110 CALL INI_EOS( myThid )
111 _BARRIER
112
113 C-- Initialise map of depths
114 CALL INI_DEPTHS( myThid )
115 _BARRIER
116
117 C-- Derive masks, lopping factors and recipricols of quantities.
118 C Volumes and areas are set according to grid and depth map.
119 CALL INI_MASKS_ETC( myThid )
120 _BARRIER
121
122 C-- Configure packages
123 CALL PACKAGES_BOOT( myThid )
124
125 C-- Read configuration parameters for packages
126 CALL PACKAGES_READPARMS( myThid )
127
128 C-- Call fixed data initialization phase of packages
129 CALL PACKAGES_INIT_FIXED( myThid )
130
131 C-- Check dependances between packages
132 CALL PACKAGES_CHECK( myThid )
133
134 C-- Set Bo_surf => define the Linear Relation: Phi_surf(eta)
135 CALL INI_LINEAR_PHISURF( myThid )
136
137 C-- Set coriolis operators
138 CALL INI_CORI( myThid )
139
140 C-- Set laplace operators for use in 2D conjugate gradient solver.
141 CALL INI_CG2D( myThid )
142
143 #ifdef ALLOW_NONHYDROSTATIC
144 C-- Set laplace operators for use in 3D conjugate gradient solver.
145 ceh3 needs an IF ( useNONHYDROSTATIC ) THEN
146 CALL INI_CG3D( myThid )
147 #endif
148
149 C-- Check parameters and model cofiguration
150 CALL CONFIG_CHECK( myThid )
151
152 C-- Finally summarise the model cofiguration
153 CALL CONFIG_SUMMARY( myThid )
154
155 #ifdef COMPONENT_MODULE
156 C-- Post component-model configuration information to coupler
157 C and get config. info for other component(s).
158 IF ( useCoupler ) CALL CPL_EXCH_CONFIGS( myThid )
159 #endif
160
161 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
162
163 RETURN
164 END

  ViewVC Help
Powered by ViewVC 1.1.22