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