25 logical,
intent(in) :: Lwrite
27 integer,
intent(in) :: model, inp, out
31 integer :: Npts, Nval, ng, status
35 integer :: tile, LBi, UBi, LBj, UBj
38 real(r8),
dimension(200) :: Rval
40 character (len=40) :: KeyWord
41 character (len=256) :: line
42 character (len=256),
dimension(200) :: Cval
44 character (len=*),
parameter :: MyFile = &
70 READ (inp,
'(a)',err=10,
END=20) line
71 status=decode_line(line, keyword, nval, cval, rval)
73 SELECT CASE (trim(keyword))
75 npts=load_i(nval, rval, ngrids, nevp)
77 npts=load_r(nval, rval, ngrids, airrho)
79 npts=load_r(nval, rval, ngrids, icerho)
81 npts=load_r(nval, rval, ngrids, snowdryrho)
83 npts=load_r(nval, rval, ngrids, snowwetrho)
85 npts=load_r(nval, rval, ngrids, cd_ai)
87 npts=load_r(nval, rval, ngrids, cd_io)
89 npts=load_r(nval, rval, ngrids, astrength)
91 npts=load_r(nval, rval, ngrids, zetamin)
93 npts=load_r(nval, rval, ngrids, zetamax)
95 npts=load_r(nval, rval, ngrids, ellip_sq)
97 npts=load_r(nval, rval, ngrids, min_ai)
99 npts=load_r(nval, rval, ngrids, max_ai)
101 npts=load_r(nval, rval, ngrids, min_hi)
103 npts=load_r(nval, rval, ngrids, max_hmelt)
105 npts=load_r(nval, rval, ngrids, stressang)
107 stressang(ng) = stressang(ng)*deg2rad
110 npts=load_r(nval, rval, 1, rvalue)
112 CASE (
'spec_heat_air')
113 npts=load_r(nval, rval, 1, rvalue)
114 spec_heat_air=rvalue(1)
116 npts=load_r(nval, rval, 1, rvalue)
117 trans_coeff=rvalue(1)
119 npts=load_r(nval, rval, 1, rvalue)
120 sublimation=rvalue(1)
121 CASE (
'Hout(idUice)')
122 IF (iduice.eq.0)
THEN
123 IF (master)
WRITE (out,80)
'idUice'
127 npts=load_l(nval, cval, ngrids, hout(iduice,:))
128 CASE (
'Hout(idVice)')
129 IF (idvice.eq.0)
THEN
130 IF (master)
WRITE (out,80)
'idVice'
134 npts=load_l(nval, cval, ngrids, hout(idvice,:))
135 CASE (
'Hout(idUiER)')
136 IF (iduier.eq.0)
THEN
137 IF (master)
WRITE (out,80)
'idUiER'
141 npts=load_l(nval, cval, ngrids, hout(iduier,:))
142 CASE (
'Hout(idViNR)')
143 IF (idvinr.eq.0)
THEN
144 IF (master)
WRITE (out,80)
'idViNR'
148 npts=load_l(nval, cval, ngrids, hout(idvinr,:))
149 CASE (
'Hout(idAice)')
150 IF (idaice.eq.0)
THEN
151 IF (master)
WRITE (out,80)
'idAice'
155 npts=load_l(nval, cval, ngrids, hout(idaice,:))
156 CASE (
'Hout(idIage)')
157 IF (idiage.eq.0)
THEN
158 IF (master)
WRITE (out,80)
'idIage'
162 npts=load_l(nval, cval, ngrids, hout(idiage,:))
163 CASE (
'Hout(idHice)')
164 IF (idhice.eq.0)
THEN
165 IF (master)
WRITE (out,80)
'idHice'
169 npts=load_l(nval, cval, ngrids, hout(idhice,:))
170 CASE (
'Hout(idHmel)')
171 IF (idhmel.eq.0)
THEN
172 IF (master)
WRITE (out,80)
'idHmel'
176 npts=load_l(nval, cval, ngrids, hout(idhmel,:))
177 CASE (
'Hout(idHsno)')
178 IF (idhsno.eq.0)
THEN
179 IF (master)
WRITE (out,80)
'idHsno'
183 npts=load_l(nval, cval, ngrids, hout(idhsno,:))
184 CASE (
'Hout(idTice)')
185 IF (idtice.eq.0)
THEN
186 IF (master)
WRITE (out,80)
'idTice'
190 npts=load_l(nval, cval, ngrids, hout(idtice,:))
191 CASE (
'Hout(idISxx)')
192 IF (idisxx.eq.0)
THEN
193 IF (master)
WRITE (out,80)
'idISxx'
197 npts=load_l(nval, cval, ngrids, hout(idisxx,:))
198 CASE (
'Hout(idISxy)')
199 IF (idisxy.eq.0)
THEN
200 IF (master)
WRITE (out,80)
'idISxy'
204 npts=load_l(nval, cval, ngrids, hout(idisxy,:))
205 CASE (
'Hout(idISyy)')
206 IF (idisyy.eq.0)
THEN
207 IF (master)
WRITE (out,80)
'idISyy'
211 npts=load_l(nval, cval, ngrids, hout(idisyy,:))
212 CASE (
'Hout(idIsst)')
213 IF (idisst.eq.0)
THEN
214 IF (master)
WRITE (out,80)
'idIsst'
218 npts=load_l(nval, cval, ngrids, hout(idisst,:))
219 CASE (
'Hout(idIOmf)')
220 IF (idiomf.eq.0)
THEN
221 IF (master)
WRITE (out,80)
'idIOmf'
225 npts=load_l(nval, cval, ngrids, hout(idiomf,:))
226 CASE (
'Hout(idIOfv)')
227 IF (idiofv.eq.0)
THEN
228 IF (master)
WRITE (out,80)
'idIOfv'
232 npts=load_l(nval, cval, ngrids, hout(idiofv,:))
233 CASE (
'Hout(idIOmt)')
234 IF (idiomt.eq.0)
THEN
235 IF (master)
WRITE (out,80)
'idIOmt'
239 npts=load_l(nval, cval, ngrids, hout(idiomt,:))
240 CASE (
'Hout(idS0mk)')
241 IF (ids0mk.eq.0)
THEN
242 IF (master)
WRITE (out,80)
'idS0mk'
246 npts=load_l(nval, cval, ngrids, hout(ids0mk,:))
247 CASE (
'Hout(idT0mk)')
248 IF (idt0mk.eq.0)
THEN
249 IF (master)
WRITE (out,80)
'idT0mk'
253 npts=load_l(nval, cval, ngrids, hout(idt0mk,:))
254 CASE (
'Hout(idWdiv)')
255 IF (idwdiv.eq.0)
THEN
256 IF (master)
WRITE (out,80)
'idWdiv'
260 npts=load_l(nval, cval, ngrids, hout(idwdiv,:))
261 CASE (
'Hout(idW_fr)')
262 IF (idw_fr.eq.0)
THEN
263 IF (master)
WRITE (out,80)
'idW_fr'
267 npts=load_l(nval, cval, ngrids, hout(idw_fr,:))
268 CASE (
'Hout(idW_ai)')
269 IF (idw_ai.eq.0)
THEN
270 IF (master)
WRITE (out,80)
'idW_ai'
274 npts=load_l(nval, cval, ngrids, hout(idw_ai,:))
275 CASE (
'Hout(idW_ao)')
276 IF (idw_ao.eq.0)
THEN
277 IF (master)
WRITE (out,80)
'idW_ao'
281 npts=load_l(nval, cval, ngrids, hout(idw_ao,:))
282 CASE (
'Hout(idW_io)')
283 IF (idw_io.eq.0)
THEN
284 IF (master)
WRITE (out,80)
'idW_io'
288 npts=load_l(nval, cval, ngrids, hout(idw_io,:))
289 CASE (
'Hout(idW_ro)')
290 IF (idw_ro.eq.0)
THEN
291 IF (master)
WRITE (out,80)
'idW_ro'
295 npts=load_l(nval, cval, ngrids, hout(idw_ro,:))
296 CASE (
'Qout(idUice)')
297 npts=load_l(nval, cval, ngrids, qout(iduice,:))
298 CASE (
'Qout(idVice)')
299 npts=load_l(nval, cval, ngrids, qout(idvice,:))
300 CASE (
'Qout(idUiER)')
301 npts=load_l(nval, cval, ngrids, qout(iduier,:))
302 CASE (
'Qout(idViNR)')
303 npts=load_l(nval, cval, ngrids, qout(idvinr,:))
304 CASE (
'Qout(idAice)')
305 npts=load_l(nval, cval, ngrids, qout(idaice,:))
306 CASE (
'Qout(idIage)')
307 npts=load_l(nval, cval, ngrids, qout(idiage,:))
308 CASE (
'Qout(idHice)')
309 npts=load_l(nval, cval, ngrids, qout(idhice,:))
310 CASE (
'Qout(idHmel)')
311 npts=load_l(nval, cval, ngrids, qout(idhmel,:))
312 CASE (
'Qout(idHsno)')
313 npts=load_l(nval, cval, ngrids, qout(idhsno,:))
314 CASE (
'Qout(idTice)')
315 npts=load_l(nval, cval, ngrids, qout(idtice,:))
316 CASE (
'Qout(idISxx)')
317 npts=load_l(nval, cval, ngrids, qout(idisxx,:))
318 CASE (
'Qout(idISxy)')
319 npts=load_l(nval, cval, ngrids, qout(idisxy,:))
320 CASE (
'Qout(idISyy)')
321 npts=load_l(nval, cval, ngrids, qout(idisyy,:))
322 CASE (
'Qout(idIsst)')
323 npts=load_l(nval, cval, ngrids, qout(idisst,:))
324 CASE (
'Qout(idIOmf)')
325 npts=load_l(nval, cval, ngrids, qout(idiomf,:))
326 CASE (
'Qout(idIOfv)')
327 npts=load_l(nval, cval, ngrids, qout(idiofv,:))
328 CASE (
'Qout(idIOmt)')
329 npts=load_l(nval, cval, ngrids, qout(idiomt,:))
330 CASE (
'Qout(idS0mk)')
331 npts=load_l(nval, cval, ngrids, qout(ids0mk,:))
332 CASE (
'Qout(idT0mk)')
333 npts=load_l(nval, cval, ngrids, qout(idt0mk,:))
334 CASE (
'Qout(idWdiv)')
335 npts=load_l(nval, cval, ngrids, qout(idwdiv,:))
336 CASE (
'Qout(idW_fr)')
337 npts=load_l(nval, cval, ngrids, qout(idw_fr,:))
338 CASE (
'Qout(idW_ai)')
339 npts=load_l(nval, cval, ngrids, qout(idw_ai,:))
340 CASE (
'Qout(idW_ao)')
341 npts=load_l(nval, cval, ngrids, qout(idw_ao,:))
342 CASE (
'Qout(idW_io)')
343 npts=load_l(nval, cval, ngrids, qout(idw_io,:))
344 CASE (
'Qout(idW_ro)')
345 npts=load_l(nval, cval, ngrids, qout(idw_ro,:))
347 CASE (
'Aout(idUice)')
348 npts=load_l(nval, cval, ngrids, aout(iduice,:))
349 CASE (
'Aout(idVice)')
350 npts=load_l(nval, cval, ngrids, aout(idvice,:))
351 CASE (
'Aout(idUiER)')
352 npts=load_l(nval, cval, ngrids, aout(iduier,:))
353 CASE (
'Aout(idViNR)')
354 npts=load_l(nval, cval, ngrids, aout(idvinr,:))
355 CASE (
'Aout(idAice)')
356 npts=load_l(nval, cval, ngrids, aout(idaice,:))
357 CASE (
'Aout(idHice)')
358 npts=load_l(nval, cval, ngrids, aout(idhice,:))
359 CASE (
'Aout(idHmel)')
360 npts=load_l(nval, cval, ngrids, aout(idhmel,:))
361 CASE (
'Aout(idHsno)')
362 npts=load_l(nval, cval, ngrids, aout(idhsno,:))
363 CASE (
'Aout(idTice)')
364 npts=load_l(nval, cval, ngrids, aout(idtice,:))
365 CASE (
'Aout(idISxx)')
366 npts=load_l(nval, cval, ngrids, aout(idisxx,:))
367 CASE (
'Aout(idISxy)')
368 npts=load_l(nval, cval, ngrids, aout(idisxy,:))
369 CASE (
'Aout(idISyy)')
370 npts=load_l(nval, cval, ngrids, aout(idisyy,:))
371 CASE (
'Aout(idIsst)')
372 npts=load_l(nval, cval, ngrids, aout(idisst,:))
373 CASE (
'Aout(idIOmf)')
374 npts=load_l(nval, cval, ngrids, aout(idiomf,:))
375 CASE (
'Aout(idIOfv)')
376 npts=load_l(nval, cval, ngrids, aout(idiofv,:))
377 CASE (
'Aout(idIOmt)')
378 npts=load_l(nval, cval, ngrids, aout(idiomt,:))
379 CASE (
'Aout(idIage)')
380 npts=load_l(nval, cval, ngrids, aout(idiage,:))
381 CASE (
'Aout(idS0mk)')
382 npts=load_l(nval, cval, ngrids, aout(ids0mk,:))
383 CASE (
'Aout(idT0mk)')
384 npts=load_l(nval, cval, ngrids, aout(idt0mk,:))
385 CASE (
'Aout(idWdiv)')
386 npts=load_l(nval, cval, ngrids, aout(idwdiv,:))
387 CASE (
'Aout(idW_fr)')
388 npts=load_l(nval, cval, ngrids, aout(idw_fr,:))
389 CASE (
'Aout(idW_ai)')
390 npts=load_l(nval, cval, ngrids, aout(idw_ai,:))
391 CASE (
'Aout(idW_ao)')
392 npts=load_l(nval, cval, ngrids, aout(idw_ao,:))
393 CASE (
'Aout(idW_io)')
394 npts=load_l(nval, cval, ngrids, aout(idw_io,:))
395 CASE (
'Aout(idW_ro)')
396 npts=load_l(nval, cval, ngrids, aout(idw_ro,:))
401 10
IF (master)
WRITE (out,30) line
419 WRITE (out,50) nevp(ng),
'nEVP', &
420 &
'Number of elastic steps per plastic step in EVP.'
421 WRITE (out,60) airrho(ng),
'AirRho', &
422 &
'Air density (kg/m3).'
423 WRITE (out,60) icerho(ng),
'IceRho', &
424 &
'Density of sea ice (kg/m3).'
425 WRITE (out,60) snowdryrho(ng),
'SnowDryRho', &
426 &
'Dry snow density (kg/m3).'
427 WRITE (out,60) snowwetrho(ng),
'SnowWetRho', &
428 &
'Wet snow density (kg/m3).'
429 WRITE (out,60) cd_ai(ng),
'Cd_ai', &
430 &
'Air-Ice drag coefficient (nondimensional).'
431 WRITE (out,60) cd_io(ng),
'Cd_io', &
432 &
'Ice-Ocean drag coefficient (nondimensional).'
433 WRITE (out,60) astrength(ng),
'Astrength', &
434 &
'Ice strength exponential weighting (nondimensional).'
435 WRITE (out,60) zetamin(ng),
'zetaMin', &
436 &
'Minimum ice shear strength (N/m2) limiter.'
437 WRITE (out,60) zetamax(ng),
'zetaMax', &
438 &
'Maximum ice shear strength (N/m2) limiter.'
439 WRITE (out,60) ellip_sq(ng),
'ellip_sq', &
440 &
'Ellipticity squared of yield curve (nondimensional).'
441 WRITE (out,60) min_ai(ng),
'min_ai', &
442 &
'Minimum ice concentration (nondimensional) limiter.'
443 WRITE (out,60) max_ai(ng),
'max_ai', &
444 &
'Maximum ice concentration (nondimensional) limiter.'
445 WRITE (out,60) min_hi(ng),
'min_hi', &
446 &
'Minimum average ice thickness (m) limiter.'
447 WRITE (out,60) max_hmelt(ng),
'max_hmelt', &
448 &
'Maximum surface melt water thickness (m) limiter.'
449 WRITE (out,60) stressang(ng)*rad2deg,
'stressAng', &
450 &
'Turning angle for ice-water drag (degrees).'
451 WRITE (out,60) ice_emiss,
'ice_emiss', &
452 &
'Ice emissivity (nondimensional).'
453 WRITE (out,60) spec_heat_air,
'spec_heat_air', &
454 &
'Specific heat of air (J/kg/K).'
455 WRITE (out,60) trans_coeff,
'trans_coeff', &
456 &
'Heat transfer coefficient (nondimensional).'
457 WRITE (out,60) sublimation,
'sublimation', &
458 &
'Latent heat of sublimation (J/kg).'
460 IF (hout(iduice,ng))
WRITE (out,70) hout(iduice,ng), &
462 &
'Write out ice U-velocity component.'
463 IF (hout(idvice,ng))
WRITE (out,70) hout(idvice,ng), &
465 &
'Write out ice V-velocity component.'
466 IF (hout(iduier,ng))
WRITE (out,70) hout(iduier,ng), &
468 &
'Write out ice Eastward velocity component at RHO-points.'
469 IF (hout(idvinr,ng))
WRITE (out,70) hout(idvinr,ng), &
471 &
'Write out ice Northward velocity component at RHO-points.'
472 IF (hout(idaice,ng))
WRITE (out,70) hout(idaice,ng), &
474 &
'Write out ice concentration (fractional area coverage).'
475 IF (hout(idiage,ng))
WRITE (out,70) hout(idiage,ng), &
477 &
'Write out age of ice.'
478 IF (hout(idhice,ng))
WRITE (out,70) hout(idhice,ng), &
480 &
'Write out average ice thickness (ice mass per area).'
481 IF (hout(idhmel,ng))
WRITE (out,70) hout(idhmel,ng), &
483 &
'Write out melt pond water thickness on ice.'
484 IF (hout(idhsno,ng))
WRITE (out,70) hout(idhsno,ng), &
486 &
'Write out average snow coverage thickness.'
487 IF (hout(idtice,ng))
WRITE (out,70) hout(idtice,ng), &
489 &
'Write out interior ice temperature.'
490 IF (hout(idisxx,ng))
WRITE (out,70) hout(idisxx,ng), &
492 &
'Write out internal ice stress tensor, xx-component.'
493 IF (hout(idisxy,ng))
WRITE (out,70) hout(idisxy,ng), &
495 &
'Write out internal ice stress tensor, xy-component.'
496 IF (hout(idisyy,ng))
WRITE (out,70) hout(idisyy,ng), &
498 &
'Write out internal ice stress tensor, yy-component.'
499 IF (hout(idisst,ng))
WRITE (out,70) hout(idisst,ng), &
501 &
'Write out ice/snow surface temperature.'
502 IF (hout(idiomf,ng))
WRITE (out,70) hout(idiomf,ng), &
504 &
'Write out ice-ocean mass flux.'
505 IF (hout(idiofv,ng))
WRITE (out,70) hout(idiofv,ng), &
507 &
'Write out ice-ocean friction velocity.'
508 IF (hout(idiomt,ng))
WRITE (out,70) hout(idiomt,ng), &
510 &
'Write out ice-ocean momentum transfer coefficient.'
511 IF (hout(ids0mk,ng))
WRITE (out,70) hout(ids0mk,ng), &
513 &
'Write out salinity of molecular sublayer under ice.'
514 IF (hout(idt0mk,ng))
WRITE (out,70) hout(idt0mk,ng), &
516 &
'Write out temperature of molecular sublayer under ice.'
517 IF (hout(idwdiv,ng))
WRITE (out,70) hout(idwdiv,ng), &
519 &
'Write out rate of ice divergence.'
520 IF (hout(idw_fr,ng))
WRITE (out,70) hout(idw_fr,ng), &
522 &
'Write out rate of ice accretion by frazil ice growth.'
523 IF (hout(idw_ai,ng))
WRITE (out,70) hout(idw_ai,ng), &
525 &
'Write out rate of melt/freeze at air/ice interface.'
526 IF (hout(idw_ao,ng))
WRITE (out,70) hout(idw_ao,ng), &
528 &
'Write out rate of melt/freeze at air/ocean interface.'
529 IF (hout(idw_io,ng))
WRITE (out,70) hout(idw_io,ng), &
531 &
'Write out rate of melt/freeze at ice/ocean interface.'
532 IF (hout(idw_ro,ng))
WRITE (out,70) hout(idw_ro,ng), &
534 &
'Write out rate of melt/freeze runoff into ocean.'
536 IF (qout(iduice,ng))
WRITE (out,70) qout(iduice,ng), &
538 &
'Write out ice U-velocity component.'
539 IF (qout(idvice,ng))
WRITE (out,70) qout(idvice,ng), &
541 &
'Write out ice V-velocity component.'
542 IF (qout(iduier,ng))
WRITE (out,70) qout(iduier,ng), &
544 &
'Write out ice Eastward velocity component at RHO-points.'
545 IF (qout(idvinr,ng))
WRITE (out,70) qout(idvinr,ng), &
547 &
'Write out ice Northward velocity component at RHO-points.'
548 IF (qout(idaice,ng))
WRITE (out,70) qout(idaice,ng), &
550 &
'Write out ice concentration (fractional area coverage).'
551 IF (qout(idiage,ng))
WRITE (out,70) qout(idiage,ng), &
553 &
'Write out age of ice.'
554 IF (qout(idhice,ng))
WRITE (out,70) qout(idhice,ng), &
556 &
'Write out average ice thickness (ice mass per area).'
557 IF (qout(idhmel,ng))
WRITE (out,70) qout(idhmel,ng), &
559 &
'Write out surface melt water thickness on ice.'
560 IF (qout(idhsno,ng))
WRITE (out,70) qout(idhsno,ng), &
562 &
'Write out average snow coverage thickness.'
563 IF (qout(idtice,ng))
WRITE (out,70) qout(idtice,ng), &
565 &
'Write out interior ice temperature.'
566 IF (qout(idisxx,ng))
WRITE (out,70) qout(idisxx,ng), &
568 &
'Write out internal ice stress tensor, xx-component.'
569 IF (qout(idisxy,ng))
WRITE (out,70) qout(idisxy,ng), &
571 &
'Write out internal ice stress tensor, xy-component.'
572 IF (qout(idisyy,ng))
WRITE (out,70) qout(idisyy,ng), &
574 &
'Write out internal ice stress tensor, yy-component.'
575 IF (qout(idisst,ng))
WRITE (out,70) qout(idisst,ng), &
577 &
'Write out ice/snow surface temperature.'
578 IF (qout(idiomf,ng))
WRITE (out,70) qout(idiomf,ng), &
580 &
'Write out ice-ocean mass flux.'
581 IF (qout(idiofv,ng))
WRITE (out,70) qout(idiofv,ng), &
583 &
'Write out ice-ocean friction velocity.'
584 IF (qout(idiomt,ng))
WRITE (out,70) qout(idiomt,ng), &
586 &
'Write out ice-ocean momentum transfer coefficient.'
587 IF (qout(ids0mk,ng))
WRITE (out,70) qout(ids0mk,ng), &
589 &
'Write out salinity of molecular sublayer under ice.'
590 IF (qout(idt0mk,ng))
WRITE (out,70) qout(idt0mk,ng), &
592 &
'Write out temperature of molecular sublayer under ice.'
593 IF (qout(idwdiv,ng))
WRITE (out,70) qout(idwdiv,ng), &
595 &
'Write out rate of ice divergence.'
596 IF (qout(idw_fr,ng))
WRITE (out,70) qout(idw_fr,ng), &
598 &
'Write out rate of ice accretion by frazil ice growth.'
599 IF (qout(idw_ai,ng))
WRITE (out,70) qout(idw_ai,ng), &
601 &
'Write out rate of melt/freeze at air/ice interface.'
602 IF (qout(idw_ao,ng))
WRITE (out,70) qout(idw_ao,ng), &
604 &
'Write out rate of melt/freeze at air/ocean interface.'
605 IF (qout(idw_io,ng))
WRITE (out,70) qout(idw_io,ng), &
607 &
'Write out rate of melt/freeze at ice/ocean interface.'
608 IF (qout(idw_ro,ng))
WRITE (out,70) qout(idw_ro,ng), &
610 &
'Write out rate of melt/freeze runoff into ocean.'
613 IF (aout(iduice,ng))
WRITE (out,70) aout(iduice,ng), &
615 &
'Write out ice U-velocity component.'
616 IF (aout(idvice,ng))
WRITE (out,70) aout(idvice,ng), &
618 &
'Write out ice V-velocity component.'
619 IF (aout(iduier,ng))
WRITE (out,70) aout(iduier,ng), &
621 &
'Write out ice Eastward velocity component at RHO-points.'
622 IF (aout(idvinr,ng))
WRITE (out,70) aout(idvinr,ng), &
624 &
'Write out ice Northward velocity component at RHO-points.'
625 IF (aout(idaice,ng))
WRITE (out,70) aout(idaice,ng), &
627 &
'Write out ice concentration (fractional area coverage).'
628 IF (aout(idiage,ng))
WRITE (out,70) aout(idiage,ng), &
630 &
'Write out age of ice.'
631 IF (aout(idhice,ng))
WRITE (out,70) aout(idhice,ng), &
633 &
'Write out average ice thickness (ice mass per area).'
634 IF (aout(idhmel,ng))
WRITE (out,70) aout(idhmel,ng), &
636 &
'Write out surface melt water thickness on ice.'
637 IF (aout(idhsno,ng))
WRITE (out,70) aout(idhsno,ng), &
639 &
'Write out average snow coverage thickness.'
640 IF (aout(idtice,ng))
WRITE (out,70) aout(idtice,ng), &
642 &
'Write out interior ice temperature.'
643 IF (aout(idisxx,ng))
WRITE (out,70) aout(idisxx,ng), &
645 &
'Write out internal ice stress tensor, xx-component.'
646 IF (aout(idisxy,ng))
WRITE (out,70) aout(idisxy,ng), &
648 &
'Write out internal ice stress tensor, xy-component.'
649 IF (aout(idisyy,ng))
WRITE (out,70) aout(idisyy,ng), &
651 &
'Write out internal ice stress tensor, yy-component.'
652 IF (aout(idisst,ng))
WRITE (out,70) aout(idisst,ng), &
654 &
'Write out ice/snow surface temperature.'
655 IF (aout(idiomf,ng))
WRITE (out,70) aout(idiomf,ng), &
657 &
'Write out ice-ocean mass flux.'
658 IF (aout(idiofv,ng))
WRITE (out,70) aout(idiofv,ng), &
660 &
'Write out ice-ocean friction velocity.'
661 IF (aout(idiomt,ng))
WRITE (out,70) aout(idiomt,ng), &
663 &
'Write out ice-ocean momentum transfer coefficient.'
664 IF (aout(ids0mk,ng))
WRITE (out,70) aout(ids0mk,ng), &
666 &
'Write out salinity of molecular sublayer under ice.'
667 IF (aout(idt0mk,ng))
WRITE (out,70) aout(idt0mk,ng), &
669 &
'Write out temperature of molecular sublayer under ice.'
670 IF (aout(idwdiv,ng))
WRITE (out,70) aout(idwdiv,ng), &
672 &
'Write out rate of ice divergence.'
673 IF (aout(idw_fr,ng))
WRITE (out,70) aout(idw_fr,ng), &
675 &
'Write out rate of ice accretion by frazil ice growth.'
676 IF (aout(idw_ai,ng))
WRITE (out,70) aout(idw_ai,ng), &
678 &
'Write out rate of melt/freeze at air/ice interface.'
679 IF (aout(idw_ao,ng))
WRITE (out,70) aout(idw_ao,ng), &
681 &
'Write out rate of melt/freeze at air/ocean interface.'
682 IF (aout(idw_io,ng))
WRITE (out,70) aout(idw_io,ng), &
684 &
'Write out rate of melt/freeze at ice/ocean interface.'
685 IF (aout(idw_ro,ng))
WRITE (out,70) aout(idw_ro,ng), &
687 &
'Write out rate of melt/freeze runoff into ocean.'
703 IF (ifice(nf).gt.0)
THEN
704 IF (aout(ifice(nf),ng))
THEN
705 licefavg(nf,ng)=.true.
711 IF (isice(ns).gt.0)
THEN
712 IF (aout(isice(ns),ng))
THEN
713 licesavg(ns,ng)=.true.
720 30
FORMAT (/,
' READ_IcePar - Error while processing line: ',/,a)
721 40
FORMAT (/,/,
' Ice Parameters, Grid: ',i2.2, &
722 & /,
' ========================',/)
723 50
FORMAT (1x,i10,2x,a,t32,a)
724 60
FORMAT (1p,e11.4,2x,a,t32,a)
725 70
FORMAT (10x,l1,2x,a,t32,a)
726 80
FORMAT (/,
' READ_IcePar - variable index not yet loaded, ', a)