1 |
C $Header: /u/gcmpack/MITgcm/pkg/diagnostics/diagnostics_main_init.F,v 1.4 2004/12/16 22:26:08 dimitri Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "DIAG_OPTIONS.h" |
5 |
|
6 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
7 |
CBOP 0 |
8 |
C !ROUTINE: DIAGNOSTICS_MAIN_INIT |
9 |
|
10 |
C !INTERFACE: |
11 |
SUBROUTINE DIAGNOSTICS_MAIN_INIT( myThid ) |
12 |
|
13 |
C !DESCRIPTION: |
14 |
C Initialize available diagnostics list for variables of the main code |
15 |
C (not part of a package): set the following attributes: |
16 |
C name (=cdiag), parsing code (=gdiag), units (=udiag), and title (=tdiag) |
17 |
C Notes: 1) diagnostics defined here do not require any EQUIVALENCE |
18 |
C since they get filled-in with S/R FILL_DIAGNOSTICS |
19 |
C 2) GDIAG is defined as character*16 and can be to character*1 |
20 |
C parse(16) with the following codes currently defined: |
21 |
|
22 |
C \begin{center} |
23 |
C \begin{tabular}[h]{|c|c|}\hline |
24 |
C \textbf{Positions} & \textbf{Characters} |
25 |
C & \textbf{Meanings} \\\hline |
26 |
C parse(1) & S & scalar \\ |
27 |
C & U & U-vector component \\ |
28 |
C & V & V-vector component \\ |
29 |
C parse(2) & U & C-grid U-Point \\ |
30 |
C & V & C-grid V-Point \\ |
31 |
C & M & C-grid Mass Point \\ |
32 |
C & Z & C-grid Corner Point \\ |
33 |
C parse(3) & -- & --Unused-- \\ |
34 |
C parse(4) & P & positive definite \\ |
35 |
C parse(5 ) & C & with counter array \\ |
36 |
C & D & disable an array for output \\ |
37 |
C parse(6--8) & '123' & 3-digit mate number \\ |
38 |
C parse(9) & U & model-level plus 1/2 \\ |
39 |
C & M & model-level middle \\ |
40 |
C & L & model-level minus 1/2 \\ |
41 |
C parse(10) & 0 & levels = 0 \\ |
42 |
C & 1 & levels = 1 \\ |
43 |
C & R & levels = Nr \\ |
44 |
C & L & levels = MAX(Nr,NrPhys) \\ |
45 |
C & M & levels = MAX(Nr,NrPhys) - 1 \\ |
46 |
C \end{tabular} |
47 |
C \end{center} |
48 |
|
49 |
C !USES: |
50 |
IMPLICIT NONE |
51 |
#include "SIZE.h" |
52 |
#include "EEPARAMS.h" |
53 |
c #include "EESUPPORT.h" |
54 |
#include "PARAMS.h" |
55 |
|
56 |
C !INPUT PARAMETERS: |
57 |
INTEGER myThid |
58 |
CEOP |
59 |
|
60 |
C !LOCAL VARIABLES: |
61 |
INTEGER diagNum |
62 |
CHARACTER*8 diagName |
63 |
CHARACTER*16 diagCode |
64 |
CHARACTER*16 diagUnits |
65 |
CHARACTER*(80) diagTitle |
66 |
|
67 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
68 |
C For each output variable, |
69 |
C specify Name (cdiag, 8c), Descriptions (tdiag, *c), Units (udiag, 16c) |
70 |
C and Type/Parms (location on C grid, 2D/3D, ...) (gdiag, 16c) |
71 |
C---------------------------------------------------------------------- |
72 |
|
73 |
diagName = 'PHIHYD ' |
74 |
diagTitle = 'Hydrostatic (ocean) pressure / (atmos) geo-Potential' |
75 |
diagUnits = 'm2/s2 ' |
76 |
diagCode = 'SM MR ' |
77 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
78 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
79 |
|
80 |
diagName = 'PHIBOT ' |
81 |
diagTitle = 'ocean bottom pressure / top. atmos geo-Potential' |
82 |
diagUnits = 'm2/s2 ' |
83 |
diagCode = 'SM M1 ' |
84 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
85 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
86 |
|
87 |
diagName = 'PHIBOTSQ' |
88 |
diagTitle = 'Square of ocean bottom pressure / top. geo-Potential' |
89 |
diagUnits = 'm4/s4 ' |
90 |
diagCode = 'SM M1 ' |
91 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
92 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
93 |
|
94 |
diagName = 'DRHODR ' |
95 |
diagTitle = 'Stratification: d.Sigma/dr (kg/m3/r_unit) ' |
96 |
diagUnits = 'kg/m4 ' |
97 |
diagCode = 'SM LR ' |
98 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
99 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
100 |
|
101 |
diagName = 'DETADT2 ' |
102 |
diagTitle = 'Square of Eta (Surf.P,SSH) Tendency ((r_unit/s)^2)' |
103 |
diagUnits = 'm2 or Pa2 /sec2 ' |
104 |
diagCode = 'SM M1 ' |
105 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
106 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
107 |
|
108 |
diagName = 'TAUX ' |
109 |
diagTitle = 'zonal surface wind stress, >0 increases uVel ' |
110 |
diagUnits = 'N/m2 ' |
111 |
diagCode = 'SU U1 ' |
112 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
113 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
114 |
|
115 |
diagName = 'TAUY ' |
116 |
diagTitle = 'meridional surf. wind stress, >0 increases vVel ' |
117 |
diagUnits = 'N/m2 ' |
118 |
diagCode = 'SV U1 ' |
119 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
120 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
121 |
|
122 |
diagName = 'TFLUX ' |
123 |
diagTitle = 'net surface heat flux, >0 increases theta ' |
124 |
diagUnits = 'W/m2 ' |
125 |
diagCode = 'SM U1 ' |
126 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
127 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
128 |
|
129 |
diagName = 'TRELAX ' |
130 |
diagTitle = 'surface temperature relaxation, >0 increases theta' |
131 |
diagUnits = 'W/m2 ' |
132 |
diagCode = 'SM U1 ' |
133 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
134 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
135 |
|
136 |
diagName = 'TICE ' |
137 |
diagTitle = 'heat from melt/freeze of sea-ice, >0 increases theta' |
138 |
diagUnits = 'W/m2 ' |
139 |
diagCode = 'SM U1 ' |
140 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
141 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
142 |
|
143 |
diagName = 'SFLUX ' |
144 |
diagTitle = 'net surface salt flux, >0 increases salt ' |
145 |
diagUnits = 'g/m2/s ' |
146 |
diagCode = 'SM U1 ' |
147 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
148 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
149 |
|
150 |
diagName = 'SRELAX ' |
151 |
diagTitle = 'surface salinity relaxation, >0 increases salt ' |
152 |
diagUnits = 'g/m2/s ' |
153 |
diagCode = 'SM U1 ' |
154 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
155 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
156 |
|
157 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
158 |
|
159 |
RETURN |
160 |
END |