7 psurf_triangle,pdirsrfswd,pdirswdt )
54 REAL,
DIMENSION(:,:),
INTENT(IN) :: pcoszen
55 REAL,
DIMENSION(:,:),
INTENT(IN) :: psinzen
56 REAL,
DIMENSION(:,:),
INTENT(IN) :: pazimsol
58 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: pslopazi
59 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: pslopang
60 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: psurf_triangle
62 REAL,
DIMENSION(:,:,:),
INTENT(IN) :: pdirsrfswd
63 REAL,
DIMENSION(:,:,:,:),
INTENT(OUT):: pdirswdt
69 REAL,
PARAMETER :: xpi=4.*atan(1.)
70 INTEGER,
PARAMETER :: jphext = 1
72 INTEGER :: iib, iie, ijb, ije
104 IF (pcoszen(ji,jj)<0.) cycle
117 pdirswdt(ji,jj,jt,:) = max( 0.0 , pdirsrfswd(ji,jj,:) * ( &
118 cos(pslopang(ji,jj,jt)) &
119 + sin(pslopang(ji,jj,jt)) * psinzen(ji,jj) / max(pcoszen(ji,jj),0.001) &
120 * cos(pazimsol(ji,jj)-pslopazi(ji,jj,jt))))
125 pdirswdt(ji,jj,jt,:) = pdirswdt(ji,jj,jt,:) * psurf_triangle(ji,jj,jt)
subroutine surf_solar_slopes(PCOSZEN, PSINZEN, PAZIMSOL, PSLOPANG, PSLOPAZI, PSURF_TRIANGLE, PDIRSRFSWD, PDIRSWDT)