6 SUBROUTINE albedo_rs14(PZENITH,PWIND,PDIR_ALB,PSCA_ALB)
47 USE modd_albedo_rs14_par
58 REAL,
DIMENSION(:),
INTENT(IN) :: PZENITH
59 REAL,
DIMENSION(:),
INTENT(IN) :: PWIND
60 REAL,
DIMENSION(:),
INTENT(OUT) :: PDIR_ALB
61 REAL,
DIMENSION(:),
INTENT(OUT) :: PSCA_ALB
66 REAL,
DIMENSION(SIZE(PZENITH)) :: ZCHL
67 REAL,
DIMENSION(SIZE(PZENITH)) :: ZDIR_ALB
68 REAL,
DIMENSION(SIZE(PZENITH)) :: ZSCA_ALB
72 REAL:: ZSIG, ZREFM, ZXX2, ZR00, ZRR0, ZRRR
73 REAL:: ZR22, ZUE, ZUE2, ZR11DF, ZALBT, ZFWC
74 REAL:: ZCHLABS, ZAW, ZBW, ZAP, ZYLMD, ZBP550
77 REAL:: ZR11, ZRW, ZRWDF, ZRDF
82 REAL(KIND=JPRB) :: ZHOOK_HANDLE
102 DO ji=1,
SIZE(pzenith)
112 zcoszen = max(cos(pzenith(ji)),0.)
114 zsig=sqrt(0.003+0.00512*pwind(ji))
119 zxx2=sqrt(1.0-(1.0-zcoszen**2)/zrefm**2)
120 zrr0=0.50*(((zxx2-zrefm*zcoszen)/(zxx2+zrefm*zcoszen))**2 +((zcoszen-zrefm*zxx2)/(zcoszen+zrefm*zxx2))**2)
121 zrrr=0.50*(((zxx2-1.34*zcoszen)/(zxx2+1.34*zcoszen))**2 +((zcoszen-1.34*zxx2)/(zcoszen+1.34*zxx2))**2)
122 zr11=zrr0-(0.0152-1.7873*zcoszen+6.8972*zcoszen**2-8.5778*zcoszen**3+4.071*zsig-7.6446*zcoszen*zsig) &
123 & * exp(0.1643-7.8409*zcoszen-3.5639*zcoszen**2-2.3588*zsig+10.0538*zcoszen*zsig)*zrr0/zrrr
131 zrdf = -0.1479 + 0.1502*zrefm - 0.0176*zsig*zrefm
138 zchlabs= xakachl(jwl)
144 zylmd = exp(0.014*(440.0-zwl))
145 zwork= exp(log(zchl(ji))*0.65)
146 zap = 0.06*zchlabs*zwork +0.2*(xaw440+0.06*zwork)*zylmd
147 zbp550 = 0.416 * exp(log(zchl(ji))*0.766)
149 IF ( zchl(ji) > 2. )
THEN 152 IF ( zchl(ji) > 0.02 )
THEN 153 zwork=log10(max(min(zchl(ji),2.),0.02))
155 zbbp=(0.002+0.01*(0.5-0.25*zwork)*(zwl/550.)**znu)*zbp550
157 zbbp=0.019*(550./zwl)*zbp550
163 zhb=0.5*zbw/(0.5*zbw+zbbp)
169 zr22=0.48168549-0.014894708*zsig-0.20703885*zsig**2
172 zr00=(0.5*zbw+zbbp)/(zaw+zap) *(0.6279-0.2227*zhb-0.0513*zhb**2 + (-0.3119+0.2465*zhb)*zcoszen)
174 zrw=zr00*(1.-zr22)/(1.-zr00*zr22)
182 zue2=sqrt(1.0-(1.0-zue**2)/zrefm**2)
183 zrr0=0.50*(((zue2-zrefm*zue)/(zue2+zrefm*zue))**2 +((zue-zrefm*zue2)/(zue+zrefm*zue2))**2)
184 zrrr=0.50*(((zue2-1.34*zue)/(zue2+1.34*zue))**2 +((zue-1.34*zue2)/(zue+1.34*zue2))**2)
185 zr11df=zrr0-(0.0152-1.7873*zue+6.8972*zue**2-8.5778*zue**3+4.071*zsig-7.6446*zue*zsig) &
186 & * exp(0.1643-7.8409*zue-3.5639*zue**2-2.3588*zsig+10.0538*zue*zsig)*zrr0/zrrr
189 zr00=(0.5*zbw+zbbp)/(zaw+zap) *(0.6279-0.2227*zhb-0.0513*zhb**2 + (-0.3119+0.2465*zhb)*zue)
190 zrwdf=zr00*(1.-zr22)*(1.-zr11df)/(1.-zr00*zr22)
194 zfwc=3.97e-4*pwind(ji)**(1.59)
202 zdir_alb(ji) = zdir_alb(ji) + xfrwl(jwl) *((1.-zfwc) * (zr11+zrw ) + zfwc*xrwc(jwl))
203 zsca_alb(ji) = zsca_alb(ji) + xfrwl(jwl) *((1.-zfwc) * (zrdf+zrwdf) + zfwc*xrwc(jwl))
213 pdir_alb(:)=zdir_alb(:)
214 psca_alb(:)=zsca_alb(:)
subroutine albedo_rs14(PZENITH, PWIND, PDIR_ALB, PSCA_ALB)