26 integer_m :: iabox(
klon,kbox), iaboxm1(
klon,kbox), iaboxint(
klon,kbox)
27 integer_m :: iboxtype1(
klon), iboxtype2(
klon), iboxtype3(
klon)
28 integer_m :: isumbox(kbox), isumboxm1(kbox)
33 zboxwidth=1./float(kbox)
56 iaboxm1(jl,jb)=iabox(jl,jb)
57 isumboxm1(jl)=isumboxm1(jl)+iabox(jl,jb)
64 itccm1=nint(
REAL(kbox)*ZTCC(jl))
65 IF (ztcc(jl).GT.zamin .AND. ztcc(jl).LT._half_*zboxwidth)
THEN
76 ztcc(jl) = _one_ - ( (_one_-ztcc(jl)) &
77 & *(_one_ -max( pclfr(jl,jk) , pclfr(jl,jk-1))) &
78 & /(_one_ -min( pclfr(jl,jk-1), _one_-zepsec)) )
82 ELSE IF (kovlp.EQ.2)
THEN
83 ztcc(jl)=max(ztcc(jl),pclfr(jl,jk))
87 ELSE IF (kovlp.EQ.3)
THEN
88 ztcc(jl)=_one_-(_one_-ztcc(jl))*(_one_-pclfr(jl,jk))
95 itcc=nint(
REAL(kbox)*ZTCC(jl))
96 IF (ztcc(jl).GT.zamin .AND. ztcc(jl).LT. _half_*zboxwidth)
THEN
100 ia=nint(
REAL(kbox)*PCLFR(jl,jk))
101 IF (pclfr(jl,jk).GT.zamin &
102 & .AND. pclfr(jl,jk).LT. _half_*zboxwidth)
THEN
106 iboxtype1(jl)=itcc-itccm1
108 iboxtype2(jl)=min( iam1, ia-iboxtype1(jl))
113 iboxtype3(jl)=ia - iboxtype1(jl)-iboxtype2(jl)
118 IF (iaboxint(jl,jb).EQ.0)
THEN
119 IF (iboxtype1(jl).GT.0)
THEN
122 iboxtype1(jl)=iboxtype1(jl)-1
125 IF (iaboxm1(jl,jb).EQ.1)
THEN
126 IF (iboxtype2(jl).GT.0)
THEN
128 iboxtype2(jl)=iboxtype2(jl)-1
131 IF (iboxtype3(jl).GT.0)
THEN
133 iboxtype3(jl)=iboxtype3(jl)-1
143 iboxtype1(jl)=iboxtype1(jl)+iboxtype2(jl)+iboxtype3(jl)
145 IF (iabox(jl,jb).EQ.0 .AND. iboxtype1(jl).GT.0)
THEN
147 iboxtype1(jl)=iboxtype1(jl)-1
149 isumbox(jl)=isumbox(jl)+iabox(jl,jb)
154 print 9001,(iabox(jl,jb),jb=1,kbox)
157 pclbx(jl,jb,jk)=float(iabox(jl,jb))
159 9001
FORMAT(1
x,100i1)
!$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
subroutine col2box(KIDIA, KFDIA, KLON, KLEV, KBOX, KOVLP, PCLFR, PCLBX)