/[MITgcm]/MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/kpp_diagnostics_init.F
ViewVC logotype

Annotation of /MITgcm_contrib/atnguyen/code_21Dec2012_saltplume/kpp_diagnostics_init.F

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


Revision 1.2 - (hide annotations) (download)
Tue Apr 29 06:49:39 2014 UTC (11 years, 3 months ago) by atn
Branch: MAIN
Changes since 1.1: +4 -1 lines
in progress:
1. add SALT_PLUME_OPTIONS.h to several files;
2. replace SPalpha (vol) with SPbrineSconst (salinity);
3. move diagnostics outside bi,bj loop.

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

  ViewVC Help
Powered by ViewVC 1.1.22