1 |
heimbach |
1.4 |
C $Header: /u/gcmpack/MITgcm_contrib/torge/itd/code/seaice_diagnostics_init.F,v 1.3 2012/06/20 19:58:09 torge Exp $ |
2 |
dimitri |
1.1 |
C $Name: $ |
3 |
|
|
|
4 |
|
|
#include "SEAICE_OPTIONS.h" |
5 |
|
|
|
6 |
|
|
C-- File seaice_diagnostics_init.F: Routines initialize SEAICE diagnostics |
7 |
|
|
C-- Contents |
8 |
|
|
C-- o SEAICE_DIAGNOSTICS_INIT |
9 |
|
|
C-- o SEAICE_DIAG_SUFX |
10 |
|
|
|
11 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
12 |
|
|
CBOP |
13 |
|
|
C !ROUTINE: SEAICE_DIAGNOSTICS_INIT |
14 |
|
|
C !INTERFACE: |
15 |
|
|
SUBROUTINE SEAICE_DIAGNOSTICS_INIT( myThid ) |
16 |
|
|
|
17 |
|
|
C !DESCRIPTION: \bv |
18 |
|
|
C *==========================================================* |
19 |
|
|
C | SUBROUTINE SEAICE_DIAGNOSTICS_INIT |
20 |
|
|
C | o Routine to initialize list of all available diagnostics |
21 |
|
|
C | for SEAICE package |
22 |
|
|
C *==========================================================* |
23 |
|
|
C \ev |
24 |
|
|
C !USES: |
25 |
|
|
IMPLICIT NONE |
26 |
|
|
|
27 |
|
|
C === Global variables === |
28 |
|
|
#include "EEPARAMS.h" |
29 |
|
|
#include "SIZE.h" |
30 |
|
|
#include "SEAICE_SIZE.h" |
31 |
|
|
#include "SEAICE_PARAMS.h" |
32 |
|
|
#include "SEAICE_TRACER.h" |
33 |
|
|
|
34 |
|
|
C !INPUT/OUTPUT PARAMETERS: |
35 |
|
|
C === Routine arguments === |
36 |
|
|
C myThid :: my Thread Id number |
37 |
|
|
INTEGER myThid |
38 |
|
|
CEOP |
39 |
|
|
|
40 |
|
|
#ifdef ALLOW_DIAGNOSTICS |
41 |
|
|
C !LOCAL VARIABLES: |
42 |
|
|
C === Local variables === |
43 |
|
|
C diagNum :: diagnostics number in the (long) list of available diag. |
44 |
|
|
C diagMate :: diag. mate number in the (long) list of available diag. |
45 |
|
|
C diagName :: local short name (8c) of a diagnostics |
46 |
|
|
C diagCode :: local parser field with characteristics of the diagnostics |
47 |
torge |
1.3 |
C see head of S/R DIAGNOSTICS_INIT_EARLY or DIAGNOSTICS_MAIN_INIT |
48 |
|
|
C for a list of options |
49 |
dimitri |
1.1 |
C diagUnits :: local string (16c): physical units of a diagnostic field |
50 |
|
|
C diagTitle :: local string (80c): description of field in diagnostic |
51 |
|
|
INTEGER diagNum |
52 |
|
|
INTEGER diagMate |
53 |
|
|
CHARACTER*8 diagName |
54 |
|
|
CHARACTER*16 diagCode |
55 |
|
|
CHARACTER*16 diagUnits |
56 |
|
|
CHARACTER*(80) diagTitle |
57 |
|
|
|
58 |
|
|
#ifdef ALLOW_SITRACER |
59 |
|
|
INTEGER iTr, ilnb, numMateTr, numMateTrPreTh |
60 |
|
|
CHARACTER*8 locUnitTr |
61 |
|
|
CHARACTER*30 locNameTr |
62 |
|
|
#endif |
63 |
|
|
INTEGER numArea,numAreaPreTh,numHeff,numHeffPreTh |
64 |
|
|
CHARACTER*9 flxUnits |
65 |
|
|
CHARACTER*15 locName |
66 |
|
|
CHARACTER*4 SEAICE_DIAG_SUFX, diagSufx |
67 |
|
|
c EXTERNAL SEAICE_DIAG_SUFX |
68 |
|
|
C Functions :: |
69 |
|
|
INTEGER ILNBLNK |
70 |
|
|
EXTERNAL ILNBLNK |
71 |
|
|
|
72 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
73 |
|
|
|
74 |
|
|
|
75 |
|
|
C=============== state variables ============ |
76 |
|
|
|
77 |
|
|
diagName = 'SIarea ' |
78 |
|
|
diagTitle = 'SEAICE fractional ice-covered area [0 to 1]' |
79 |
|
|
diagUnits = 'm^2/m^2 ' |
80 |
|
|
diagCode = 'SM M1 ' |
81 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
82 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
83 |
|
|
numArea = diagNum |
84 |
|
|
|
85 |
|
|
diagName = 'SIareaPR' |
86 |
|
|
diagTitle = 'SIarea preceeding ridging process' |
87 |
|
|
diagUnits = 'm^2/m^2 ' |
88 |
|
|
diagCode = 'SM M1 ' |
89 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
90 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
91 |
|
|
|
92 |
|
|
diagName = 'SIareaPT' |
93 |
|
|
diagTitle = 'SIarea preceeding thermodynamic growth/melt' |
94 |
|
|
diagUnits = 'm^2/m^2 ' |
95 |
|
|
diagCode = 'SM M1 ' |
96 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
97 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
98 |
|
|
numAreaPreTh = diagNum |
99 |
|
|
|
100 |
|
|
diagName = 'SIheff ' |
101 |
|
|
diagTitle = 'SEAICE effective ice thickness' |
102 |
|
|
diagUnits = 'm ' |
103 |
|
|
diagCode = 'SM M1 ' |
104 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
105 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
106 |
|
|
numHeff = diagNum |
107 |
|
|
|
108 |
|
|
diagName = 'SIheffPT' |
109 |
|
|
diagTitle = 'SIheff preceeeding thermodynamic growth/melt' |
110 |
|
|
diagUnits = 'm ' |
111 |
|
|
diagCode = 'SM M1 ' |
112 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
113 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
114 |
|
|
numHeffPreTh = diagNum |
115 |
|
|
|
116 |
|
|
diagName = 'SIhsnow ' |
117 |
|
|
diagTitle = 'SEAICE effective snow thickness' |
118 |
|
|
diagUnits = 'm ' |
119 |
|
|
diagCode = 'SM M1 ' |
120 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
121 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
122 |
|
|
|
123 |
|
|
diagName = 'SIhsnoPT' |
124 |
|
|
diagTitle = 'SIhsnow preceeeding thermodynamic growth/melt' |
125 |
|
|
diagUnits = 'm ' |
126 |
|
|
diagCode = 'SM M1 ' |
127 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
128 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
129 |
|
|
|
130 |
|
|
diagName = 'SIhsalt ' |
131 |
|
|
diagTitle = 'SEAICE effective salinity' |
132 |
|
|
diagUnits = 'g/m^2 ' |
133 |
|
|
diagCode = 'SM M1 ' |
134 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
135 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
136 |
|
|
|
137 |
|
|
#ifdef ALLOW_SITRACER |
138 |
|
|
DO iTr = 1, SItrNumInUse |
139 |
|
|
|
140 |
|
|
C-- Set default name & tracer Units: |
141 |
|
|
WRITE(locNameTr,'(A,I4.4,A)') 'sea ice tracer no. ',iTr |
142 |
|
|
if (SItrMate(iTr).EQ.'HEFF') then |
143 |
|
|
locUnitTr = '(kg/kg) ' |
144 |
|
|
numMateTr = numHeff |
145 |
|
|
numMateTrPreTh = numHeffPreTh |
146 |
|
|
else |
147 |
|
|
locUnitTr = '(kg/m^2)' |
148 |
|
|
numMateTr = numArea |
149 |
|
|
numMateTrPreTh = numAreaPreTh |
150 |
|
|
endif |
151 |
|
|
C- use name & units from data.seaice : |
152 |
|
|
ilnb = ILNBLNK(SItrUnit(iTr)) |
153 |
|
|
IF ( ilnb.GE.1 ) THEN |
154 |
|
|
ilnb = LEN(locUnitTr) |
155 |
|
|
locUnitTr = SItrUnit(iTr)(1:ilnb) |
156 |
|
|
ENDIF |
157 |
|
|
ilnb = ILNBLNK(SItrNameLong(iTr)) |
158 |
|
|
IF ( ilnb.GE.1 ) THEN |
159 |
|
|
ilnb = MIN(LEN(locNameTr),ilnb) |
160 |
|
|
WRITE(locNameTr,'(A)') SItrNameLong(iTr)(1:ilnb) |
161 |
|
|
ELSE |
162 |
|
|
ilnb = ILNBLNK(SItrName(iTr)) |
163 |
|
|
IF ( ilnb.GE.1 ) THEN |
164 |
|
|
ilnb = MIN(LEN(locNameTr),ilnb) |
165 |
|
|
WRITE(locNameTr,'(2A)') SItrName(iTr)(1:ilnb),' tracer' |
166 |
|
|
ENDIF |
167 |
|
|
ENDIF |
168 |
|
|
ilnb = MAX(ILNBLNK(locNameTr),1) |
169 |
|
|
|
170 |
|
|
WRITE(diagName,'(A4,I2.2,A2)') 'SItr',iTr,' ' |
171 |
|
|
WRITE(diagTitle,'(4A)') locNameTr(1:ilnb), |
172 |
|
|
& ' (associated with ',SItrMate(iTr),')' |
173 |
|
|
diagUnits = locUnitTr//' ' |
174 |
|
|
diagCode = 'SM C M1 ' |
175 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, diagName, |
176 |
|
|
I diagCode, diagUnits, diagTitle, numMateTr, myThid ) |
177 |
|
|
|
178 |
|
|
WRITE(diagName,'(A4,I2.2,A2)') 'SItr',iTr,'PT' |
179 |
|
|
WRITE(diagTitle,'(A4,I2.2,2A)') 'SItr',iTr, |
180 |
|
|
& ' preceeeding thermodynamic growth/melt' |
181 |
|
|
diagUnits = locUnitTr//' ' |
182 |
|
|
diagCode = 'SM C M1 ' |
183 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, diagName, |
184 |
|
|
I diagCode, diagUnits, diagTitle, numMateTrPreTh, myThid ) |
185 |
|
|
|
186 |
|
|
ENDDO |
187 |
|
|
#endif |
188 |
|
|
|
189 |
|
|
diagName = 'SItices ' |
190 |
|
|
diagTitle = 'Surface Temperature over Sea-Ice (area weighted)' |
191 |
|
|
diagUnits = 'K ' |
192 |
|
|
diagCode = 'SM C M1 ' |
193 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
194 |
|
|
I diagName, diagCode, diagUnits, diagTitle, numArea, myThid ) |
195 |
|
|
|
196 |
|
|
diagName = 'SIuice ' |
197 |
|
|
diagTitle = 'SEAICE zonal ice velocity, >0 from West to East' |
198 |
|
|
diagUnits = 'm/s ' |
199 |
|
|
#ifdef SEAICE_CGRID |
200 |
|
|
diagCode = 'UU M1 ' |
201 |
|
|
#else |
202 |
|
|
diagCode = 'UZ M1 ' |
203 |
|
|
#endif |
204 |
|
|
diagMate = diagNum + 2 |
205 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
206 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
207 |
|
|
|
208 |
|
|
diagName = 'SIvice ' |
209 |
|
|
diagTitle = 'SEAICE merid. ice velocity, >0 from South to North' |
210 |
|
|
diagUnits = 'm/s ' |
211 |
|
|
#ifdef SEAICE_CGRID |
212 |
|
|
diagCode = 'VV M1 ' |
213 |
|
|
#else |
214 |
|
|
diagCode = 'VZ M1 ' |
215 |
|
|
#endif |
216 |
|
|
diagMate = diagNum |
217 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
218 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
219 |
|
|
|
220 |
|
|
|
221 |
|
|
C=============== momentum, heat and fresh water forcing ============ |
222 |
|
|
|
223 |
|
|
C pkg/diagnostics SIfu and oceTAUX, dumpfreq FU, and tavefreq FUtave |
224 |
|
|
C are identical but they differ from pkg/diagnostics EXFtaux, which |
225 |
|
|
C is stress before impact of ice. Also when using exf bulk |
226 |
|
|
C formulae, EXFtaux is defined on tracer rather than uvel points. |
227 |
|
|
diagName = 'SIfu ' |
228 |
|
|
diagTitle = 'SEAICE zonal surface wind stress, >0 increases uVel ' |
229 |
|
|
diagUnits = 'N/m^2 ' |
230 |
|
|
diagCode = 'UU U1 ' |
231 |
|
|
diagMate = diagNum + 2 |
232 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
233 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
234 |
|
|
|
235 |
|
|
C pkg/diagnostics SIfv and oceTAUY, dumpfreq FV, and tavefreq FVtave |
236 |
|
|
C are identical but they differ from pkg/diagnostics EXFtauy, which |
237 |
|
|
C is stress before impact of ice. Also when using exf bulk |
238 |
|
|
C formulae, EXFtauy is defined on tracer rather than vvel points. |
239 |
|
|
diagName = 'SIfv ' |
240 |
|
|
diagTitle = 'SEAICE merid. surface wind stress, >0 increases vVel' |
241 |
|
|
diagUnits = 'N/m^2 ' |
242 |
|
|
diagCode = 'VV U1 ' |
243 |
|
|
diagMate = diagNum |
244 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
245 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
246 |
|
|
|
247 |
|
|
diagName = 'SIuwind ' |
248 |
|
|
diagTitle = 'SEAICE zonal 10-m wind speed, >0 increases uVel' |
249 |
|
|
diagUnits = 'm/s ' |
250 |
|
|
diagCode = 'UM U1 ' |
251 |
|
|
diagMate = diagNum + 2 |
252 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
253 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
254 |
|
|
|
255 |
|
|
diagName = 'SIvwind ' |
256 |
|
|
diagTitle = 'SEAICE meridional 10-m wind speed, >0 increases uVel' |
257 |
|
|
diagUnits = 'm/s ' |
258 |
|
|
diagCode = 'VM U1 ' |
259 |
|
|
diagMate = diagNum |
260 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
261 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
262 |
|
|
|
263 |
|
|
C SIqnet, Qnet, and QNETtave are identical. |
264 |
|
|
C With #undef NONLIN_FRSURF SIqnet is identical to -(TFLUX-TRELAX). |
265 |
|
|
C Except over land and under sea ice, SIqnet is also identical to |
266 |
|
|
C EXFlwnet+EXFswnet-EXFhl-EXFhs. |
267 |
|
|
diagName = 'SIqnet ' |
268 |
|
|
diagTitle = 'Ocean surface heatflux, turb+rad, >0 decreases theta' |
269 |
|
|
diagUnits = 'W/m^2 ' |
270 |
|
|
diagCode = 'SM U1 ' |
271 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
272 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
273 |
|
|
|
274 |
|
|
C SIqsw, Qsw, and QSWtave are identical. |
275 |
|
|
C Except under sea ice, SIqsw is also identical to EXFswnet. |
276 |
|
|
diagName = 'SIqsw ' |
277 |
|
|
diagTitle = 'Ocean surface shortwave radiat., >0 decreases theta' |
278 |
|
|
diagUnits = 'W/m^2 ' |
279 |
|
|
diagCode = 'SM U1 ' |
280 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
281 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
282 |
|
|
|
283 |
|
|
diagName = 'SIatmQnt' |
284 |
|
|
diagTitle = 'Net atmospheric heat flux, >0 decreases theta' |
285 |
|
|
diagUnits = 'W/m^2 ' |
286 |
|
|
diagCode = 'SM U1 ' |
287 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
288 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
289 |
|
|
|
290 |
|
|
diagName = 'SItflux ' |
291 |
|
|
diagTitle = 'Same as TFLUX but incl seaice (>0 incr T decr H)' |
292 |
|
|
diagUnits = 'W/m^2 ' |
293 |
|
|
diagCode = 'SM U1 ' |
294 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
295 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
296 |
|
|
|
297 |
|
|
#ifndef SEAICE_DISABLE_HEATCONSFIX |
298 |
|
|
diagName = 'SIaaflux' |
299 |
|
|
diagTitle = 'conservative ocn<->seaice adv. heat flux adjust.' |
300 |
|
|
diagUnits = 'W/m^2 ' |
301 |
|
|
diagCode = 'SM U1 ' |
302 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
303 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
304 |
|
|
#endif |
305 |
|
|
|
306 |
|
|
diagName = 'SIhl ' |
307 |
|
|
diagTitle = 'Latent heat flux into ocean, >0 increases theta' |
308 |
|
|
diagUnits = 'W/m^2 ' |
309 |
|
|
diagCode = 'SM U1 ' |
310 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
311 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
312 |
|
|
|
313 |
|
|
diagName = 'SIqneto ' |
314 |
|
|
diagTitle = 'Open Ocean Part of SIqnet, turb+rad, >0 decr theta' |
315 |
|
|
diagUnits = 'W/m^2 ' |
316 |
|
|
diagCode = 'SM U1 ' |
317 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
318 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
319 |
|
|
|
320 |
|
|
diagName = 'SIqneti ' |
321 |
|
|
diagTitle = 'Ice Covered Part of SIqnet, turb+rad, >0 decr theta' |
322 |
|
|
diagUnits = 'W/m^2 ' |
323 |
|
|
diagCode = 'SM U1 ' |
324 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
325 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
326 |
|
|
|
327 |
|
|
C pkg/diagnostics SIempmr, dumpfreq EmPmR, and tavefreq EmPmRtave |
328 |
|
|
C are identical but they differ from pkg/diagnostics EXFempmr, which |
329 |
|
|
C is EmPmR before impact of ice. |
330 |
|
|
diagName = 'SIempmr ' |
331 |
|
|
diagTitle = 'Ocean surface freshwater flux, > 0 increases salt' |
332 |
|
|
diagUnits = 'kg/m^2/s ' |
333 |
|
|
diagCode = 'SM U1 ' |
334 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
335 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
336 |
|
|
|
337 |
|
|
diagName = 'SIatmFW ' |
338 |
|
|
diagTitle = 'Net freshwater flux from atmosphere & land (+=down)' |
339 |
|
|
diagUnits = 'kg/m^2/s ' |
340 |
|
|
diagCode = 'SM U1 ' |
341 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
342 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
343 |
|
|
|
344 |
|
|
diagName = 'SIsnPrcp' |
345 |
|
|
diagTitle = 'Snow precip. (+=dw) over Sea-Ice (area weighted)' |
346 |
|
|
diagUnits = 'kg/m^2/s ' |
347 |
|
|
diagCode = 'SM U1 ' |
348 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
349 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
350 |
|
|
|
351 |
|
|
diagName = 'SIfwSubl' |
352 |
|
|
diagTitle ='Potential sublimation freshwater flux, >0 decr. ice' |
353 |
|
|
diagUnits = 'kg/m^2/s ' |
354 |
|
|
diagCode = 'SM U1 ' |
355 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
356 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
357 |
|
|
|
358 |
|
|
diagName = 'SIacSubl' |
359 |
|
|
diagTitle = 'Actual sublimation freshwater flux, >0 decr. ice' |
360 |
|
|
diagUnits = 'kg/m^2/s ' |
361 |
|
|
diagCode = 'SM U1 ' |
362 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
363 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
364 |
|
|
|
365 |
|
|
diagName = 'SIrsSubl' |
366 |
|
|
diagTitle = 'Residual subl. freshwater flux, >0 taken from ocn' |
367 |
|
|
diagUnits = 'kg/m^2/s ' |
368 |
|
|
diagCode = 'SM U1 ' |
369 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
370 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
371 |
|
|
|
372 |
|
|
diagName = 'SIactLHF' |
373 |
|
|
diagTitle = 'Actual latent heat flux over ice' |
374 |
|
|
diagUnits = 'W/m^2 ' |
375 |
|
|
diagCode = 'SM U1 ' |
376 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
377 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
378 |
|
|
|
379 |
|
|
diagName = 'SImaxLHF' |
380 |
|
|
diagTitle = 'Maximum latent heat flux over ice' |
381 |
|
|
diagUnits = 'W/m^2 ' |
382 |
|
|
diagCode = 'SM U1 ' |
383 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
384 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
385 |
|
|
|
386 |
|
|
#ifdef ALLOW_SITRACER |
387 |
|
|
DO iTr = 1, SItrNumInUse |
388 |
|
|
IF (SItrMate(iTr).EQ.'HEFF') then |
389 |
|
|
C-- Set default name & tracer Units: |
390 |
|
|
WRITE(diagUnits,'(A)') 'kg/m^2/s' |
391 |
|
|
C-- use units from data.seaice : |
392 |
|
|
ilnb = ILNBLNK(SItrUnit(iTr)) |
393 |
|
|
IF ( ilnb.GE.1 ) THEN |
394 |
|
|
WRITE(diagUnits,'(2A)') SItrUnit(iTr)(1:ilnb),'.kg/m^2/s' |
395 |
|
|
ENDIF |
396 |
|
|
C-- |
397 |
|
|
WRITE(diagName,'(A4,I2.2,A2)') 'SItr',iTr,'Fx' |
398 |
|
|
WRITE(diagTitle,'(A4,I2.2,A)') 'SItr',iTr, |
399 |
|
|
I ' flux out of ice pack (that may enter ocean)' |
400 |
|
|
diagCode = 'SM M1 ' |
401 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, diagName, |
402 |
|
|
I diagCode, diagUnits, diagTitle, 0, myThid ) |
403 |
|
|
|
404 |
|
|
ENDIF |
405 |
|
|
ENDDO |
406 |
|
|
#endif |
407 |
|
|
|
408 |
|
|
C============== ice growth/melt ============== |
409 |
|
|
|
410 |
|
|
diagName = 'SIaQbOCN' |
411 |
|
|
diagTitle = 'Potential HEFF rate of change by ocean ice flux' |
412 |
|
|
diagUnits = 'm/s ' |
413 |
|
|
diagCode = 'SM M1 ' |
414 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
415 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
416 |
|
|
|
417 |
|
|
diagName = 'SIaQbATC' |
418 |
|
|
diagTitle = 'Potential HEFF rate of change by atm flux over ice' |
419 |
|
|
diagUnits = 'm/s ' |
420 |
|
|
diagCode = 'SM M1 ' |
421 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
422 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
423 |
|
|
|
424 |
|
|
diagName = 'SIaQbATO' |
425 |
|
|
diagTitle = 'Potential HEFF rate of change by open ocn atm flux' |
426 |
|
|
diagUnits = 'm/s ' |
427 |
|
|
diagCode = 'SM M1 ' |
428 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
429 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
430 |
|
|
|
431 |
|
|
diagName = 'SIdHbOCN' |
432 |
|
|
diagTitle = 'HEFF rate of change by ocean ice flux' |
433 |
|
|
diagUnits = 'm/s ' |
434 |
|
|
diagCode = 'SM M1 ' |
435 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
436 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
437 |
|
|
|
438 |
|
|
diagName = 'SIdSbATC' |
439 |
|
|
diagTitle = 'HSNOW rate of change by atm flux over sea ice' |
440 |
|
|
diagUnits = 'm/s ' |
441 |
|
|
diagCode = 'SM M1 ' |
442 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
443 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
444 |
|
|
|
445 |
|
|
diagName = 'SIdSbOCN' |
446 |
|
|
diagTitle = 'HSNOW rate of change by ocean ice flux' |
447 |
|
|
diagUnits = 'm/s ' |
448 |
|
|
diagCode = 'SM M1 ' |
449 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
450 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
451 |
|
|
|
452 |
|
|
diagName = 'SIdHbATC' |
453 |
|
|
diagTitle = 'HEFF rate of change by atm flux over sea ice' |
454 |
|
|
diagUnits = 'm/s ' |
455 |
|
|
diagCode = 'SM M1 ' |
456 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
457 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
458 |
|
|
|
459 |
|
|
diagName = 'SIdHbATO' |
460 |
|
|
diagTitle = 'HEFF rate of change by open ocn atm flux' |
461 |
|
|
diagUnits = 'm/s ' |
462 |
|
|
diagCode = 'SM M1 ' |
463 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
464 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
465 |
|
|
|
466 |
|
|
diagName = 'SIdHbFLO' |
467 |
|
|
diagTitle = 'HEFF rate of change by flooding snow' |
468 |
|
|
diagUnits = 'm/s ' |
469 |
|
|
diagCode = 'SM M1 ' |
470 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
471 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
472 |
|
|
|
473 |
|
|
C=============== expansion/contraction ============ |
474 |
|
|
|
475 |
|
|
diagName = 'SIdAbATO' |
476 |
|
|
diagTitle = 'Potential AREA rate of change by open ocn atm flux' |
477 |
|
|
diagUnits = 'm^2/m^2/s ' |
478 |
|
|
diagCode = 'SM M1 ' |
479 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
480 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
481 |
|
|
|
482 |
|
|
diagName = 'SIdAbATC' |
483 |
|
|
diagTitle = 'Potential AREA rate of change by atm flux over ice' |
484 |
|
|
diagUnits = 'm^2/m^2/s ' |
485 |
|
|
diagCode = 'SM M1 ' |
486 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
487 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
488 |
|
|
|
489 |
|
|
diagName = 'SIdAbOCN' |
490 |
|
|
diagTitle = 'Potential AREA rate of change by ocean ice flux' |
491 |
|
|
diagUnits = 'm^2/m^2/s ' |
492 |
|
|
diagCode = 'SM M1 ' |
493 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
494 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
495 |
|
|
|
496 |
|
|
diagName = 'SIdA' |
497 |
|
|
diagTitle = 'AREA rate of change (net)' |
498 |
|
|
diagUnits = 'm^2/m^2/s ' |
499 |
|
|
diagCode = 'SM M1 ' |
500 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
501 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
502 |
|
|
|
503 |
|
|
C============== advection/diffusion ============ |
504 |
|
|
|
505 |
|
|
C effective thickness |
506 |
|
|
flxUnits = '.m^2/s ' |
507 |
|
|
locName = 'eff ice thickn ' |
508 |
|
|
WRITE(diagUnits,'(2A)') 'm',flxUnits |
509 |
|
|
diagSufx = SEAICE_DIAG_SUFX( GAD_HEFF, myThid ) |
510 |
|
|
|
511 |
|
|
C-- advective flux |
512 |
|
|
diagName = 'ADVx'//diagSufx |
513 |
|
|
diagTitle = 'Zonal Advective Flux of '//locName |
514 |
|
|
diagCode = 'UU M1 ' |
515 |
|
|
diagMate = diagNum + 2 |
516 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
517 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
518 |
|
|
|
519 |
|
|
diagName = 'ADVy'//diagSufx |
520 |
|
|
diagTitle = 'Meridional Advective Flux of '//locName |
521 |
|
|
diagCode = 'VV M1 ' |
522 |
|
|
diagMate = diagNum |
523 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
524 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
525 |
|
|
|
526 |
|
|
diagName = 'SIuheff ' |
527 |
|
|
diagTitle = 'Zonal Transport of eff ice thickn (centered)' |
528 |
|
|
diagUnits = 'm^2/s ' |
529 |
|
|
diagCode = 'UU M1 ' |
530 |
|
|
diagMate = diagNum + 2 |
531 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
532 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
533 |
|
|
|
534 |
|
|
diagName = 'SIvheff ' |
535 |
|
|
diagTitle = 'Meridional Transport of eff ice thickn (centered)' |
536 |
|
|
diagUnits = 'm^2/s ' |
537 |
|
|
diagCode = 'VV M1 ' |
538 |
|
|
diagMate = diagNum |
539 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
540 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
541 |
|
|
|
542 |
|
|
C-- Diffusive flux: |
543 |
|
|
diagName = 'DFxE'//diagSufx |
544 |
|
|
diagTitle = 'Zonal Diffusive Flux of '//locName |
545 |
|
|
diagCode = 'UU M1 ' |
546 |
|
|
diagMate = diagNum + 2 |
547 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
548 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
549 |
|
|
|
550 |
|
|
diagName = 'DFyE'//diagSufx |
551 |
|
|
diagTitle = 'Meridional Diffusive Flux of '//locName |
552 |
|
|
diagCode = 'VV M1 ' |
553 |
|
|
diagMate = diagNum |
554 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
555 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
556 |
|
|
|
557 |
|
|
C fractional ice covered area (ice concentration) |
558 |
|
|
locName = 'fract area ' |
559 |
|
|
WRITE(diagUnits,'(2A)') 'm^2/m^2',flxUnits |
560 |
|
|
diagSufx = SEAICE_DIAG_SUFX( GAD_AREA, myThid ) |
561 |
|
|
|
562 |
|
|
C-- advective flux |
563 |
|
|
diagName = 'ADVx'//diagSufx |
564 |
|
|
diagTitle = 'Zonal Advective Flux of '//locName |
565 |
|
|
diagCode = 'UU M1 ' |
566 |
|
|
diagMate = diagNum + 2 |
567 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
568 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
569 |
|
|
|
570 |
|
|
diagName = 'ADVy'//diagSufx |
571 |
|
|
diagTitle = 'Meridional Advective Flux of '//locName |
572 |
|
|
diagCode = 'VV M1 ' |
573 |
|
|
diagMate = diagNum |
574 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
575 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
576 |
|
|
|
577 |
|
|
C-- Diffusive flux: |
578 |
|
|
diagName = 'DFxE'//diagSufx |
579 |
|
|
diagTitle = 'Zonal Diffusive Flux of '//locName |
580 |
|
|
diagCode = 'UU M1 ' |
581 |
|
|
diagMate = diagNum + 2 |
582 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
583 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
584 |
|
|
|
585 |
|
|
diagName = 'DFyE'//diagSufx |
586 |
|
|
diagTitle = 'Meridional Diffusive Flux of '//locName |
587 |
|
|
diagCode = 'VV M1 ' |
588 |
|
|
diagMate = diagNum |
589 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
590 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
591 |
|
|
|
592 |
|
|
C effective snow thickness |
593 |
|
|
locName = 'eff snow thickn' |
594 |
|
|
WRITE(diagUnits,'(2A)') 'm',flxUnits |
595 |
|
|
diagSufx = SEAICE_DIAG_SUFX( GAD_SNOW, myThid ) |
596 |
|
|
|
597 |
|
|
C-- advective flux |
598 |
|
|
diagName = 'ADVx'//diagSufx |
599 |
|
|
diagTitle = 'Zonal Advective Flux of '//locName |
600 |
|
|
diagCode = 'UU M1 ' |
601 |
|
|
diagMate = diagNum + 2 |
602 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
603 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
604 |
|
|
|
605 |
|
|
diagName = 'ADVy'//diagSufx |
606 |
|
|
diagTitle = 'Meridional Advective Flux of '//locName |
607 |
|
|
diagCode = 'VV M1 ' |
608 |
|
|
diagMate = diagNum |
609 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
610 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
611 |
|
|
|
612 |
|
|
C-- Diffusive flux: |
613 |
|
|
diagName = 'DFxE'//diagSufx |
614 |
|
|
diagTitle = 'Zonal Diffusive Flux of '//locName |
615 |
|
|
diagCode = 'UU M1 ' |
616 |
|
|
diagMate = diagNum + 2 |
617 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
618 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
619 |
|
|
|
620 |
|
|
diagName = 'DFyE'//diagSufx |
621 |
|
|
diagTitle = 'Meridional Diffusive Flux of '//locName |
622 |
|
|
diagCode = 'VV M1 ' |
623 |
|
|
diagMate = diagNum |
624 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
625 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
626 |
|
|
|
627 |
|
|
C sea ice salinity |
628 |
|
|
locName = 'seaice salinity' |
629 |
|
|
WRITE(diagUnits,'(2A)') 'psu',flxUnits |
630 |
|
|
diagSufx = SEAICE_DIAG_SUFX( GAD_SALT, myThid ) |
631 |
|
|
|
632 |
|
|
C-- advective flux |
633 |
|
|
diagName = 'ADVx'//diagSufx |
634 |
|
|
diagTitle = 'Zonal Advective Flux of '//locName |
635 |
|
|
diagCode = 'UU M1 ' |
636 |
|
|
diagMate = diagNum + 2 |
637 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
638 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
639 |
|
|
|
640 |
|
|
diagName = 'ADVy'//diagSufx |
641 |
|
|
diagTitle = 'Meridional Advective Flux of '//locName |
642 |
|
|
diagCode = 'VV M1 ' |
643 |
|
|
diagMate = diagNum |
644 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
645 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
646 |
|
|
|
647 |
|
|
C-- Diffusive flux: |
648 |
|
|
diagName = 'DFxE'//diagSufx |
649 |
|
|
diagTitle = 'Zonal Diffusive Flux of '//locName |
650 |
|
|
diagCode = 'UU M1 ' |
651 |
|
|
diagMate = diagNum + 2 |
652 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
653 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
654 |
|
|
|
655 |
|
|
diagName = 'DFyE'//diagSufx |
656 |
|
|
diagTitle = 'Meridional Diffusive Flux of '//locName |
657 |
|
|
diagCode = 'VV M1 ' |
658 |
|
|
diagMate = diagNum |
659 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
660 |
|
|
I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid ) |
661 |
|
|
|
662 |
|
|
C=============== dynamics ============ |
663 |
|
|
|
664 |
|
|
diagName = 'SIpress ' |
665 |
|
|
diagTitle = 'SEAICE strength (with upper and lower limit)' |
666 |
|
|
diagUnits = 'm^2/s^2 ' |
667 |
|
|
diagCode = 'SM M1 ' |
668 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
669 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
670 |
|
|
|
671 |
|
|
diagName = 'SIzeta ' |
672 |
|
|
diagTitle = 'SEAICE nonlinear bulk viscosity' |
673 |
|
|
diagUnits = 'm^2/s ' |
674 |
|
|
diagCode = 'SM M1 ' |
675 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
676 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
677 |
|
|
|
678 |
|
|
diagName = 'SIeta ' |
679 |
|
|
diagTitle = 'SEAICE nonlinear shear viscosity' |
680 |
|
|
diagUnits = 'm^2/s ' |
681 |
|
|
diagCode = 'SM M1 ' |
682 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
683 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
684 |
|
|
|
685 |
|
|
diagName = 'SIsigI ' |
686 |
|
|
diagTitle = 'SEAICE normalized principle stress, component one' |
687 |
|
|
diagUnits = 'no units ' |
688 |
|
|
diagCode = 'SM M1 ' |
689 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
690 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
691 |
|
|
|
692 |
|
|
diagName = 'SIsigII ' |
693 |
|
|
diagTitle = 'SEAICE normalized principle stress, component two' |
694 |
|
|
diagUnits = 'no units ' |
695 |
|
|
diagCode = 'SM M1 ' |
696 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
697 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
698 |
|
|
|
699 |
torge |
1.3 |
#ifdef SEAICE_ITD |
700 |
|
|
C=============== ice thickness categories ============ |
701 |
|
|
|
702 |
|
|
diagName = 'SIheffN ' |
703 |
|
|
diagTitle = 'SEAICE effective ice thickness per category' |
704 |
|
|
diagUnits = 'm ' |
705 |
|
|
diagCode = 'SM MX ' |
706 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
707 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
708 |
|
|
CALL DIAGNOSTICS_SETKLEV( diagName, nITD, myThid ) |
709 |
|
|
|
710 |
|
|
diagName = 'SIareaN ' |
711 |
|
|
diagTitle = |
712 |
|
|
I 'SEAICE fractional ice-covered area per category [0 to 1]' |
713 |
|
|
diagUnits = 'm^2/m^2 ' |
714 |
|
|
diagCode = 'SM MX ' |
715 |
|
|
CALL DIAGNOSTICS_ADDTOLIST( diagNum, |
716 |
|
|
I diagName, diagCode, diagUnits, diagTitle, 0, myThid ) |
717 |
|
|
CALL DIAGNOSTICS_SETKLEV( diagName, nITD, myThid ) |
718 |
|
|
#endif |
719 |
dimitri |
1.1 |
|
720 |
|
|
#endif /* ALLOW_DIAGNOSTICS */ |
721 |
|
|
|
722 |
|
|
RETURN |
723 |
|
|
END |
724 |
|
|
|
725 |
|
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
726 |
|
|
CBOP 0 |
727 |
|
|
C !ROUTINE: SEAICE_DIAG_SUFX |
728 |
|
|
|
729 |
|
|
C !INTERFACE: |
730 |
|
|
CHARACTER*4 FUNCTION SEAICE_DIAG_SUFX( tracerId, myThid ) |
731 |
|
|
|
732 |
|
|
C !DESCRIPTION: |
733 |
|
|
C *==========================================================* |
734 |
|
|
C | FUNCTION SEAICE_DIAG_SUFX |
735 |
|
|
C | o Return diagnostic suffix (4 character long) for the |
736 |
|
|
C | "tracerId" tracer (used to build diagnostic names). |
737 |
|
|
C *==========================================================* |
738 |
|
|
|
739 |
|
|
C !USES: |
740 |
|
|
IMPLICIT NONE |
741 |
|
|
#include "EEPARAMS.h" |
742 |
heimbach |
1.4 |
#include "SEAICE_SIZE.h" |
743 |
dimitri |
1.1 |
#include "SEAICE_PARAMS.h" |
744 |
|
|
|
745 |
|
|
C !INPUT PARAMETERS: |
746 |
|
|
C tracerId :: tracer identifier |
747 |
|
|
C myThid :: my thread Id number |
748 |
|
|
INTEGER tracerId |
749 |
|
|
INTEGER myThid |
750 |
|
|
CEOP |
751 |
|
|
|
752 |
|
|
C !LOCAL VARIABLES: |
753 |
|
|
|
754 |
|
|
C-- Set diagnostic suffix (4 character long) for the "tracerId" tracer |
755 |
|
|
IF ( tracerId.EQ.GAD_HEFF ) THEN |
756 |
|
|
SEAICE_DIAG_SUFX = 'HEFF' |
757 |
|
|
ELSEIF( tracerId.EQ.GAD_AREA ) THEN |
758 |
|
|
SEAICE_DIAG_SUFX = 'AREA' |
759 |
|
|
ELSEIF( tracerId.EQ.GAD_SNOW ) THEN |
760 |
|
|
SEAICE_DIAG_SUFX = 'SNOW' |
761 |
|
|
ELSEIF( tracerId.EQ.GAD_SALT ) THEN |
762 |
|
|
SEAICE_DIAG_SUFX = 'SSLT' |
763 |
|
|
ELSE |
764 |
|
|
SEAICE_DIAG_SUFX = 'aaaa' |
765 |
|
|
ENDIF |
766 |
|
|
|
767 |
|
|
RETURN |
768 |
|
|
END |