1 |
C $Header: /u/gcmpack/MITgcm/pkg/mypackage/mypackage_diagnostics_init.F,v 1.5 2010/01/15 00:28:14 jmc Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "OCN_CPL_OPTIONS.h" |
5 |
|
6 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
7 |
CBOP 0 |
8 |
C !ROUTINE: CPL_DIAGNOSTICS_INIT |
9 |
|
10 |
C !INTERFACE: |
11 |
SUBROUTINE CPL_DIAGNOSTICS_INIT( myThid ) |
12 |
|
13 |
C !DESCRIPTION: |
14 |
C Initialize list of available diagnostics |
15 |
C for Coupled Oceanic Component |
16 |
|
17 |
C !USES: |
18 |
IMPLICIT NONE |
19 |
#include "EEPARAMS.h" |
20 |
#include "SIZE.h" |
21 |
#include "CPL_PARAMS.h" |
22 |
|
23 |
C !INPUT/OUTPUT PARAMETERS: |
24 |
C myThid :: my Thread Id number |
25 |
INTEGER myThid |
26 |
CEOP |
27 |
|
28 |
#ifdef ALLOW_DIAGNOSTICS |
29 |
C !LOCAL VARIABLES: |
30 |
C === Local variables === |
31 |
C diagNum :: diagnostics number in the (long) list of available diag. |
32 |
C diagMate :: diag. mate number in the (long) list of available diag. |
33 |
C diagName :: local short name (8c) of a diagnostics |
34 |
C diagCode :: local parser field with characteristics of the diagnostics |
35 |
C cf head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT |
36 |
C diagUnits :: local string (16c): physical units of a diagnostic field |
37 |
C diagTitle :: local string (80c): description of field in diagnostic |
38 |
INTEGER diagNum |
39 |
INTEGER diagMate |
40 |
CHARACTER*8 diagName |
41 |
CHARACTER*16 diagCode |
42 |
CHARACTER*16 diagUnits |
43 |
CHARACTER*(80) diagTitle |
44 |
#ifdef ALLOW_THSICE |
45 |
INTEGER numFract, numThick |
46 |
#endif /* ALLOW_THSICE */ |
47 |
|
48 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
49 |
|
50 |
c IF ( useDiagnotics ) THEN |
51 |
|
52 |
diagName = 'CPL_SLPr' |
53 |
diagTitle = 'Atmos Sea-Level pressure anomaly (recv fr Coupler)' |
54 |
diagUnits = 'Pa ' |
55 |
diagCode = 'SM M1 ' |
56 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
57 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
58 |
|
59 |
diagName = 'CPL_Qnet' |
60 |
diagTitle = 'Net surface heat flux (+=up) (recv from Coupler)' |
61 |
diagUnits = 'W/m^2 ' |
62 |
diagCode = 'SM M1 ' |
63 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
64 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
65 |
|
66 |
diagName = 'CPL_Qsw ' |
67 |
diagTitle = 'Net shortwave heat flux (+=up)(recv from Coupler)' |
68 |
diagUnits = 'W/m^2 ' |
69 |
diagCode = 'SM M1 ' |
70 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
71 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
72 |
|
73 |
diagName = 'CPL_tauX' |
74 |
diagTitle = 'Zonal surface wind-stress (recv from Coupler)' |
75 |
diagUnits = 'N/m^2 ' |
76 |
diagCode = 'UM M1 ' |
77 |
diagMate = diagNum + 2 |
78 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
79 |
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
80 |
|
81 |
diagName = 'CPL_tauY' |
82 |
diagTitle = 'Merid. surface wind-stress (recv from Coupler)' |
83 |
diagUnits = 'N/m^2 ' |
84 |
diagMate = diagNum |
85 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
86 |
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
87 |
|
88 |
diagName = 'CPL_FWat' |
89 |
diagTitle = 'Surface fresh-water flux (+=up)(recv from Coupler)' |
90 |
diagUnits = 'kg/m^2/s ' |
91 |
diagCode = 'SM M1 ' |
92 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
93 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
94 |
|
95 |
diagName = 'CPL_sFlx' |
96 |
diagTitle = 'Salt flux from seaice comp (+=up)(recv fr Coupler)' |
97 |
diagUnits = 'g/m^2/s ' |
98 |
diagCode = 'SM M1 ' |
99 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
100 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
101 |
|
102 |
diagName = 'CPL_iceM' |
103 |
diagTitle = 'Seaice mass (recv from Coupler)' |
104 |
diagUnits = 'kg/m^2 ' |
105 |
diagCode = 'SM M1 ' |
106 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
107 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
108 |
|
109 |
#ifdef ALLOW_SALT_PLUME |
110 |
diagName = 'CPL_sPlm' |
111 |
diagTitle = 'Salt-plume flux (+=down) (recv from Coupler)' |
112 |
diagUnits = 'g/m^2/s ' |
113 |
diagCode = 'SM M1 ' |
114 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
115 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
116 |
#endif /* ALLOW_SALT_PLUME */ |
117 |
|
118 |
#ifdef ALLOW_DIC |
119 |
diagName = 'CPL_RnOf' |
120 |
diagTitle = 'river Run-Off (for DIC, +=down)(recv from Coupler)' |
121 |
diagUnits = 'kg/m^2/s ' |
122 |
diagCode = 'SM M1 ' |
123 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
124 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
125 |
|
126 |
diagName = 'CPL_aCO2' |
127 |
diagTitle = 'Atmospheric CO2 (parts by vol)(recv from Coupler)' |
128 |
diagUnits = 'ppm ' |
129 |
diagCode = 'SM M1 ' |
130 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
131 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
132 |
|
133 |
diagName = 'CPL_wSpd' |
134 |
diagTitle = 'Atmospheric surf. wind speed (recv from Coupler)' |
135 |
diagUnits = 'm/s ' |
136 |
diagCode = 'SM M1 ' |
137 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
138 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
139 |
#endif /* ALLOW_DIC */ |
140 |
|
141 |
#if (defined ALLOW_DIC) || (defined ALLOW_THSICE) |
142 |
diagName = 'CPL_icFr' |
143 |
diagTitle = 'Seaice fraction (Atmos, recv from Coupler)' |
144 |
diagUnits = '0-1 ' |
145 |
diagCode = 'SM P M1 ' |
146 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
147 |
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
148 |
#endif /* ALLOW_DIC or ALLOW_THSICE */ |
149 |
#ifdef ALLOW_THSICE |
150 |
numFract = diagNum |
151 |
|
152 |
diagName = 'CPL_iceH' |
153 |
diagTitle = 'Seaice thickness (Atmos, recv from Coupler)' |
154 |
diagUnits = 'm ' |
155 |
diagCode = 'SM PC M1 ' |
156 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
157 |
I diagName, diagCode, diagUnits, diagTitle, numFract, myThid ) |
158 |
numThick = diagNum |
159 |
|
160 |
diagName = 'CPL_snwH' |
161 |
diagTitle = 'Snow thickness over seaice (ATM, recv fr Coupler)' |
162 |
diagUnits = 'm ' |
163 |
diagCode = 'SM PC M1 ' |
164 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
165 |
I diagName, diagCode, diagUnits, diagTitle, numFract, myThid ) |
166 |
|
167 |
diagName = 'CPL_Qic1' |
168 |
diagTitle ='Enthalpy of seaice layer 1 (Atmos, recv fr Coupler)' |
169 |
diagUnits = 'J/kg ' |
170 |
diagCode = 'SM C M1 ' |
171 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
172 |
I diagName, diagCode, diagUnits, diagTitle, numThick, myThid ) |
173 |
|
174 |
diagName = 'CPL_Qic2' |
175 |
diagTitle ='Enthalpy of seaice layer 2 (Atmos, recv fr Coupler)' |
176 |
diagUnits = 'J/kg ' |
177 |
diagCode = 'SM C M1 ' |
178 |
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
179 |
I diagName, diagCode, diagUnits, diagTitle, numThick, myThid ) |
180 |
#endif /* ALLOW_THSICE */ |
181 |
|
182 |
c ENDIF |
183 |
|
184 |
#endif /* ALLOW_DIAGNOSTICS */ |
185 |
|
186 |
RETURN |
187 |
END |