6 &,
pcco2, pfrcl , pdp , pemis, pemiw , plsm , pmu0, pozon &
7 &,
pq , pqiwp , pqlwp, psqiw, psqlw , pqs , pqrain, praint &
8 &, prlvri,prlvrl,
pth ,
pt ,
pts , pnbas, pntop &
9 &, pemit, pfct , pflt , pfcs , pfls , pfrsod, psudu, puvdf, pparf &
10 &, pfdct, pfuct , pfdlt, pfult, pfdcs , pfucs , pfdls, pfuls &
12 &, aswbox, olrbox, slwbox, sswbox, taubox, pclbx &
133 integer_m :: ndump, klwrad
144 real_b :: palbd(
klon,nsw) , palbp(
klon,nsw)
165 real_b :: pfrsod(
klon) , pemit(
klon)
172 real_b :: aswbox(
klon, 100), olrbox(
klon, 100)
173 real_b :: slwbox(
klon, 100), sswbox(
klon, 100), taubox(
klon, 100)
183 integer_m :: ibas(
klon) , itop(
klon)
229 real_b :: cpfrsod(
klon) , cpemit(
klon)
237 integer_m :: ikl, jae, jk, jkl, jklp1, jkp1, jl, jnu, jrtm, jsw &
238 &, nboxl, icbox, imov, indlay
244 real_b :: zasymx, zdiffd, zgi, zgl, zgr, ziwgkg, zlwgkg,&
245 &zmsaid, zmsaiu, zmsald, zmsalu, zmtconv, &
246 &zmtfudg, zlwfudg, zswfudg, zmultl, zoi, zol, zomgmx, zor, &
247 &zrmuz, zrwgkg, ztaud, ztaumx, ztempc, &
248 &ztoi, ztol, ztor, zzfiwp, zzflwp, zdpog, zpodt
249 real_b :: zalnd, zasea,
zd, zden, zntot, znum, zratio, zcoeff, z1radi,&
250 &z1radl, zbetai, zomgi, zomgp, zfdel, zwght, zvi, zvl, zvr
251 real_b :: zasw, zolr, zslw, zssw, zmulti, zaiwc, zbiwc,&
252 &zdice, zfsr, zlgiwc, ztcels, ztblay, zaddplk, zplanck
253 real_b :: ztol1, ztoi1, ztor1
268 9104
format(1
x,i3,f9.1,f8.2,f9.1,f8.2,f9.1,e10.3,f7.4,4e10.3)
273 9105
FORMAT(13
x,f8.2,12f8.4)
280 ztcc(jl)=1.-pfrcl(jl,1)
285 ztcc(jl)=ztcc(jl)*(1.-max(pfrcl(jl,jk),pfrcl(jl,jk-1))) &
286 & /(1.-min(pfrcl(jl,jk-1),1.-
repclc))
295 9106
format(1
x,
'TCC :',f7.4)
297 9107
format(1
x,
'LINHOM=',l8,
' NHOWINH=',i2)
313 IF (nhowinh.EQ.1)
THEN
326 9108
format(1
x,
'LINHOM=',l8,
' NHOWINH=',i2,
' FUDG=',f4.2)
329 zfcup(jl,
klev+1) = _zero_
331 zfsup(jl,
klev+1) = _zero_
333 zflux(jl,1,
klev+1) = _zero_
334 zflux(jl,2,
klev+1) = _zero_
335 zfluc(jl,1,
klev+1) = _zero_
336 zfluc(jl,2,
klev+1) = _zero_
346 zpmb(jl,1) = zpsol(jl) / 100._jprb
352 ibas(jl) = int( 0.01_jprb + pnbas(jl) )
353 itop(jl) = int( 0.01_jprb + pntop(jl) )
358 cpfls(jl,jk) = _zero_
359 cpflt(jl,jk) = _zero_
360 cpfcs(jl,jk) = _zero_
361 cpfct(jl,jk) = _zero_
362 cpfdct(jl,jk) = _zero_
363 cpfuct(jl,jk) = _zero_
364 cpfdlt(jl,jk) = _zero_
365 cpfult(jl,jk) = _zero_
366 cpfdcs(jl,jk) = _zero_
367 cpfucs(jl,jk) = _zero_
368 cpfdls(jl,jk) = _zero_
369 cpfuls(jl,jk) = _zero_
388 zalbd(jl,jsw)=palbd(jl,jsw)
389 zalbp(jl,jsw)=palbp(jl,jsw)
406 zpmb(jl,jk+1)=
paph(jl,jkl)/100._jprb
407 zoz(jl,jk) = pozon(jl,jkl) * 46.6968_jprb /
rg
408 zozon(jl,jk) = pozon(jl,jkl)
409 zcld0(jl,jk) = _zero_
410 zfcup(jl,jk) = _zero_
411 zfcdwn(jl,jk) = _zero_
412 zfsup(jl,jk) = _zero_
413 zfsdwn(jl,jk) = _zero_
414 zflux(jl,1,jk) = _zero_
415 zflux(jl,2,jk) = _zero_
416 zfluc(jl,1,jk) = _zero_
417 zfluc(jl,2,jk) = _zero_
438 pth(jl,jk)=(
pt(jl,jk-1)*
pap(jl,jk-1)&
441 &*(_one_/(
paph(jl,jk)*(
pap(jl,jk)-
pap(jl,jk-1))))
466 ztl(jl,jk)=
pth(jl,jklp1)
467 ztave(jl,jk)=
pt(jl,jkl)
472 zpmb(jl,
klev+1) =
paph(jl,1)/100._jprb
489 zwght=1./float(nboxl)
494 olrbox(jl,icbox)=_zero_
495 aswbox(jl,icbox)=_zero_
496 slwbox(jl,icbox)=_zero_
497 sswbox(jl,icbox)=_zero_
498 taubox(jl,icbox)=_zero_
506 pclfr(jl,jk)=pclbx(jl,icbox,jk)
513 pclfr(jl,jk)=pfrcl(jl,jk)
524 zcol(jl)=1.-pclfr(jl,1)
528 zcol(jl)=zcol(jl)*(1.-max(pclfr(jl,jk),pclfr(jl,jk-1))) &
529 & /(1.-min(pclfr(jl,jk-1),1.-
repclc))
549 ztau(jl,jsw,jk) = _zero_
550 zomega(jl,jsw,jk)= _one_
551 zcg(jl,jsw,jk) = _zero_
555 zcldsw(jl,jk) = _zero_
556 zcldld(jl,jk) = _zero_
557 zcldlu(jl,jk) = _zero_
566 pclfr(jl,ikl)=max( _zero_ ,min( pclfr(jl,ikl), _one_ ))
569 zlwgkg=max(pqlwp(jl,ikl)*1000._jprb,_zero_)
570 ziwgkg=max(pqiwp(jl,ikl)*1000._jprb,_zero_)
575 IF (pclfr(jl,ikl) > 15.e-06_jprb)
THEN
576 zlwgkg=zlwgkg/pfrcl(jl,ikl)
577 ziwgkg=ziwgkg/pfrcl(jl,ikl)
598 IF (ibas(jl) /= 1.AND. itop(jl) /= 1 )
THEN
605 zflwp(jl)= zlwgkg*zdpog
606 zfiwp(jl)= ziwgkg*zdpog
607 zfrwp(jl)= zrwgkg*zdpog
608 zpodt=
pap(jl,ikl)/(
rd*
pt(jl,ikl))
609 zlwc(jl)=zlwgkg*zpodt
610 ziwc(jl)=ziwgkg*zpodt
617 zradlp(jl)=10._jprb + (100000._jprb-
pap(jl,ikl))*3.5e-04_jprb
619 ELSE IF (
nradlp.EQ.1)
THEN
621 IF (plsm(jl) < _half_)
THEN
627 ELSE IF (
nradlp.EQ.2)
THEN
629 IF (plsm(jl) < _half_)
THEN
632 zntot=-1.15e-03_jprb*zasea*zasea+0.963_jprb*zasea+5.30_jprb
639 zntot=-2.10e-04_jprb*zalnd*zalnd+0.568_jprb*zalnd-27.9_jprb
642 znum=3._jprb*zlwc(jl)*(1._jprb+3._jprb*
zd*
zd)**2
643 zden=4._jprb*
rpi*zntot*(1._jprb+
zd*
zd)**3
644 zradlp(jl)=100.*(znum/zden)**0.333_jprb
647 zradlp(jl)=max(zradlp(jl), 4._jprb)
648 zradlp(jl)=min(zradlp(jl),16._jprb)
664 ztempc=
pt(jl,ikl)-
rtt
669 zradip(jl)=326.3_jprb+ztempc*(12.42_jprb + ztempc*(0.197_jprb + ztempc*&
671 zdesr(jl)=2._jprb*zradip(jl)
676 zdesr(jl)=2._jprb*zradip(jl)
679 ELSE IF (
nradip.EQ. 1)
THEN
681 zradip(jl)=max(zradip(jl),40._jprb)
682 zdesr(jl)=2._jprb*zradip(jl)
685 ELSE IF (
nradip.EQ. 2)
THEN
687 zradip(jl)=max(zradip(jl),30._jprb)
688 zradip(jl)=min(zradip(jl),60._jprb)
689 zdesr(jl)=2._jprb*zradip(jl)
693 ELSE IF (
nradip.EQ. 3 .AND. ziwc(jl).GT. _zero_ )
THEN
694 ztempc=
pt(jl,ikl)-83.15_jprb
695 ztcels=
pt(jl,ikl)-
rtt
696 zfsr = 1.2351_jprb +0.0105_jprb * ztcels
702 zaiwc = 45.8966_jprb * ziwc(jl)**0.2214_jprb
703 zbiwc = 0.7957_jprb * ziwc(jl)**0.2535_jprb
704 zdesr(jl) = zfsr * (zaiwc + zbiwc*ztempc)
705 zdesr(jl) = min( max( zdesr(jl), rminice ), 350._jprb)
706 zradip(jl)= 0.5 * zdesr(jl)
711 IF (klwrad.EQ.2 .AND. nsw.EQ.2)
THEN
713 zradlp(jl)=10._jprb + (100000._jprb-
pap(jl,ikl))*3.5_jprb
719 zdesr(jl)=2._jprb*zradip(jl)
745 IF (zflwp(jl)+zfiwp(jl)+zfrwp(jl) /= _zero_)
THEN
746 IF (zflwp(jl) /= _zero_)
THEN
760 IF (zfiwp(jl) /= _zero_)
THEN
769 z1radi = 0.5 / zradip(jl)
771 ztoi = zfiwp(jl) * zbetai
772 zomgi=
rflbb0(jsw)+zradip(jl)*(
rflbb1(jsw) + zradip(jl) &
775 zomgp=
rflcc0(jsw)+zradip(jl)*(
rflcc1(jsw) + zradip(jl) &
777 zfdel=
rfldd0(jsw)+zradip(jl)*(
rfldd1(jsw) + zradip(jl) &
779 zgi = ((1.-zfdel)*zomgp + zfdel*3.) / 3.
783 z1radi = _one_ / zdesr(jl)
785 ztoi = zfiwp(jl) * zbetai
813 ztaumx= ztol*zvl + ztoi*zvi + ztor*zvr
814 zomgmx= ztol*zvl*zol + ztoi*zvi*zoi + ztor*zvr*zor
815 zasymx= ztol*zvl*zol*zgl + ztoi*zvi*zoi*zgi + ztor*zvr*zor*zgr
816 zasymx= zasymx/zomgmx
817 zomgmx= zomgmx/ztaumx
818 ELSE IF (
linhom .AND. nhowinh.EQ.2)
THEN
822 ztaumx= ztol*zvl + ztoi*zvi + ztor*zvr
823 zomgmx= ztol*zvl*zol + ztoi*zvi*zoi + ztor*zvr*zor
824 zasymx= ztol*zvl*zol*zgl + ztoi*zvi*zoi*zgi + ztor*zvr*zor*zgr
825 zasymx= zasymx/zomgmx
826 zomgmx= zomgmx/ztaumx
827 ELSE IF (
linhom .AND. nhowinh.EQ.3)
THEN
831 ztol1 = ztol/(1.+zvl)
832 ztoi1 = ztoi/(1.+zvi)
833 ztor1 = ztor/(1.+zvr)
834 ztaumx= ztol1 + ztoi1 + ztor1
835 zoi=zoi/(1.+zvi*(1.-zoi))
836 zgi=zgi*(1.+zvi*(1.-zoi))/(1.+zvi*(1.-zoi*zgi))
837 zol=zol/(1.+zvl*(1.-zol))
838 zgl=zgl*(1.+zvl*(1.-zol))/(1.+zvl*(1.-zol*zgl))
840 zomgmx= ztol1*zol + ztoi1*zoi + ztor1*zor
841 zasymx= ztol1*zol*zgl + ztoi1*zoi*zgi + ztor1*zor*zgr
842 zasymx= zasymx/zomgmx
843 zomgmx= zomgmx/ztaumx
848 9009
format(1
x,3i3,14e13.6)
852 zcldsw(jl,jk) = pclfr(jl,ikl)
853 ztau(jl,jsw,jk) = ztaumx
854 zomega(jl,jsw,jk)= zomgmx
855 zcg(jl,jsw,jk) = zasymx
878 ztauint(jl)=ztauint(jl)+ztau(jl,1,jk)
885 9109
format(1
x,
'ClOptProp: ',i2,f7.4,2f6.1,6(1
x,f7.2,1
x,f7.4,1
x,f6.3))
911 zres(jl) =
xp(1,jnu)+ztice(jl)*(
xp(2,jnu)+ztice(jl)*(
xp(3,&
913 &+ztice(jl)*(
xp(4,jnu)+ztice(jl)*(
xp(5,jnu)+ztice(jl)*(
xp(6,&
916 zbice(jl) = zbice(jl) + zres(jl)
917 zgamice(jl) = zgamice(jl) +
rebcui(jnu)*zres(jl)
918 zalfice(jl) = zalfice(jl) +
rebcuj(jnu)*zres(jl)
925 IF (
pt(jl,ikl) < 339._jprb .AND.
pt(jl,ikl) >= 160._jprb)
THEN
926 indlay=
pt(jl,ikl)-159._jprb
927 ztblay =
pt(jl,ikl)-int(
pt(jl,ikl))
928 ELSE IF (
pt(jl,ikl) >= 339._jprb )
THEN
930 ztblay =
pt(jl,ikl)-339._jprb
931 ELSE IF (
pt(jl,ikl) < 160._jprb)
THEN
933 ztblay =
pt(jl,ikl)-160._jprb
937 zbicfu(jl) = zbicfu(jl) + zplanck
939 IF (ziwc(jl) > _zero_ )
THEN
941 zratio= 0.5 / zradip(jl)
942 zmsaid =
rfulio(jrtm,1) + zratio&
944 zkicfu1(jl) = zkicfu1(jl)+ zmsaid*zplanck
947 z1radi = _one_ / zdesr(jl)
948 zmsaid =
rfueta(jrtm,1) + z1radi&
950 zkicfu2(jl) = zkicfu2(jl)+ zmsaid*zplanck
956 zgamice(jl) = zgamice(jl) / zbice(jl)
957 zalfice(jl) = zalfice(jl) / zbice(jl)
958 zkicfu1(jl) = zkicfu1(jl) / zbicfu(jl)
959 zkicfu2(jl) = zkicfu2(jl) / zbicfu(jl)
961 IF (zflwp(jl)+zfiwp(jl) /= _zero_)
THEN
963 IF (klwrad.EQ.2)
THEN
965 zmulti=1.2_jprb-0.006_jprb*zradip(jl)
966 zmsaid= 0.113_jprb*zmulti
967 zmsaiu= 0.093_jprb*zmulti
968 zmultl=1.2_jprb-0.006_jprb*zradlp(jl)
969 zmsald= 0.158_jprb*zmultl
970 zmsalu= 0.130_jprb*zmultl
974 ELSE IF (klwrad.EQ.0)
THEN
978 zmultl=1.2_jprb-0.006_jprb*zradlp(jl)
979 zmsald= 0.158_jprb*zmultl
980 zmsalu= 0.130_jprb*zmultl
984 zmsalu= 0.2441_jprb-0.0105_jprb*zradlp(jl)
985 zmsald= 1.2154_jprb*zmsalu
991 zmulti=1.2_jprb-0.006_jprb*zradip(jl)
992 zmsaid= 0.113_jprb*zmulti
993 zmsaiu= 0.093_jprb*zmulti
997 zmsaid= 1.66_jprb*(zalfice(jl)+zgamice(jl)/zradip(jl))
1002 zmsaid= 1.66_jprb*zkicfu1(jl)
1007 zmsaid= 1.66_jprb*zkicfu2(jl)
1012 zzflwp= zflwp(jl) * zlwfudg
1013 zzfiwp= zfiwp(jl) * zlwfudg
1017 zcldld(jl,jk) = pclfr(jl,ikl)*(_one_-exp(-zmsald*zzflwp-zmsaid* &
1019 zcldlu(jl,jk) = pclfr(jl,ikl)*(_one_-exp(-zmsalu*zzflwp-zmsaiu* &
1044 ztaucld(jl,jk,jrtm) = _zero_
1048 IF (zflwp(jl)+zfiwp(jl) /= _zero_)
THEN
1052 zmultl=1.2_jprb-0.006_jprb*zradlp(jl)
1053 zmsald= 0.144_jprb*zmultl / 1.66_jprb
1057 zmsald=
rhsavi(jrtm,1) + zradlp(jl)&
1062 z1radl = _one_ / zradlp(jl)
1067 zmsald = rlinli(jrtm,1)+zradlp(jl)*rlinli(jrtm,2)+ z1radl*&
1068 & (rlinli(jrtm,3) + z1radl*(rlinli(jrtm,4) + z1radl*&
1075 zmulti=1.2_jprb-0.006_jprb*zradip(jl)
1076 zmsaid= 0.108_jprb*zmulti / 1.66_jprb
1084 zratio= 0.5 / zradip(jl)
1085 zmsaid =
rfulio(jrtm,1) + zratio&
1090 z1radi = _one_ / zdesr(jl)
1091 zmsaid =
rfueta(jrtm,1) + z1radi&
1096 IF (.NOT.
linhom .OR. (
linhom .AND. nhowinh.EQ.1) )
THEN
1099 ELSE IF (
linhom .AND. nhowinh.EQ.2)
THEN
1102 ELSE IF (
linhom .AND. nhowinh.EQ.3)
THEN
1103 zvl=_one_/(_one_+prlvrl(jl,ikl))
1104 zvi=_one_/(_one_+prlvri(jl,ikl))
1107 ztaud = zvl*zmsald*zflwp(jl)+zvi*zmsaid*zfiwp(jl)
1116 ztaucld(jl,jk,jrtm) = max(_zero_,ztaud*zdiffd)
1172 9311
format(1
x,i2,2f8.5,26e12.5)
1177 IF ( .NOT.
lrrtm)
THEN
1180 IF (klwrad .EQ. 2)
THEN
1183 & ,
pcco2, zcldld, zcldlu &
1184 & , pdp , zdt0 , zemis &
1187 & , zcoolr,zcoolc, zflux, zfluc &
1190 ELSE IF (klwrad .EQ. 0)
THEN
1194 &,
pcco2 , zcldld, zcldlu &
1195 &, pdp , zdt0 , zemis , zemiw &
1196 &, zpmb , pozon , ztl &
1197 &,
paer , ztave , zview ,
pq &
1198 &, zcoolr, zcoolc, zemit , zflux, zfluc &
1219 zozn(jl,jk) = pozon(jl,jk)/pdp(jl,jk)
1280 &,
pq ,
pcco2 , zozn , zcldsw , ztaucld &
1281 &, zemit , zflux , zfluc , ztclear &
1288 zcoolr(:,:) = _zero_
1289 zcoolc(:,:) = _zero_
1291 zflux(:,:,:)= _zero_
1292 zfluc(:,:,:)= _zero_
1303 zrmuz = max(zrmuz, zmu0(jl))
1306 IF (zrmuz > _zero_)
THEN
1311 &, prii0 ,
pcco2 , zpsol , zalbd , zalbp ,
pq , pqs &
1312 &, zmu0 , zcg , zcldsw, pdp , zomega, zoz , zpmb &
1313 &, ztau , ztave ,
paer &
1314 &, zheatr, zfsdwn, zfsup , zheatc, zfcdwn, zfcup &
1315 &, zfsdnn, zfsdnv, zfsupn, zfsupv &
1316 &, zfcdnn, zfcdnv, zfcupn, zfcupv &
1317 &, zsudu , zuvdf , zparf &
1353 jk =
klev+1 + 1 - jkl
1357 9506
format(1
x,i3,8f10.3)
1359 cpfls(jl,jkl) =cpfls(jl,jkl) +zwght*(zfsdwn(jl,jk) - zfsup(jl,jk))
1360 cpflt(jl,jkl) =cpflt(jl,jkl) +zwght*(- zflux(jl,1,jk) - zflux(jl,2,jk))
1361 cpfcs(jl,jkl) =cpfcs(jl,jkl) +zwght*(zfcdwn(jl,jk) - zfcup(jl,jk))
1362 cpfct(jl,jkl) =cpfct(jl,jkl) +zwght*(- zfluc(jl,1,jk) - zfluc(jl,2,jk))
1363 cpfdct(jl,jkl)=cpfdct(jl,jkl)+zwght*zfluc(jl,2,jk)
1364 cpfuct(jl,jkl)=cpfuct(jl,jkl)+zwght*zfluc(jl,1,jk)
1365 cpfdlt(jl,jkl)=cpfdlt(jl,jkl)+zwght*zflux(jl,2,jk)
1366 cpfult(jl,jkl)=cpfult(jl,jkl)+zwght*zflux(jl,1,jk)
1367 cpfdcs(jl,jkl)=cpfdcs(jl,jkl)+zwght*zfcdwn(jl,jk)
1368 cpfucs(jl,jkl)=cpfucs(jl,jkl)+zwght*zfcup(jl,jk)
1369 cpfdls(jl,jkl)=cpfdls(jl,jkl)+zwght*zfsdwn(jl,jk)
1370 cpfuls(jl,jkl)=cpfuls(jl,jkl)+zwght*zfsup(jl,jk)
1376 9507
format(1
x,
'SW Global Normal UV & PAR:',5f10.3)
1378 cpfrsod(jl) = cpfrsod(jl) + zwght*zfsdwn(jl,1)
1379 cpemit(jl) = cpemit(jl) + zwght*zemit(jl)
1380 cpsudu(jl) = cpsudu(jl) + zwght*zsudu(jl)
1381 cpuvdf(jl) = cpuvdf(jl) + zwght*zuvdf(jl)
1382 cpparf(jl) = cpparf(jl) + zwght*zparf(jl)
1384 aswbox(jl,icbox) = -zfsdwn(jl,
klev+1) + zfsup(jl,
klev+1)
1385 olrbox(jl,icbox) = -zflux(jl,1,
klev+1)
1386 slwbox(jl,icbox) = -zflux(jl,2,1)
1387 sswbox(jl,icbox) = -zfsdwn(jl,1)
1388 taubox(jl,icbox) = ztauint(jl)
1389 ztca(jl) = ztca(jl) + zwght*zcol(jl)
1392 9508
format(1
x,
'radlsw',i3,5f10.3,1
x,3f7.4)
1403 pfls(jl,jk) = cpfls(jl,jk)
1404 pflt(jl,jk) = cpflt(jl,jk)
1405 pfcs(jl,jk) = cpfcs(jl,jk)
1406 pfct(jl,jk) = cpfct(jl,jk)
1407 pfdct(jl,jk) = cpfdct(jl,jk)
1408 pfuct(jl,jk) = cpfuct(jl,jk)
1409 pfdlt(jl,jk) = cpfdlt(jl,jk)
1410 pfult(jl,jk) = cpfult(jl,jk)
1411 pfdcs(jl,jk) = cpfdcs(jl,jk)
1412 pfucs(jl,jk) = cpfucs(jl,jk)
1413 pfdls(jl,jk) = cpfdls(jl,jk)
1414 pfuls(jl,jk) = cpfuls(jl,jk)
1419 pfrsod(jl) = cpfrsod(jl)
1420 pemit(jl) = cpemit(jl)
1421 psudu(jl) = cpsudu(jl)
1422 puvdf(jl) = cpuvdf(jl)
1423 pparf(jl) = cpparf(jl)
1429 ztoi=taubox(jl,icbox)
1430 DO imov=icbox-1,1,-1
1431 IF(taubox(jl,imov).LE.ztoi)
GO TO 8001
1432 taubox(jl,imov+1)=taubox(jl,imov)
1436 taubox(jl,imov+1)=ztoi
1443 zasw=aswbox(jl,icbox)
1444 DO imov=icbox-1,1,-1
1445 IF(aswbox(jl,imov).LE.zasw)
GO TO 8002
1446 aswbox(jl,imov+1)=aswbox(jl,imov)
1450 aswbox(jl,imov+1)=zasw
1457 zolr=olrbox(jl,icbox)
1458 DO imov=icbox-1,1,-1
1459 IF(olrbox(jl,imov).LE.zolr)
GO TO 8003
1460 olrbox(jl,imov+1)=olrbox(jl,imov)
1464 olrbox(jl,imov+1)=zolr
1471 zslw=slwbox(jl,icbox)
1472 DO imov=icbox-1,1,-1
1473 IF(slwbox(jl,imov).LE.zslw)
GO TO 8004
1474 slwbox(jl,imov+1)=slwbox(jl,imov)
1478 slwbox(jl,imov+1)=zslw
1485 zssw=sswbox(jl,icbox)
1486 DO imov=icbox-1,1,-1
1487 IF(sswbox(jl,imov).LE.zssw)
GO TO 8005
1488 sswbox(jl,imov+1)=sswbox(jl,imov)
1492 sswbox(jl,imov+1)=zssw
1499 aswbox(jl,icbox)=-aswbox(jl,icbox)
1500 olrbox(jl,icbox)=-olrbox(jl,icbox)
1501 sswbox(jl,icbox)=-sswbox(jl,icbox)
subroutine sw(KIDIA, KFDIA, KLON, KLEV, KAER, PSCT, PCARDI, PPSOL, PALBD, PALBP, PWV, PQS, PRMU0, PCG, PCLDSW, PDP, POMEGA, POZ, PPMB, PTAU, PTAVE, PAER, PFDOWN, PFUP, PCDOWN, PCUP, PFDNN, PFDNV, PFUPN, PFUPV, PCDNN, PCDNV, PCUPN, PCUPV, PSUDU, PUVDF, PPARF, PPARCF, PDIFFS, PDIRFS, LRDUST, PPIZA_DST, PCGA_DST, PTAUREL_DST)
INTERFACE SUBROUTINE RRTM_ECRT_140GP pcco2
real(kind=jprb), dimension(6) rebcua
real(kind=jprb), dimension(6) ryfwcb
real(kind=jprb), dimension(6) ryfwcc
INTERFACE SUBROUTINE RRTM_ECRT_140GP pth
real(kind=jprb), dimension(16) wavenum2
real(kind=jprb), dimension(6) rfubb1
real(kind=jprb), dimension(16, 3) rfueta
real(kind=jprb), dimension(6) ryfwcd
real(kind=jprb), dimension(6) rflbb2
real(kind=jprb), dimension(6) rflbb1
real(kind=jprb), dimension(6) raswce
real(kind=jprb), dimension(6) rflcc3
subroutine lw(KIDIA, KFDIA, KLON, KLEV, KMODE, PCCO2, PCLDLD, PCLDLU, PDP, PDT0, PEMIS, PEMIW, PPMB, PQOF, PTL, PAER, PTAVE, PVIEW, PWV, PEMIT, PFLUX, PFLUC)
real(kind=jprb), dimension(6) rflbb3
real(kind=jprb), dimension(6) rebcuc
real(kind=jprb), dimension(6) raswcb
real(kind=jprb), dimension(6) rebcuf
real(kind=jprb), dimension(6) rfucc2
real(kind=jprb), dimension(6) ryfwcf
real(kind=jprb), dimension(6) rflcc1
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
real(kind=jprb), dimension(6) rebcud
real(kind=jprb), dimension(6) rfucc1
real(kind=jprb), dimension(6) rfldd3
subroutine radlsw(KIDIA, KFDIA, KLON, KLEV, KMODE, KAER, PRII0, PAER, PALBD, PALBP, PAPH, PAP, PCCNL, PCCNO, PCCO2, PCLFR, PDP, PEMIS, PEMIW, PLSM, PMU0, POZON, PQ, PQIWP, PQLWP, PQS, PQRAIN, PRAINT, PTH, PT, PTS, PNBAS, PNTOP, PREF_LIQ, PREF_ICE, PEMIT, PFCT, PFLT, PFCS, PFLS, PFRSOD, PSUDU, PUVDF, PPARF, PPARCF, PTINCF, PSFSWDIR, PSFSWDIF, PFSDNN, PFSDNV, LRDUST, PPIZA_DST, PCGA_DST, PTAUREL_DST, PTAU_LW, PFLUX, PFLUC, PFSDN, PFSUP, PFSCDN, PFSCUP)
real(kind=jprb), dimension(6, 6) xp
real(kind=jprb), dimension(181) totplk16
real(kind=jprb), dimension(16) rebcuh
real(kind=jprb), dimension(16) rebcug
integer(kind=jpim) nliqopt
real(kind=jprb), dimension(6) ryfwca
real(kind=jprb), dimension(16, 3) rhsavi
real(kind=jprb), dimension(6) rebcub
integer(kind=jpim), dimension(16) nspb
integer(kind=jpim), dimension(16) ng
real(kind=jprb), dimension(6) rflcc0
real(kind=jprb), dimension(6) ryfwce
real(kind=jprb), dimension(6) rfuaa1
real(kind=jprb), dimension(6) rfucc0
!$Header!integer nvarmx zd
real(kind=jprb), dimension(6) rfldd2
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
integer(kind=jpim), dimension(16) nspa
real(kind=jprb), dimension(6) rebcuj
subroutine col2box(KIDIA, KFDIA, KLON, KLEV, KBOX, KOVLP, PCLFR, PCLBX)
subroutine olw(KIDIA, KFDIA, KLON, KLEV, PCCO2, PCLDLD, PCLDLU, PDP, PDT0, PEMIS, PAPH, PQOF, PTH, PAER, PT, PVIEW, PWV, PCOLR, PCOLC, PFLUX, PFLUC)
subroutine rrtm_rrtm_140gp(KIDIA, KFDIA, KLON, KLEV, PAER, PAPH, PAP, PTS, PTH, PT, P_ZEMIS, P_ZEMIW, PQ, PCCO2, POZN, PCLDF, PTAUCLD, PTAU_LW, PEMIT, PFLUX, PFLUC, PTCLEAR)
real(kind=jprb), dimension(6) rfubb2
real(kind=jprb), dimension(6) rfuaa0
integer(kind=jpim) niceopt
real(kind=jprb), dimension(6) rfldd1
real(kind=jprb), dimension(181, 16) totplnk
integer(kind=jpim) nradlp
INTERFACE SUBROUTINE RRTM_ECRT_140GP paph
real(kind=jprb), dimension(6) rflaa1
real(kind=jprb), dimension(6) rfucc3
real(kind=jprb), dimension(6) raswcc
real(kind=jprb), dimension(16, 3) rfulio
real(kind=jprb), dimension(6) rflbb0
real(kind=jprb), dimension(16) delwave
real(kind=jprb), dimension(6) rfubb3
INTERFACE SUBROUTINE RRTM_ECRT_140GP pt
INTERFACE SUBROUTINE RRTM_ECRT_140GP pap
integer(kind=jpim) ntraer
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pts
integer(kind=jpim) nradip
real(kind=jprb), dimension(6) raswcf
real(kind=jprb), dimension(6) rfldd0
real(kind=jprb), dimension(16) wavenum1
INTERFACE SUBROUTINE RRTM_ECRT_140GP && pq
real(kind=jprb), dimension(6) rebcue
real(kind=jprb), dimension(6) rflcc2
real(kind=jprb), dimension(6) rflaa0
real(kind=jprb), dimension(6) raswcd
real(kind=jprb), dimension(6) raswca
real(kind=jprb), dimension(6) rebcui
real(kind=jprb), dimension(6) rfubb0