/[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.30 - (show annotations) (download)
Thu May 13 15:40:53 2004 UTC (20 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint54, checkpoint53d_post, checkpoint54a_pre, checkpoint53c_post, checkpoint53g_post, checkpoint53f_post, checkpoint53b_pre, checkpoint53b_post, checkpoint53d_pre
Changes since 1.29: +8 -8 lines
Slight re-arrangment to satisfy JMC opinions on file names!
 o ini_mnc_io.F has been split and replaced by
     ini_model_io.F - responsible for setting units/flags for model-state i/o
     write_grid.F   - responsible for writing the grid variables to file
 o the passing of flags to MDSIO has been moved from ini_parms to ini_model_io
 o ini_depths and ini_masks_etc no longer do I/O which is now in write_grid

1 C $Header: /u/gcmpack/MITgcm/model/src/initialise_fixed.F,v 1.29 2004/03/24 15:29:33 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 C-- Set equation of state parameters.
103 CALL INI_EOS( myThid )
104 _BARRIER
105
106 C-- Initialise map of depths
107 CALL INI_DEPTHS( myThid )
108 _BARRIER
109
110 C-- Derive masks, lopping factors and recipricols of quantities.
111 C Volumes and areas are set according to grid and depth map.
112 CALL INI_MASKS_ETC( myThid )
113 _BARRIER
114
115 C-- Configure packages
116 CALL PACKAGES_BOOT( myThid )
117
118 C-- Read configuration parameters for packages
119 CALL PACKAGES_READPARMS( myThid )
120
121 C-- Call fixed data initialization phase of packages
122 CALL PACKAGES_INIT_FIXED( myThid )
123
124 C-- Check dependances between packages
125 CALL PACKAGES_CHECK( myThid )
126
127 C-- Set Bo_surf => define the Linear Relation: Phi_surf(eta)
128 CALL INI_LINEAR_PHISURF( myThid )
129
130 C-- Set coriolis operators
131 CALL INI_CORI( myThid )
132
133 C-- Set laplace operators for use in 2D conjugate gradient solver.
134 CALL INI_CG2D( myThid )
135
136 #ifdef ALLOW_NONHYDROSTATIC
137 C-- Set laplace operators for use in 3D conjugate gradient solver.
138 ceh3 needs an IF ( useNONHYDROSTATIC ) THEN
139 CALL INI_CG3D( myThid )
140 #endif
141
142 C-- Check parameters and model cofiguration
143 CALL CONFIG_CHECK( myThid )
144
145 C-- Finally summarise the model cofiguration
146 CALL CONFIG_SUMMARY( myThid )
147
148 C-- Write units/set precision/etc for I/O of variables/arrays belonging
149 C to the core dynamical model
150 CALL INI_MODEL_IO( myThid )
151
152 C-- Write grid data and geometry arrays
153 CALL WRITE_GRID( 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