27 logical,
intent(in) :: Lwrite
28 integer,
intent(in) :: model, inp, out
33 integer :: iTrcStr, iTrcEnd
34 integer :: i, ifield, igrid, itracer, itrc, ng, nline, status
36 logical,
dimension(NBT,Ngrids) :: Ltrc
38 real(r8),
dimension(NBT,Ngrids) :: Rbio
40 real(dp),
dimension(nRval) :: Rval
42 character (len=40 ) :: KeyWord
43 character (len=256) :: line
44 character (len=256),
dimension(nCval) :: Cval
64 READ (inp,
'(a)',err=10,
END=20) line
65 status=decode_line(line, keyword, nval, cval, rval)
67 SELECT CASE (trim(keyword))
69 npts=load_l(nval, cval, ngrids, lbiology)
71 npts=load_i(nval, rval, ngrids, bioiter)
73 CASE (
'BioIni(iNO3_)')
74 npts=load_r(nval, rval, ngrids, bioini(ino3_,:))
75 CASE (
'BioIni(iPhyt)')
76 npts=load_r(nval, rval, ngrids, bioini(iphyt,:))
77 CASE (
'BioIni(iZoop)')
78 npts=load_r(nval, rval, ngrids, bioini(izoop,:))
79 CASE (
'BioIni(iSDet)')
80 npts=load_r(nval, rval, ngrids, bioini(isdet,:))
83 npts=load_r(nval, rval, ngrids, parfrac)
85 npts=load_r(nval, rval, ngrids, attsw)
87 npts=load_r(nval, rval, ngrids, attphy)
89 npts=load_r(nval, rval, ngrids, phyis)
91 npts=load_r(nval, rval, ngrids, vm_no3)
93 npts=load_r(nval, rval, ngrids, phymrd)
95 npts=load_r(nval, rval, ngrids, phymrn)
97 npts=load_r(nval, rval, ngrids, k_no3)
99 npts=load_r(nval, rval, ngrids, ivlev)
101 npts=load_r(nval, rval, ngrids, zoogr)
103 npts=load_r(nval, rval, ngrids, zooeed)
105 npts=load_r(nval, rval, ngrids, zooeen)
107 npts=load_r(nval, rval, ngrids, zoomrd)
109 npts=load_r(nval, rval, ngrids, zoomrn)
111 npts=load_r(nval, rval, ngrids, detrr)
113 npts=load_r(nval, rval, ngrids, wphy)
115 npts=load_r(nval, rval, ngrids, wdet)
117 npts=load_r(nval, rval, nbt, ngrids, rbio)
121 nl_tnu2(i,ng)=rbio(itrc,ng)
125 npts=load_r(nval, rval, nbt, ngrids, rbio)
129 nl_tnu4(i,ng)=rbio(itrc,ng)
133 npts=load_r(nval, rval, nbt, ngrids, rbio)
137 ad_tnu2(i,ng)=rbio(itrc,ng)
138 tl_tnu2(i,ng)=rbio(itrc,ng)
142 npts=load_r(nval, rval, nbt, ngrids, rbio)
146 ad_tnu4(i,ng)=rbio(itrc,ng)
147 tl_tnu4(i,ng)=rbio(itrc,ng)
150 CASE (
'LtracerSponge')
151 npts=load_l(nval, cval, nbt, ngrids, ltrc)
155 ltracersponge(i,ng)=ltrc(itrc,ng)
159 npts=load_r(nval, rval, nbt, ngrids, rbio)
163 akt_bak(i,ng)=rbio(itrc,ng)
167 npts=load_r(nval, rval, nbt, ngrids, rbio)
171 ad_akt_fac(i,ng)=rbio(itrc,ng)
172 tl_akt_fac(i,ng)=rbio(itrc,ng)
176 npts=load_r(nval, rval, nbt, ngrids, rbio)
180 tnudg(i,ng)=rbio(itrc,ng)
184 IF (itracer.lt.nbt)
THEN
190 npts=load_tadv(nval, cval, line, nline, itrc, igrid, &
191 & itracer, idbio(itrcstr), idbio(itrcend), &
192 & vname(1,idtvar(itrc)), &
195 IF (itracer.lt.nbt)
THEN
201 npts=load_tadv(nval, cval, line, nline, itrc, igrid, &
202 & itracer, idbio(itrcstr), idbio(itrcend), &
203 & vname(1,idtvar(itrc)), &
205#if defined ADJOINT || defined TANGENT || defined TL_IOMS
206 CASE (
'ad_Hadvection')
207 IF (itracer.lt.nbt)
THEN
213 npts=load_tadv(nval, cval, line, nline, itrc, igrid, &
214 & itracer, idbio(itrcstr), idbio(itrcend), &
215 & vname(1,idtvar(itrc)), &
218 IF (itracer.lt.(nbt)
THEN
224 npts=load_tadv(nval, cval, line, nline, itrc, igrid, &
225 & itracer, idbio(itrcstr), idbio(itrcend), &
226 & vname(1,idtvar(itrc)), &
230 IF (itracer.lt.nbt)
THEN
235 ifield=istvar(idbio(itracer))
236 npts=load_lbc(nval, cval, line, nline, ifield, igrid, &
237 & idbio(itrcstr), idbio(itrcend), &
238 & vname(1,idtvar(idbio(itracer))), lbc)
239#if defined ADJOINT || defined TANGENT || defined TL_IOMS
240 CASE (
'ad_LBC(isTvar)')
241 IF (itracer.lt.nbt)
THEN
246 ifield=istvar(idbio(itracer))
247 npts=load_lbc(nval, cval, line, nline, ifield, igrid, &
248 & idbio(itrcstr), idbio(itrcend), &
249 & vname(1,idtvar(idbio(itracer))), ad_lbc)
252 npts=load_l(nval, cval, nbt, ngrids, ltrc)
256 ltracersrc(i,ng)=ltrc(itrc,ng)
260 npts=load_l(nval, cval, nbt, ngrids, ltrc)
264 ltracerclm(i,ng)=ltrc(itrc,ng)
268 npts=load_l(nval, cval, nbt, ngrids, ltrc)
272 lnudgetclm(i,ng)=ltrc(itrc,ng)
275 CASE (
'Hout(idTvar)')
276 npts=load_l(nval, cval, nbt, ngrids, ltrc)
279 i=idtvar(idbio(itrc))
281 IF (master)
WRITE (out,30) &
282 &
'idTvar(idbio(', itrc,
'))'
286 hout(i,ng)=ltrc(itrc,ng)
289 CASE (
'Hout(idTsur)')
290 npts=load_l(nval, cval, nbt, ngrids, ltrc)
293 i=idtsur(idbio(itrc))
295 IF (master)
WRITE (out,30) &
296 &
'idTsur(idbio(', itrc,
'))'
300 hout(i,ng)=ltrc(itrc,ng)
303 CASE (
'Qout(idTvar)')
304 npts=load_l(nval, cval, nbt, ngrids, ltrc)
307 i=idtvar(idbio(itrc))
308 qout(i,ng)=ltrc(itrc,ng)
311 CASE (
'Qout(idsurT)')
312 npts=load_l(nval, cval, nbt, ngrids, ltrc)
315 i=idsurt(idbio(itrc))
317 IF (master)
WRITE (out,30) &
318 &
'idsurT(idbio(', itrc,
'))'
322 qout(i,ng)=ltrc(itrc,ng)
325 CASE (
'Qout(idTsur)')
326 npts=load_l(nval, cval, nbt, ngrids, ltrc)
329 i=idtsur(idbio(itrc))
330 qout(i,ng)=ltrc(itrc,ng)
333#if defined AVERAGES || \
334 (defined ad_averages && defined adjoint) || \
335 (defined rp_averages && defined tl_ioms) || \
336 (defined tl_averages && defined tangent)
337 CASE (
'Aout(idTvar)')
338 npts=load_l(nval, cval, nbt, ngrids, ltrc)
341 i=idtvar(idbio(itrc))
342 aout(i,ng)=ltrc(itrc,ng)
345 CASE (
'Aout(idTTav)')
346 npts=load_l(nval, cval, nbt, ngrids, ltrc)
349 i=idttav(idbio(itrc))
350 aout(i,ng)=ltrc(itrc,ng)
353 CASE (
'Aout(idUTav)')
354 npts=load_l(nval, cval, nbt, ngrids, ltrc)
357 i=idutav(idbio(itrc))
358 aout(i,ng)=ltrc(itrc,ng)
361 CASE (
'Aout(idVTav)')
362 npts=load_l(nval, cval, nbt, ngrids, ltrc)
365 i=idvtav(idbio(itrc))
366 aout(i,ng)=ltrc(itrc,ng)
369 CASE (
'Aout(iHUTav)')
370 npts=load_l(nval, cval, nbt, ngrids, ltrc)
373 i=ihutav(idbio(itrc))
374 aout(i,ng)=ltrc(itrc,ng)
377 CASE (
'Aout(iHVTav)')
378 npts=load_l(nval, cval, nbt, ngrids, ltrc)
381 i=ihvtav(idbio(itrc))
382 aout(i,ng)=ltrc(itrc,ng)
387 CASE (
'Dout(iTrate)')
388 npts=load_l(nval, cval, nbt, ngrids, ltrc)
392 dout(iddtrc(itrc,itrate),ng)=ltrc(i,ng)
395 CASE (
'Dout(iThadv)')
396 npts=load_l(nval, cval, nbt, ngrids, ltrc)
400 dout(iddtrc(itrc,ithadv),ng)=ltrc(i,ng)
403 CASE (
'Dout(iTxadv)')
404 npts=load_l(nval, cval, nbt, ngrids, ltrc)
408 dout(iddtrc(itrc,itxadv),ng)=ltrc(i,ng)
411 CASE (
'Dout(iTyadv)')
412 npts=load_l(nval, cval, nbt, ngrids, ltrc)
416 dout(iddtrc(itrc,ityadv),ng)=ltrc(i,ng)
419 CASE (
'Dout(iTvadv)')
420 npts=load_l(nval, cval, nbt, ngrids, ltrc)
424 dout(iddtrc(itrc,itvadv),ng)=ltrc(i,ng)
427# if defined TS_DIF2 || defined TS_DIF4
428 CASE (
'Dout(iThdif)')
429 npts=load_l(nval, cval, nbt, ngrids, ltrc)
433 dout(iddtrc(itrc,ithdif),ng)=ltrc(i,ng)
436 CASE (
'Dout(iTxdif)')
437 npts=load_l(nval, cval, nbt, ngrids, ltrc)
441 dout(iddtrc(itrc,itxdif),ng)=ltrc(i,ng)
444 CASE (
'Dout(iTydif)')
445 npts=load_l(nval, cval, nbt, ngrids, ltrc)
449 dout(iddtrc(itrc,itydif),ng)=ltrc(i,ng)
452# if defined MIX_GEO_TS || defined MIX_ISO_TS
453 CASE (
'Dout(iTsdif)')
454 npts=load_l(nval, cval, nbt, ngrids, ltrc)
458 dout(iddtrc(itrc,itsdif),ng)=ltrc(i,ng)
463 CASE (
'Dout(iTvdif)')
464 npts=load_l(nval, cval, nbt, ngrids, ltrc)
468 dout(iddtrc(itrc,itvdif),ng)=ltrc(i,ng)
475 10
IF (master)
WRITE (out,40) line
484 IF (master.and.lwrite)
THEN
486 IF (lbiology(ng))
THEN
488 WRITE (out,60) bioiter(ng),
'BioIter', &
489 &
'Number of iterations for nonlinear convergence.'
491 WRITE (out,70) bioini(ino3_,ng),
'BioIni(iNO3_)', &
492 &
'Nitrate initial concentration (mmol/m3).'
493 WRITE (out,70) bioini(iphyt,ng),
'BioIni(iPhyt)', &
494 &
'Phytoplankton initial concentration (mmol/m3).'
495 WRITE (out,70) bioini(izoop,ng),
'BioIni(iZoop)', &
496 &
'Zooplankton initial concentration (mmol/m3).'
497 WRITE (out,70) bioini(isdet,ng),
'BioIni(iSDet)', &
498 &
'Small detritus initial concentration (mmol/m3).'
500 WRITE (out,80) parfrac(ng),
'PARfrac', &
501 &
'Fraction of shortwave radiation that is', &
502 &
'photosynthetically active (nondimensional).'
503 WRITE (out,70) attsw(ng),
'AttSW', &
504 &
'Light attenuation of seawater (m-1).'
505 WRITE (out,70) attphy(ng),
'AttPhy', &
506 &
'Light attenuation by phytoplankton (m2/mmole_N).'
507 WRITE (out,80) phyis(ng),
'PhyIS', &
508 &
'Phytoplankton growth, initial slope of P-I curve', &
510 WRITE (out,70) vm_no3(ng),
'Vm_NO3', &
511 &
'Nitrate upatake rate (day-1).'
512 WRITE (out,70) phymrd(ng),
'PhyMRD', &
513 &
'Phytoplankton mortality rate to Detritus (day-1)'
514 WRITE (out,70) phymrn(ng),
'PhyMRN', &
515 &
'Phytoplankton mortality rate to Nitrogen (day-1)'
516 WRITE (out,80) k_no3(ng),
'K_NO3', &
517 &
'Inverse half-saturation for phytoplankton NO3', &
518 &
'uptake (1/(mmol m-3)).'
519 WRITE (out,80) ivlev(ng),
'Ivlev', &
520 &
'Ivlev constant for zooplankton grazing', &
521 &
'(nondimensional).'
522 WRITE (out,70) zoogr(ng),
'ZooGR', &
523 &
'Zooplankton maximum growth rate (day-1).'
524 WRITE (out,80) zooeed(ng),
'ZooEED', &
525 &
'Zooplankton excretion efficiency to Detritus', &
526 &
'pool (nondimensional).'
527 WRITE (out,80) zooeen(ng),
'ZooEEN', &
528 &
'Zooplankton excretion efficiency to Nitrogen', &
529 &
'pool (nondimensional).'
530 WRITE (out,70) zoomrd(ng),
'ZooMRD', &
531 &
'Zooplankton mortality rate to Detritus (day-1).'
532 WRITE (out,70) zoomrn(ng),
'ZooMRN', &
533 &
'Zooplankton mortality rate to Nitrogen (day-1).'
534 WRITE (out,70) detrr(ng),
'DetRR', &
535 &
'Detritus remineralization rate (day-1).'
536 WRITE (out,70) wphy(ng),
'wPhy', &
537 &
'Phytoplankton sinking rate (m/day).'
538 WRITE (out,70) wdet(ng),
'wDet', &
539 &
'Detrital sinking rate (m/day).'
543 WRITE (out,90) nl_tnu2(i,ng),
'nl_tnu2', i, &
544 &
'NLM Horizontal, harmonic mixing coefficient', &
545 &
'(m2/s) for tracer ', i, trim(vname(1,idtvar(i)))
547 WRITE (out,90) ad_tnu2(i,ng),
'ad_tnu2', i, &
548 &
'ADM Horizontal, harmonic mixing coefficient', &
549 &
'(m2/s) for tracer ', i, trim(vname(1,idtvar(i)))
551# if defined TANGENT || defined TL_IOMS
552 WRITE (out,90) tl_tnu2(i,ng),
'tl_tnu2', i, &
553 &
'TLM Horizontal, harmonic mixing coefficient', &
554 &
'(m2/s) for tracer ', i, trim(vname(1,idtvar(i)))
561 WRITE (out,90) nl_tnu4(i,ng),
'nl_tnu4', i, &
562 &
'NLM Horizontal, biharmonic mixing coefficient', &
563 &
'(m4/s) for tracer ', i, trim(vname(1,idtvar(i)))
565 WRITE (out,90) ad_tnu4(i,ng),
'ad_tnu4', i, &
566 &
'ADM Horizontal, biharmonic mixing coefficient', &
567 &
'(m4/s) for tracer ', i, trim(vname(1,idtvar(i)))
569# if defined TANGENT || defined TL_IOMS
570 WRITE (out,90) tl_tnu4(i,ng),
'tl_tnu4', i, &
571 &
'TLM Horizontal, biharmonic mixing coefficient', &
572 &
'(m4/s) for tracer ', i, trim(vname(1,idtvar(i)))
578 IF (ltracersponge(i,ng))
THEN
579 WRITE (out,100) ltracersponge(i,ng),
'LtracerSponge', &
580 & i,
'Turning ON sponge on tracer ', i, &
581 & trim(vname(1,idtvar(i)))
583 WRITE (out,100) ltracersponge(i,ng),
'LtracerSponge', &
584 & i,
'Turning OFF sponge on tracer ', i, &
585 & trim(vname(1,idtvar(i)))
590 WRITE(out,90) akt_bak(i,ng),
'Akt_bak', i, &
591 &
'Background vertical mixing coefficient (m2/s)', &
592 &
'for tracer ', i, trim(vname(1,idtvar(i)))
598 WRITE (out,90) ad_akt_fac(i,ng),
'ad_Akt_fac', i, &
599 &
'ADM basic state vertical mixing scale factor', &
600 &
'for tracer ', i, trim(vname(1,idtvar(i)))
602# if defined TANGENT || defined TL_IOMS
603 WRITE (out,90) tl_akt_fac(i,ng),
'tl_Akt_fac', i, &
604 &
'TLM basic state vertical mixing scale factor', &
605 &
'for tracer ', i, trim(vname(1,idtvar(i)))
611 WRITE (out,90) tnudg(i,ng),
'Tnudg', i, &
612 &
'Nudging/relaxation time scale (days)', &
613 &
'for tracer ', i, trim(vname(1,idtvar(i)))
617 IF (ltracersrc(i,ng))
THEN
618 WRITE (out,100) ltracersrc(i,ng),
'LtracerSrc', &
619 & i,
'Turning ON point sources/Sink on tracer ', i, &
620 & trim(vname(1,idtvar(i)))
622 WRITE (out,100) ltracersrc(i,ng),
'LtracerSrc', &
623 & i,
'Turning OFF point sources/Sink on tracer ', i, &
624 & trim(vname(1,idtvar(i)))
629 IF (ltracerclm(i,ng))
THEN
630 WRITE (out,100) ltracerclm(i,ng),
'LtracerCLM', i, &
631 &
'Turning ON processing of climatology tracer ', i, &
632 & trim(vname(1,idtvar(i)))
634 WRITE (out,100) ltracerclm(i,ng),
'LtracerCLM', i, &
635 &
'Turning OFF processing of climatology tracer ', i, &
636 & trim(vname(1,idtvar(i)))
641 IF (lnudgetclm(i,ng))
THEN
642 WRITE (out,100) lnudgetclm(i,ng),
'LnudgeTCLM', i, &
643 &
'Turning ON nudging of climatology tracer ', i, &
644 & trim(vname(1,idtvar(i)))
646 WRITE (out,100) lnudgetclm(i,ng),
'LnudgeTCLM', i, &
647 &
'Turning OFF nudging of climatology tracer ', i, &
648 & trim(vname(1,idtvar(i)))
651 IF ((nhis(ng).gt.0).and.any(hout(:,ng)))
THEN
655 IF (hout(idtvar(i),ng))
WRITE (out,110) &
656 & hout(idtvar(i),ng),
'Hout(idTvar)', &
657 &
'Write out tracer ', i, trim(vname(1,idtvar(i)))
661 IF (hout(idtsur(i),ng))
WRITE (out,110) &
662 & hout(idtsur(i),ng),
'Hout(idTsur)', &
663 &
'Write out tracer flux ', i, &
664 & trim(vname(1,idtvar(i)))
667 IF ((nqck(ng).gt.0).and.any(qout(:,ng)))
THEN
671 IF (qout(idtvar(i),ng))
WRITE (out,110) &
672 & qout(idtvar(i),ng),
'Qout(idTvar)', &
673 &
'Write out tracer ', i, trim(vname(1,idtvar(i)))
677 IF (qout(idsurt(i),ng))
WRITE (out,110) &
678 & qout(idsurt(i),ng),
'Qout(idsurT)', &
679 &
'Write out surface tracer ', i, &
680 & trim(vname(1,idtvar(i)))
684 IF (qout(idtsur(i),ng))
WRITE (out,110) &
685 & qout(idtsur(i),ng),
'Qout(idTsur)', &
686 &
'Write out tracer flux ', i, &
687 & trim(vname(1,idtvar(i)))
690#if defined AVERAGES || \
691 (defined ad_averages && defined adjoint) || \
692 (defined rp_averages && defined tl_ioms) || \
693 (defined tl_averages && defined tangent)
694 IF ((navg(ng).gt.0).and.any(aout(:,ng)))
THEN
698 IF (aout(idtvar(i),ng))
WRITE (out,110) &
699 & aout(idtvar(i),ng),
'Aout(idTvar)', &
700 &
'Write out averaged tracer ', i, &
701 & trim(vname(1,idtvar(i)))
705 IF (aout(idttav(i),ng))
WRITE (out,110) &
706 & aout(idttav(i),ng),
'Aout(idTTav)', &
707 &
'Write out averaged <t*t> for tracer ', i, &
708 & trim(vname(1,idtvar(i)))
712 IF (aout(idutav(i),ng))
WRITE (out,110) &
713 & aout(idutav(i),ng),
'Aout(idUTav)', &
714 &
'Write out averaged <u*t> for tracer ', i, &
715 & trim(vname(1,idtvar(i)))
719 IF (aout(idvtav(i),ng))
WRITE (out,110) &
720 & aout(idvtav(i),ng),
'Aout(idVTav)', &
721 &
'Write out averaged <v*t> for tracer ', i, &
722 & trim(vname(1,idtvar(i)))
726 IF (aout(ihutav(i),ng))
WRITE (out,110) &
727 & aout(ihutav(i),ng),
'Aout(iHUTav)', &
728 &
'Write out averaged <Huon*t> for tracer ', i, &
729 & trim(vname(1,idtvar(i)))
733 IF (aout(ihvtav(i),ng))
WRITE (out,110) &
734 & aout(ihvtav(i),ng),
'Aout(iHVTav)', &
735 &
'Write out averaged <Hvom*t> for tracer ', i, &
736 & trim(vname(1,idtvar(i)))
741 IF ((ndia(ng).gt.0).and.any(dout(:,ng)))
THEN
745 IF (dout(iddtrc(itrc,itrate),ng)) &
746 &
WRITE (out,110) .true.,
'Dout(iTrate)', &
747 &
'Write out rate of change of tracer ', itrc, &
748 & trim(vname(1,idtvar(itrc)))
752 IF (dout(iddtrc(itrc,ithadv),ng)) &
753 &
WRITE (out,110) .true.,
'Dout(iThadv)', &
754 &
'Write out horizontal advection, tracer ', itrc, &
755 & trim(vname(1,idtvar(itrc)))
759 IF (dout(iddtrc(itrc,itxadv),ng)) &
760 &
WRITE (out,110) .true.,
'Dout(iTxadv)', &
761 &
'Write out horizontal X-advection, tracer ', itrc, &
762 & trim(vname(1,idtvar(itrc)))
766 IF (dout(iddtrc(itrc,ityadv),ng)) &
767 &
WRITE (out,110) .true.,
'Dout(iTyadv)', &
768 &
'Write out horizontal Y-advection, tracer ', itrc, &
769 & trim(vname(1,idtvar(itrc)))
773 IF (dout(iddtrc(itrc,itvadv),ng)) &
774 &
WRITE (out,110) .true.,
'Dout(iTvadv)', &
775 &
'Write out vertical advection, tracer ', itrc, &
776 & trim(vname(1,idtvar(itrc)))
778# if defined TS_DIF2 || defined TS_DIF4
781 IF (dout(iddtrc(itrc,ithdif),ng)) &
782 &
WRITE (out,110) .true.,
'Dout(iThdif)', &
783 &
'Write out horizontal diffusion, tracer ', itrc, &
784 & trim(vname(1,idtvar(itrc)))
788 IF (dout(iddtrc(i,itxdif),ng)) &
789 &
WRITE (out,110) .true.,
'Dout(iTxdif)', &
790 &
'Write out horizontal X-diffusion, tracer ', itrc, &
791 & trim(vname(1,idtvar(itrc)))
795 IF (dout(iddtrc(itrc,itydif),ng)) &
796 &
WRITE (out,110) .true.,
'Dout(iTydif)', &
797 &
'Write out horizontal Y-diffusion, tracer ', itrc, &
798 & trim(vname(1,idtvar(itrc)))
800# if defined MIX_GEO_TS || defined MIX_ISO_TS
803 IF (dout(iddtrc(itrc,itsdif),ng)) &
804 &
WRITE (out,110) .true.,
'Dout(iTsdif)', &
805 &
'Write out horizontal S-diffusion, tracer ', itrc, &
806 & trim(vname(1,idtvar(itrc)))
812 IF (dout(iddtrc(itrc,itvdif),ng)) &
813 &
WRITE (out,110) .true.,
'Dout(iTvdif)', &
814 &
'Write out vertical diffusion, tracer ', itrc, &
815 & trim(vname(1,idtvar(itrc)))
833 nl_tnu4(i,ng)=sqrt(abs(nl_tnu4(i,ng)))
835 ad_tnu4(i,ng)=sqrt(abs(ad_tnu4(i,ng)))
837#if defined TANGENT || defined TL_IOMS
838 tl_tnu4(i,ng)=sqrt(abs(tl_tnu4(i,ng)))
843 IF (tnudg(i,ng).gt.0.0_r8)
THEN
844 tnudg(i,ng)=1.0_r8/(tnudg(i,ng)*86400.0_r8)
851 30
FORMAT (/,
' read_BioPar - variable info not yet loaded, ', &
853 40
FORMAT (/,
' read_BioPar - Error while processing line: ',/,a)
854 50
FORMAT (/,/,
' NPZD Model Parameters, Grid: ',i2.2, &
855 & /,
' ===============================',/)
856 60
FORMAT (1x,i10,2x,a,t32,a)
857 70
FORMAT (1p,e11.4,2x,a,t32,a)
858 80
FORMAT (1p,e11.4,2x,a,t32,a,/,t34,a)
859 90
FORMAT (1p,e11.4,2x,a,
'(',i2.2,
')',t32,a,/,t34,a,i2.2,
':',1x,a)
860 100
FORMAT (10x,l1,2x,a,
'(',i2.2,
')',t32,a,i2.2,
':',1x,a)
861 110
FORMAT (10x,l1,2x,a,t32,a,i2.2,
':',1x,a)