/[MITgcm]/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F
ViewVC logotype

Contents of /MITgcm/pkg/gmredi/gmredi_diagnostics_init.F

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


Revision 1.6 - (show annotations) (download)
Fri May 30 02:50:16 2008 UTC (15 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint62, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.5: +2 -2 lines
o bridging the gap between eddy stress and GM.
  -> eddyTau is replaced with eddyPsi (eddyTau = f x rho0 x eddyPsi)
      along with a change in CPP option (now ALLOW_EDDYPSI).
  -> when using GM w/ GM_AdvForm:
      The total eddy streamfunction (Psi = eddyPsi + K x Slope)
      is applied either in the tracer Eq. or in momentum Eq.
      depending on data.gmredi (intro. GM_InMomAsStress).
  -> ALLOW_EDDYPSI_CONTROL for estimation purpose.
  The key modifications are in model/src/taueddy_external_forcing.F
  pkg/gmredi/gmredi_calc_*F pkg/gmredi/gmredi_*transport.F

1 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_diagnostics_init.F,v 1.5 2007/06/21 01:33:01 jmc Exp $
2 C $Name: $
3
4 #include "GMREDI_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GMREDI_DIAGNOSTICS_INIT
8 C !INTERFACE:
9 SUBROUTINE GMREDI_DIAGNOSTICS_INIT( myThid )
10
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE GMREDI_DIAGNOSTICS_INIT
14 C | o Routine to initialize list of all available diagnostics
15 C | for GM/Redi package
16 C *==========================================================*
17 C \ev
18 C !USES:
19 IMPLICIT NONE
20
21 C === Global variables ===
22 #include "EEPARAMS.h"
23 c #include "SIZE.h"
24 c #include "PARAMS.h"
25 c #include "GMREDI.h"
26
27 C !INPUT/OUTPUT PARAMETERS:
28 C === Routine arguments ===
29 C myThid :: my Thread Id number
30 INTEGER myThid
31 CEOP
32
33 #ifdef ALLOW_DIAGNOSTICS
34 C !LOCAL VARIABLES:
35 C === Local variables ===
36 C diagNum :: diagnostics number in the (long) list of available diag.
37 C diagName :: local short name (8c) of a diagnostics
38 C diagCode :: local parser field with characteristics of the diagnostics
39 C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT
40 C diagUnits :: local string (16c): physical units of a diagnostic field
41 C diagTitle :: local string (80c): description of field in diagnostic
42 INTEGER diagNum
43 CHARACTER*8 diagName
44 CHARACTER*16 diagCode
45 CHARACTER*16 diagUnits
46 CHARACTER*(80) diagTitle
47
48 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
49
50 c IF ( useDiagnotics ) THEN
51
52 diagName = 'GM_VisbK'
53 diagTitle =
54 & 'Mixing coefficient from Visbeck etal parameterization'
55 diagUnits = 'm^2/s '
56 diagCode = 'SM P M1 '
57 CALL DIAGNOSTICS_ADD2LIST( diagNum,
58 I diagName, diagCode, diagUnits, diagTitle, myThid )
59
60 diagName = 'GM_hTrsL'
61 diagTitle = 'Base depth (>0) of the Transition Layer'
62 diagUnits = 'm '
63 diagCode = 'SM P M1 '
64 CALL DIAGNOSTICS_ADD2LIST( diagNum,
65 I diagName, diagCode, diagUnits, diagTitle, myThid )
66
67 diagName = 'GM_baseS'
68 diagTitle = 'Slope at the base of the Transition Layer'
69 diagUnits = '1 '
70 diagCode = 'SM P M1 '
71 CALL DIAGNOSTICS_ADD2LIST( diagNum,
72 I diagName, diagCode, diagUnits, diagTitle, myThid )
73
74 diagName = 'GM_rLamb'
75 diagTitle =
76 & 'Slope vertical gradient at Trans. Layer Base (=recip.Lambda)'
77 diagUnits = '1/m '
78 diagCode = 'SM P M1 '
79 CALL DIAGNOSTICS_ADD2LIST( diagNum,
80 I diagName, diagCode, diagUnits, diagTitle, myThid )
81
82 diagName = 'GM_Kux '
83 diagTitle = 'K_11 element (U.point, X.dir) of GM-Redi tensor'
84 diagUnits = 'm^2/s '
85 WRITE(diagCode,'(A,I3.3,A)') 'UU P ',diagNum+2,'MR '
86 CALL DIAGNOSTICS_ADD2LIST( diagNum,
87 I diagName, diagCode, diagUnits, diagTitle, myThid )
88
89 diagName = 'GM_Kvy '
90 diagTitle = 'K_22 element (V.point, Y.dir) of GM-Redi tensor'
91 diagUnits = 'm^2/s '
92 WRITE(diagCode,'(A,I3.3,A)') 'VV P ', diagNum ,'MR '
93 CALL DIAGNOSTICS_ADD2LIST( diagNum,
94 I diagName, diagCode, diagUnits, diagTitle, myThid )
95
96 diagName = 'GM_Kuz '
97 diagTitle = 'K_13 element (U.point, Z.dir) of GM-Redi tensor'
98 diagUnits = 'm^2/s '
99 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
100 CALL DIAGNOSTICS_ADD2LIST( diagNum,
101 I diagName, diagCode, diagUnits, diagTitle, myThid )
102
103 diagName = 'GM_Kvz '
104 diagTitle = 'K_23 element (V.point, Z.dir) of GM-Redi tensor'
105 diagUnits = 'm^2/s '
106 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
107 CALL DIAGNOSTICS_ADD2LIST( diagNum,
108 I diagName, diagCode, diagUnits, diagTitle, myThid )
109
110 diagName = 'GM_Kwx '
111 diagTitle = 'K_31 element (W.point, X.dir) of GM-Redi tensor'
112 diagUnits = 'm^2/s '
113 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'LR '
114 CALL DIAGNOSTICS_ADD2LIST( diagNum,
115 I diagName, diagCode, diagUnits, diagTitle, myThid )
116
117 diagName = 'GM_Kwy '
118 diagTitle = 'K_32 element (W.point, Y.dir) of GM-Redi tensor'
119 diagUnits = 'm^2/s '
120 WRITE(diagCode,'(A,I3.3,A)') 'VM ', diagNum ,'LR '
121 CALL DIAGNOSTICS_ADD2LIST( diagNum,
122 I diagName, diagCode, diagUnits, diagTitle, myThid )
123
124 diagName = 'GM_Kwz '
125 diagTitle = 'K_33 element (W.point, Z.dir) of GM-Redi tensor'
126 diagUnits = 'm^2/s '
127 diagCode = 'WM P LR '
128 CALL DIAGNOSTICS_ADD2LIST( diagNum,
129 I diagName, diagCode, diagUnits, diagTitle, myThid )
130
131 diagName = 'GM_PsiX '
132 diagTitle = 'GM Bolus transport stream-function : X component'
133 diagUnits = 'm^2/s '
134 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'LR '
135 CALL DIAGNOSTICS_ADD2LIST( diagNum,
136 I diagName, diagCode, diagUnits, diagTitle, myThid )
137
138 diagName = 'GM_PsiY '
139 diagTitle = 'GM Bolus transport stream-function : Y component'
140 diagUnits = 'm^2/s '
141 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'LR '
142 CALL DIAGNOSTICS_ADD2LIST( diagNum,
143 I diagName, diagCode, diagUnits, diagTitle, myThid )
144
145 diagName = 'GM_KuzTz'
146 diagTitle = 'Redi Off-diagonal Temperature flux: X component'
147 diagUnits = 'degC.m^3/s '
148 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
149 CALL DIAGNOSTICS_ADD2LIST( diagNum,
150 I diagName, diagCode, diagUnits, diagTitle, myThid )
151
152 diagName = 'GM_KvzTz'
153 diagTitle = 'Redi Off-diagonal Temperature flux: Y component'
154 diagUnits = 'degC.m^3/s '
155 WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum ,'MR '
156 CALL DIAGNOSTICS_ADD2LIST( diagNum,
157 I diagName, diagCode, diagUnits, diagTitle, myThid )
158
159 diagName = 'GM_ubT '
160 diagTitle = 'Zonal Mass-Weight Bolus Transp of Pot Temp'
161 diagUnits = 'degC.m^3/s '
162 WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
163 CALL DIAGNOSTICS_ADD2LIST( diagNum,
164 I diagName, diagCode, diagUnits, diagTitle, myThid )
165
166 diagName = 'GM_vbT '
167 diagTitle = 'Meridional Mass-Weight Bolus Transp of Pot Temp'
168 diagUnits = 'degC.m^3/s '
169 WRITE(diagCode,'(A,I3.3,A)') 'VV ',diagNum,'MR '
170 CALL DIAGNOSTICS_ADD2LIST( diagNum,
171 I diagName, diagCode, diagUnits, diagTitle, myThid )
172
173 #ifdef ALLOW_EDDYPSI
174 diagName = 'GMEdTauX'
175 diagTitle = 'eddy-induced stress X-comp. estimated from Kwx'
176 diagUnits = 'N/m^2 '
177 WRITE(diagCode,'(A,I3.3,A)') 'UM ',diagNum+2,'LR '
178 CALL DIAGNOSTICS_ADD2LIST( diagNum,
179 I diagName, diagCode, diagUnits, diagTitle, myThid )
180
181 diagName = 'GMEdTauY'
182 diagTitle = 'eddy-induced stress Y-comp. estimated from Kwy'
183 diagUnits = 'N/m^2 '
184 WRITE(diagCode,'(A,I3.3,A)') 'VM ',diagNum+2,'LR '
185 CALL DIAGNOSTICS_ADD2LIST( diagNum,
186 I diagName, diagCode, diagUnits, diagTitle, myThid )
187 #endif
188
189 c ENDIF
190
191 #endif /* ALLOW_DIAGNOSTICS */
192
193 RETURN
194 END

  ViewVC Help
Powered by ViewVC 1.1.22