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)