ROMS
Loading...
Searching...
No Matches
mod_strings.F
Go to the documentation of this file.
1#include "cppdefs.h"
3!
4!git $Id$
5!================================================== Hernan G. Arango ===
6! Copyright (c) 2002-2025 The ROMS Group !
7! Licensed under a MIT/X style license !
8! See License_ROMS.md !
9!=======================================================================
10! !
11! cdt F90/F95 compiler used. !
12! fflags F90/F95 compiler flags. !
13! title Title of model run. !
14! Coptions Activated C-preprocessing options. !
15! Fregion Start index of 4D-Var profiling region. !
16! Mregion Start index of message passage code profiling region. !
17! Nregion Number of total code profiling regions. !
18! !
19! StateMsg Model state messages when reading: !
20! ( 1) state initial conditions !
21! ( 2) previous state initial conditions !
22! ( 3) previous adjoint state solution !
23! ( 4) latest adjoint state solution !
24! ( 5) surface forcing and or OBC increments !
25! ( 6) tangent linear model error forcing !
26! ( 7) impulse forcing !
27! ( 8) v-space increments !
28! ( 9) background state !
29! (10) IC correlation standard deviation !
30! (11) model error correlation standard deviation !
31! (12) OBC correlation standard deviation !
32! (13) surface forcing correlation standard deviation !
33! (14) IC normalization factors !
34! (15) model error normalization factors !
35! (16) OBC normalization factors !
36! (17) surface forcing normalization factors !
37! (18) saddle-point Arnoldi state vector !
38! !
39! Pregion Model regions identifiers used for time profiling: !
40! ( 1) Allocation and array initialization !
41! ( 2) Ocean state initialization !
42! ( 3) Reading of input data !
43! ( 4) Processing of input data !
44! ( 5) Processing of output time averaged data !
45! ( 6) Computation of vertical boundary conditions !
46! ( 7) Computation of global information integrals !
47! ( 8) Writing of output data !
48! ( 9) Model 2D kernel !
49! (10) Lagrangian floats trajectories !
50! (11) Tidal forcing !
51! (12) 2D/3D coupling, vertical metrics !
52! (13) Omega vertical velocity !
53! (14) Equation of state for seawater !
54! (15) Biological module, source/sink terms !
55! (16) Sediment transport module, source/sink terms !
56! (17) Atmosphere-Ocean bulk flux parameterization !
57! (18) KPP vertical mixing parameterization !
58! (19) GLS vertical mixing parameterization !
59! (20) My2.5 vertical mixing parameterization !
60! (21) 3D equations right-side terms !
61! (22) 3D equations predictor step !
62! (23) Pressure gradient !
63! (24) Harmonic mixing of tracers, S-surfaces !
64! (25) Harmonic mixing of tracers, geopotentials !
65! (26) Harmonic mixing of tracers, isopycnals !
66! (27) Biharmonic mixing of tracers, S-surfaces !
67! (28) Biharmonic mixing of tracers, geopotentials !
68! (29) Biharmonic mixing of tracers, isopycnals !
69! (30) Harmonic stress tensor, S-surfaces !
70! (31) Harmonic stress tensor, geopotentials !
71! (32) Biharmonic stress tensor, S-surfaces !
72! (33) Biharmonic stress tensor, geopotentials !
73! (34) Corrector time-step for 3D momentum !
74! (35) Corrector time-step for tracers !
75! (36) Nesting Algorithm !
76! (37) Bottom boundary layer module !
77! (38) GST Analysis eigenproblem solution !
78! (39) Two-way coupling to Atmosphere Model !
79! (40) Two-way coupling to Sea Ice Model !
80! (41) Two-way coupling to Wave Model !
81! (42) Sea-ice kernel !
82! (43) Unused 02 !
83! (44) Unused 03 !
84! (45) Unused 04 !
85! (46) Unused 05 !
86! (47) Unused 06 !
87! (48) Unused 07 !
88! (49) Unused 08 !
89! (50) Unused 09 !
90! (51) Unused 10 !
91! (52) Unused 11 !
92! (53) Unused 12 !
93! (54) Unused 13 !
94! (55) Unused 14 !
95! (56) Unused 15 !
96! (57) Unused 16 !
97! (58) Unused 17 !
98! (59) Unused 18 !
99! (60) Message Passage: 2D halo exchanges !
100! (61) Message Passage: 3D halo exchanges !
101! (62) Message Passage: 4D halo exchanges !
102! (63) Message Passage: lateral boundary exchanges !
103! (64) Message Passage: data broadcast !
104! (65) Message Passage: data reduction !
105! (66) Message Passage: data gathering !
106! (67) Message Passage: data scattering !
107! (68) Message Passage: boundary data gathering !
108! (69) Message Passage: point data gathering !
109! (70) Message Passage: nesting point data gathering !
110! (71) Message Passage: nesting array data gathering !
111! (72) Message Passage: synchronization barrier !
112! (73) Message Passage: multi-model coupling !
113! (74) Unused 01 !
114! (75) Unused 02 !
115! (76) Unused 03 !
116! (77) Unused 04 !
117! (78) Unused 05 !
118! (79) Unused 06 !
119! (80) 4D-Var: reading model state vector !
120! (81) 4D-Var: writing model state vector !
121! (82) 4D-Var: prior error covariance matrix !
122! (83) 4D-Var: posterior error covariance matrix !
123! (84) 4D-Var: pre-conditioning !
124! (85) 4D-Var: minimization solver !
125! (86) 4D-Var: background phase !
126! (87) 4D-Var: increment phase !
127! (88) 4D-Var: analysis phase !
128! (89) Unused 01 !
129! (90) Unused 02 !
130! !
131!=======================================================================
132!
133 implicit none
134!
135 character (len=80) :: title
136 character (len=2048) :: coptions
137!
138 integer, parameter :: fregion = 80 ! start of 4D-Var region
139 integer, parameter :: mregion = 60 ! start of mpi-region
140 integer, parameter :: nregion = 88
141!
142 character (len=48), dimension(18) :: statemsg = &
143 & (/'state initial conditions, ', & !01
144 & 'previous state initial conditions, ', & !02
145 & 'previous adjoint state solution, ', & !03
146 & 'latest adjoint state solution, ', & !04
147 & 'surface forcing and or OBC increments, ', & !05
148 & 'tangent linear model error forcing, ', & !06
149 & 'impulse forcing, ', & !07
150 & 'v-space increments, ', & !08
151 & 'background state, ', & !09
152 & 'IC correlation standard deviation, ', & !10
153 & 'model error correlation standard deviation, ', & !11
154 & 'OBC correlation standard deviation, ', & !12
155 & 'surface forcing correlation standard deviation, ', & !13
156 & 'IC normalization factors, ', & !14
157 & 'model error normalization factors, ', & !15
158 & 'OBC normalization factors, ', & !16
159 & 'surface forcing normalization factors, ', & !17
160 & 'saddle-point Arnoldi state vector, '/) !18
161!
162 character (len=50), dimension(Nregion) :: pregion = &
163 & (/'Allocation and array initialization ..............', & !01
164 & 'Ocean state initialization .......................', & !02
165 & 'Reading of input data ............................', & !03
166 & 'Processing of input data .........................', & !04
167 & 'Processing of output time averaged data ..........', & !05
168 & 'Computation of vertical boundary conditions ......', & !06
169 & 'Computation of global information integrals ......', & !07
170 & 'Writing of output data ...........................', & !08
171 & 'Model 2D kernel ..................................', & !09
172 & 'Lagrangian floats trajectories ...................', & !10
173 & 'Tidal forcing ....................................', & !11
174 & '2D/3D coupling, vertical metrics .................', & !12
175 & 'Omega vertical velocity ..........................', & !13
176 & 'Equation of state for seawater ...................', & !14
177 & 'Biological module, source/sink terms .............', & !15
178 & 'Sediment transport module, source/sink terms .....', & !16
179 & 'Atmosphere-Ocean bulk flux parameterization ......', & !17
180 & 'KPP vertical mixing parameterization .............', & !18
181 & 'GLS vertical mixing parameterization .............', & !19
182 & 'My2.5 vertical mixing parameterization ...........', & !20
183 & '3D equations right-side terms ....................', & !21
184 & '3D equations predictor step ......................', & !22
185 & 'Pressure gradient ................................', & !23
186 & 'Harmonic mixing of tracers, S-surfaces ...........', & !24
187 & 'Harmonic mixing of tracers, geopotentials ........', & !25
188 & 'Harmonic mixing of tracers, isopycnals ...........', & !26
189 & 'Biharmonic mixing of tracers, S-surfaces .........', & !27
190 & 'Biharmonic mixing of tracers, geopotentials ......', & !28
191 & 'Biharmonic mixing of tracers, isopycnals .........', & !29
192 & 'Harmonic stress tensor, S-surfaces ...............', & !30
193 & 'Harmonic stress tensor, geopotentials ............', & !31
194 & 'Biharmonic stress tensor, S-surfaces .............', & !32
195 & 'Biharmonic stress tensor, geopotentials ..........', & !33
196 & 'Corrector time-step for 3D momentum ..............', & !34
197 & 'Corrector time-step for tracers ..................', & !35
198 & 'Nesting algorithm ................................', & !36
199 & 'Bottom boundary layer module .....................', & !37
200 & 'GST Analysis eigenproblem solution ...............', & !38
201 & 'Two-way coupling to Atmosphere Model .............', & !39
202 & 'Two-way coupling to Sea Ice Model ................', & !40
203 & 'Two-way coupling to Wave Model ...................', & !41
204 & 'Waves Effect on Currents kernel ..................', & !42
205 & 'Unused 02 ........................................', & !43
206 & 'Unused 03 ........................................', & !44
207 & 'Unused 04 ........................................', & !45
208 & 'Unused 05 ........................................', & !46
209 & 'Unused 06 ........................................', & !47
210 & 'Unused 07 ........................................', & !48
211 & 'Unused 08 ........................................', & !49
212 & 'Unused 09 ........................................', & !50
213 & 'Unused 10 ........................................', & !51
214 & 'Unused 11 ........................................', & !52
215 & 'Unused 12 ........................................', & !53
216 & 'Unused 13 ........................................', & !54
217 & 'Unused 14 ........................................', & !55
218 & 'Unused 15 ........................................', & !56
219 & 'Unused 16 ........................................', & !57
220 & 'Unused 17 ........................................', & !58
221 & 'Unused 18 ........................................', & !59
222 & 'Message Passage: 2D halo exchanges ...............', & !60
223 & 'Message Passage: 3D halo exchanges ...............', & !61
224 & 'Message Passage: 4D halo exchanges ...............', & !62
225 & 'Message Passage: lateral boundary exchanges ......', & !63
226 & 'Message Passage: data broadcast ..................', & !64
227 & 'Message Passage: data reduction ..................', & !65
228 & 'Message Passage: data gathering ..................', & !66
229 & 'Message Passage: data scattering..................', & !67
230 & 'Message Passage: boundary data gathering .........', & !68
231 & 'Message Passage: point data gathering ............', & !69
232 & 'Message Passage: nesting point data gathering ....', & !70
233 & 'Message Passage: nesting array data gathering ....', & !71
234 & 'Message Passage: synchronization barrier .........', & !72
235 & 'Message Passage: multi-model coupling ............', & !73
236 & 'Unused 01 ........................................', & !74
237 & 'Unused 02 ........................................', & !75
238 & 'Unused 03 ........................................', & !76
239 & 'Unused 04 ........................................', & !77
240 & 'Unused 05 ........................................', & !78
241 & 'Unused 06 ........................................', & !79
242 & '4D-Var: reading model state vector ...............', & !80
243 & '4D-Var: writing model state vector ...............', & !81
244 & '4D-Var: prior error covariance matrix ............', & !82
245 & '4D-Var: posterior error covariance matrix ........', & !83
246 & '4D-Var: pre-conditioning .........................', & !84
247 & '4D-Var: minimization solver ......................', & !85
248 & '4D-Var: background phase .........................', & !86
249 & '4D-Var: increment phase ..........................', & !87
250 & '4D-Var: analysis phase ...........................'/) !88
251!
252! The following variables are assigned during C-preprocessing. They
253! have information about operating sytem, CPU hardware, compiling
254! system, compiler command, compiler flags, analytical directory,
255! header directory, application header file, and root directory.
256!
257 character (len=80) :: my_os = my_os
258 character (len=80) :: my_cpu = my_cpu
259 character (len=80) :: my_fort = my_fort
260 character (len=80) :: my_fc = my_fc
261 character (len=512) :: my_fflags = my_fflags
262!
263#ifdef ANALYTICAL_DIR
264 character (len=256) :: adir = analytical_dir
265#else
266 character (len=256) :: adir = "NONE"
267#endif
268#ifdef HEADER_DIR
269 character (len=256) :: hdir = header_dir
270#else
271 character (len=256) :: hdir = "NONE"
272#endif
273#ifdef ROMS_HEADER
274 character (len=256) :: hfile = header
275#else
276 character (len=256) :: hfile = "NONE"
277#endif
278#ifdef ROOT_DIR
279 character (len=256) :: rdir = root_dir
280#else
281 character (len=256) :: rdir = "NONE"
282#endif
283!
284 END MODULE mod_strings
character(len=256) rdir
integer, parameter mregion
character(len=80) title
character(len=256) hdir
character(len=50), dimension(nregion) pregion
character(len=256) adir
character(len=80) my_cpu
character(len=256) hfile
integer, parameter fregion
character(len=80) my_os
character(len=80) my_fort
integer, parameter nregion
character(len=48), dimension(18) statemsg
character(len=512) my_fflags
character(len=2048) coptions
character(len=80) my_fc