149 |
#include "com_radcon.h" |
#include "com_radcon.h" |
150 |
|
|
151 |
C-- Routine arguments: |
C-- Routine arguments: |
152 |
_RL PSA(NGP),dpFac(NGP,NLEV),QA(NGP,NLEV),RH(NGP,NLEV),ALB(NGP) |
_RL PSA(NGP),dpFac(NGP,NLEV),QA(NGP,NLEV),RH(NGP,NLEV) |
153 |
|
_RL ALB(NGP,0:3) |
154 |
INTEGER ICLTOP(NGP) |
INTEGER ICLTOP(NGP) |
155 |
_RL CLOUDC(NGP), FTOP(NGP), FSFC(NGP), DFABS(NGP,NLEV) |
_RL CLOUDC(NGP), FTOP(NGP), FSFC(NGP,0:3), DFABS(NGP,NLEV) |
156 |
|
|
157 |
_RL FSOL(NGP), OZONE(NGP), OZUPP(NGP), ZENIT(NGP), STRATZ(NGP) |
_RL FSOL(NGP), OZONE(NGP), OZUPP(NGP), ZENIT(NGP), STRATZ(NGP) |
158 |
_RL TAU2(NGP,NLEV,NBAND),STRATC(NGP) |
_RL TAU2(NGP,NLEV,NBAND),STRATC(NGP) |
335 |
C 4.1 Absorption and reflection at the surface |
C 4.1 Absorption and reflection at the surface |
336 |
C |
C |
337 |
DO J=1,NGP |
DO J=1,NGP |
338 |
FSFC(J) =FLUX(J,1)+FLUX(J,2) |
C for each surface type: |
339 |
FLUX(J,1)=FLUX(J,1)*ALB(J) |
FSFC(J,1)=FLUX(J,1)*(1.-ALB(J,1))+FLUX(J,2) |
340 |
FSFC(J) =FSFC(J)-FLUX(J,1) |
FSFC(J,2)=FLUX(J,1)*(1.-ALB(J,2))+FLUX(J,2) |
341 |
|
FSFC(J,3)=FLUX(J,1)*(1.-ALB(J,3))+FLUX(J,2) |
342 |
|
C weighted average according to land/sea/sea-ice fraction: |
343 |
|
FSFC(J,0)=FLUX(J,1)+FLUX(J,2) |
344 |
|
FLUX(J,1)=FLUX(J,1)*ALB(J,0) |
345 |
|
FSFC(J,0)=FSFC(J,0)-FLUX(J,1) |
346 |
ENDDO |
ENDDO |
347 |
C |
C |
348 |
C 4.2 Absorption of upward flux |
C 4.2 Absorption of upward flux |