/[MITgcm]/MITgcm/pkg/kpp/kpp_diagnostics_init.F
ViewVC logotype

Contents of /MITgcm/pkg/kpp/kpp_diagnostics_init.F

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


Revision 1.8 - (show annotations) (download)
Fri Apr 2 19:27:14 2010 UTC (14 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.7: +34 -1 lines
add diagnostics for KPP non-local flux of Temp & Salinity

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_diagnostics_init.F,v 1.7 2010/01/12 21:34:09 jmc Exp $
2 C $Name: $
3
4 #include "KPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: KPP_DIAGNOSTICS_INIT
8 C !INTERFACE:
9 SUBROUTINE KPP_DIAGNOSTICS_INIT( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE KPP_DIAGNOSTICS_INIT
14 C | o Routine to initialize list of all available diagnostics
15 C | for KPP package
16 C *==========================================================*
17 C \ev
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "EEPARAMS.h"
23 #include "SIZE.h"
24 #ifdef ALLOW_GENERIC_ADVDIFF
25 # include "GAD.h"
26 #endif
27
28 C !INPUT/OUTPUT PARAMETERS:
29 C === Routine arguments ===
30 C myThid :: my Thread Id number
31 INTEGER myThid
32 CEOP
33
34 #ifdef ALLOW_DIAGNOSTICS
35 C !LOCAL VARIABLES:
36 C === Local variables ===
37 C diagNum :: diagnostics number in the (long) list of available diag.
38 C diagMate :: diag. mate number in the (long) list of available diag.
39 C diagName :: local short name (8c) of a diagnostics
40 C diagCode :: local parser field with characteristics of the diagnostics
41 C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
42 C diagUnits :: local string (16c): physical units of a diagnostic field
43 C diagTitle :: local string (80c): description of field in diagnostic
44 INTEGER diagNum
45 c INTEGER diagMate
46 CHARACTER*4 diagSufx
47 CHARACTER*8 diagName
48 CHARACTER*16 diagCode
49 CHARACTER*16 diagUnits
50 CHARACTER*(80) diagTitle
51 #ifdef ALLOW_GENERIC_ADVDIFF
52 CHARACTER*4 GAD_DIAG_SUFX
53 EXTERNAL GAD_DIAG_SUFX
54 #endif
55
56
57 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
58
59 diagName = 'KPPviscA'
60 diagTitle = 'KPP vertical eddy viscosity coefficient'
61 diagUnits = 'm^2/s '
62 diagCode = 'SM P LR '
63 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
64 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
65
66 diagName = 'KPPdiffS'
67 diagTitle = 'Vertical diffusion coefficient for salt & tracers'
68 diagUnits = 'm^2/s '
69 diagCode = 'SM P LR '
70 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
71 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
72
73 diagName = 'KPPdiffT'
74 diagTitle = 'Vertical diffusion coefficient for heat'
75 diagUnits = 'm^2/s '
76 diagCode = 'SM P LR '
77 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
78 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
79
80 diagName = 'KPPghat '
81 diagTitle = 'Nonlocal transport coefficient'
82 diagUnits = 's/m^2 '
83 diagCode = 'SM P LR '
84 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
85 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
86
87 diagName = 'KPPhbl '
88 diagTitle = 'KPP boundary layer depth, bulk Ri criterion'
89 diagUnits = 'm '
90 diagCode = 'SM P 1 '
91 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
92 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
93
94 diagName = 'KPPfrac '
95 diagTitle = 'Short-wave flux fraction penetrating mixing layer'
96 diagUnits = ' '
97 diagCode = 'SM P 1 '
98 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
99 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
100
101 diagName = 'KPPdbsfc'
102 diagTitle = 'Buoyancy difference with respect to surface'
103 diagUnits = 'm/s^2 '
104 diagCode = 'SM P UR '
105 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
106 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
107
108 diagName = 'KPPbfsfc'
109 diagTitle = 'Bo+radiation absorbed to d=hbf*hbl + plume'
110 diagUnits = 'm^2/s^3 '
111 diagCode = 'SM P UR '
112 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
113 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
114
115 diagName = 'KPPRi '
116 diagTitle = 'Bulk Richardson number'
117 diagUnits = 'non-dimensional '
118 diagCode = 'SM P UR '
119 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
120 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
121
122 diagName = 'KPPbo '
123 diagTitle = 'Surface turbulent buoyancy forcing'
124 diagUnits = 'm^2/s^3 '
125 diagCode = 'SM P 1 '
126 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
127 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
128
129 diagName = 'KPPbosol'
130 diagTitle = 'surface radiative buoyancy forcing'
131 diagUnits = 'm^2/s^3 '
132 diagCode = 'SM P 1 '
133 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
134 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
135
136 diagName = 'KPPdbloc'
137 diagTitle = 'Local delta buoyancy across interfaces'
138 diagUnits = 'm/s^2 '
139 diagCode = 'SM P UR '
140 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
141 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
142
143 #ifndef EXCLUDE_KPP_DOUBLEDIFF
144 diagName = 'KPPnuddt'
145 diagTitle = 'Vertical double diffusion coefficient for heat'
146 diagUnits = 'm^2/s '
147 diagCode = 'SM P UR '
148 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
149 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
150
151 diagName = 'KPPnudds'
152 diagTitle = 'Vertical double diffusion coefficient for salt'
153 diagUnits = 'm^2/s '
154 diagCode = 'SM P UR '
155 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
156 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
157 #endif /* ndef EXCLUDE_KPP_DOUBLEDIFF */
158
159 diagSufx = 'aaaa'
160 #ifdef ALLOW_GENERIC_ADVDIFF
161 diagSufx = GAD_DIAG_SUFX( GAD_TEMPERATURE, myThid )
162 #endif
163 diagName = 'KPPg'//diagSufx
164 diagTitle = 'KPP non-local Flux of Pot.Temperature'
165 diagUnits = 'degC.m^3/s '
166 diagCode = 'WM LR '
167 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
168 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
169
170 #ifdef ALLOW_GENERIC_ADVDIFF
171 diagSufx = GAD_DIAG_SUFX( GAD_SALINITY, myThid )
172 #endif
173 diagName = 'KPPg'//diagSufx
174 diagTitle = 'KPP non-local Flux of Salinity'
175 diagUnits = 'psu.m^3/s '
176 diagCode = 'WM LR '
177 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
178 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
179
180 #ifdef ALLOW_SALT_PLUME
181 diagName = 'KPPpfrac'
182 diagTitle = 'Salt plume flux fraction penetrating mixing layer'
183 diagUnits = ' '
184 diagCode = 'SM P 1 '
185 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
186 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
187
188 diagName = 'KPPboplm'
189 diagTitle = 'Surface haline buoyancy forcing'
190 diagUnits = 'm^2/s^3 '
191 diagCode = 'SM P 1 '
192 CALL DIAGNOSTICS_ADDTOLIST( diagNum,
193 I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
194 #endif /* ALLOW_SALT_PLUME */
195
196 #endif /* ALLOW_DIAGNOSTICS */
197
198 RETURN
199 END

  ViewVC Help
Powered by ViewVC 1.1.22