1 |
C $Header: $ |
2 |
C $Name: $ |
3 |
|
4 |
#include "THSICE_OPTIONS.h" |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: THSICE_DIAGNOSTICS_INIT |
8 |
C !INTERFACE: |
9 |
SUBROUTINE THSICE_DIAGNOSTICS_INIT( myThid ) |
10 |
|
11 |
C !DESCRIPTION: \bv |
12 |
C *==========================================================* |
13 |
C | SUBROUTINE THSICE_DIAGNOSTICS_INIT |
14 |
C | o Routine to initialize list of all available diagnostics |
15 |
C | for THSICE 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 "THSICE_PARAMS.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 |
INTEGER numFract, numThick |
48 |
|
49 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
50 |
|
51 |
c IF ( useDiagnotics ) THEN |
52 |
|
53 |
diagName = 'SI_Fract' |
54 |
diagTitle = 'Sea-Ice fraction [0-1]' |
55 |
diagUnits = '0-1 ' |
56 |
diagCode = 'SM P M1 ' |
57 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
58 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
59 |
numFract = diagNum |
60 |
|
61 |
diagName = 'SI_Thick' |
62 |
diagTitle = 'Sea-Ice thickness (area weighted average)' |
63 |
diagUnits = 'm ' |
64 |
WRITE(diagCode,'(A,I3.3,A)') 'SM PC', numFract, 'M1 ' |
65 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
66 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
67 |
numThick = diagNum |
68 |
|
69 |
diagName = 'SI_SnowH' |
70 |
diagTitle = 'Snow thickness over Sea-Ice (area weighted)' |
71 |
diagUnits = 'm ' |
72 |
WRITE(diagCode,'(A,I3.3,A)') 'SM PC', numFract, 'M1 ' |
73 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
74 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
75 |
|
76 |
diagName = 'SI_Tsrf ' |
77 |
diagTitle = 'Surface Temperature over Sea-Ice (area weighted)' |
78 |
diagUnits = 'degC ' |
79 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numFract, 'M1 ' |
80 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
81 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
82 |
|
83 |
diagName = 'SI_Tice1' |
84 |
diagTitle = 'Sea-Ice Temperature, 1srt layer (area weighted)' |
85 |
diagUnits = 'degC ' |
86 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numFract, 'M1 ' |
87 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
88 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
89 |
|
90 |
diagName = 'SI_Tice2' |
91 |
diagTitle = 'Sea-Ice Temperature, 2nd layer (area weighted)' |
92 |
diagUnits = 'degC ' |
93 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numFract, 'M1 ' |
94 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
95 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
96 |
|
97 |
diagName = 'SI_Qice1' |
98 |
diagTitle = 'Sea-Ice enthalphy, 1srt layer (mass weighted)' |
99 |
diagUnits = 'J/m^3 ' |
100 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numThick, 'M1 ' |
101 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
102 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
103 |
|
104 |
diagName = 'SI_Qice2' |
105 |
diagTitle = 'Sea-Ice enthalphy, 2nd layer (mass weighted)' |
106 |
diagUnits = 'J/m^3 ' |
107 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numThick, 'M1 ' |
108 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
109 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
110 |
|
111 |
diagName = 'SIalbedo' |
112 |
diagTitle = 'Sea-Ice Albedo [0-1] (area weighted average)' |
113 |
diagUnits = '0-1 ' |
114 |
WRITE(diagCode,'(A,I3.3,A)') 'SM PC', numFract, 'M1 ' |
115 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
116 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
117 |
|
118 |
diagName = 'SIsnwAge' |
119 |
diagTitle = 'snow age over Sea-Ice' |
120 |
diagUnits = 's ' |
121 |
diagCode = 'SM P M1 ' |
122 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
123 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
124 |
|
125 |
diagName = 'SIsnwPrc' |
126 |
diagTitle = 'snow precip. (+=dw) over Sea-Ice (area weighted)' |
127 |
diagUnits = 'kg/m^2/s ' |
128 |
WRITE(diagCode,'(A,I3.3,A)') 'SM C', numFract, 'M1 ' |
129 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
130 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
131 |
|
132 |
diagName = 'SIflxAtm' |
133 |
diagTitle = 'net heat flux from the Atmosphere (+=dw)' |
134 |
diagUnits = 'W/m^2 ' |
135 |
diagCode = 'SM M1 ' |
136 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
137 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
138 |
|
139 |
diagName = 'SIfrwAtm' |
140 |
diagTitle = 'fresh-water flux to the Atmosphere (+=up)' |
141 |
diagUnits = 'kg/m^2/s ' |
142 |
diagCode = 'SM M1 ' |
143 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
144 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
145 |
|
146 |
diagName = 'SIflx2oc' |
147 |
diagTitle = 'heat flux out of the ocean (+=up)' |
148 |
diagUnits = 'W/m^2 ' |
149 |
diagCode = 'SM M1 ' |
150 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
151 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
152 |
|
153 |
diagName = 'SIfrw2oc' |
154 |
diagTitle = 'fresh-water flux out of the ocean (+=up)' |
155 |
diagUnits = 'm/s ' |
156 |
diagCode = 'SM M1 ' |
157 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
158 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
159 |
|
160 |
diagName = 'SIsaltFx' |
161 |
diagTitle = 'salt flux out of the ocean (+=up)' |
162 |
diagUnits = 'psu.kg/m^2 ' |
163 |
diagCode = 'SM M1 ' |
164 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
165 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
166 |
|
167 |
diagName = 'SItOcMxL' |
168 |
diagTitle = 'ocean mixed layer temperature' |
169 |
diagUnits = 'degC ' |
170 |
diagCode = 'SM M1 ' |
171 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
172 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
173 |
|
174 |
diagName = 'SIsOcMxL' |
175 |
diagTitle = 'ocean mixed layer salinity' |
176 |
diagUnits = 'psu ' |
177 |
diagCode = 'SM P M1 ' |
178 |
CALL DIAGNOSTICS_ADD2LIST( diagNum, |
179 |
I diagName, diagCode, diagUnits, diagTitle, myThid ) |
180 |
|
181 |
c ENDIF |
182 |
|
183 |
#endif /* ALLOW_DIAGNOSTICS */ |
184 |
|
185 |
RETURN |
186 |
END |