1
1
2
2
SUBROUTINE run_prosail ( N , Cab , Car , Cbrown , Cw , Cm , lai , LIDFa , LIDFb , &
3
- psoil , hspot , tts , tto , psi , retval )
3
+ rsoil , psoil , hspot , tts , tto , psi , TypeLidf , retval )
4
4
5
5
USE MOD_ANGLE ! defines pi & rad conversion
6
6
USE MOD_staticvar ! static variables kept in memory for optimization
@@ -14,7 +14,7 @@ SUBROUTINE run_prosail ( N, Cab, Car, Cbrown, Cw, Cm, lai, LIDFa, LIDFb, &
14
14
REAL * 8 , dimension (nw), intent (out ) :: retval
15
15
REAL * 8 , intent (in ) :: N,Cab,Car,Cbrown,Cw,Cm
16
16
! CANOPY
17
- REAL * 8 , intent (in ) :: lai,LIDFa,LIDFb,psoil
17
+ REAL * 8 , intent (in ) :: lai,LIDFa,LIDFb,psoil,rsoil
18
18
REAL * 8 , intent (in ) :: hspot
19
19
REAL * 8 , intent (in ) :: tts,tto,psi
20
20
@@ -40,7 +40,7 @@ SUBROUTINE run_prosail ( N, Cab, Car, Cbrown, Cw, Cm, lai, LIDFa, LIDFb, &
40
40
ALLOCATE (resh(nw),resv(nw))
41
41
ALLOCATE (rsoil_old(nw))
42
42
43
- TypeLidf= 1
43
+ ! TypeLidf=1
44
44
! if 2-parameters LIDF: TypeLidf=1
45
45
! !!IF (TypeLidf.EQ.1) THEN
46
46
! LIDFa LIDF parameter a, which controls the average leaf slope
@@ -81,7 +81,8 @@ SUBROUTINE run_prosail ( N, Cab, Car, Cbrown, Cw, Cm, lai, LIDFa, LIDFb, &
81
81
! rsoil2 = wet soil
82
82
ALLOCATE (rsoil0(nw))
83
83
! psoil = 1. ! soil factor (psoil=0: wet soil / psoil=1: dry soil)
84
- rsoil0= psoil* Rsoil1+ (1 - psoil)* Rsoil2
84
+ ! rsoil : soil brightness term
85
+ rsoil0= rsoil* (psoil* Rsoil1+ (1 - psoil)* Rsoil2)
85
86
86
87
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
87
88
! ! 4SAIL canopy structure parm !!
@@ -106,16 +107,17 @@ SUBROUTINE run_prosail ( N, Cab, Car, Cbrown, Cw, Cm, lai, LIDFa, LIDFb, &
106
107
! Francois et al. (2002) Conversion of 4001100 nm vegetation albedo
107
108
! measurements into total shortwave broadband albedo using a canopy
108
109
! radiative transfer model, Agronomie
109
- skyl = 0.847 - 1.61 * sin ((90 - tts)* rd)+ 1.04 * sin ((90 - tts)* rd)* sin ((90 - tts)* rd) ! % diffuse radiation
110
+ ! skyl = 0.847- 1.61*sin((90-tts)*rd)+ 1.04*sin((90-tts)*rd)*sin((90-tts)*rd) ! % diffuse radiation
110
111
! Es = direct
111
112
! Ed = diffuse
112
113
! PAR direct
113
- PARdiro = (1 - skyl)* Es
114
+ ! PARdiro = (1-skyl)*Es
114
115
! PAR diffus
115
- PARdifo = (skyl)* Ed
116
+ ! PARdifo = (skyl)*Ed
116
117
! resv : directional reflectance
117
118
118
- retval = (rdot* PARdifo+ rsot* PARdiro)/ (PARdiro+ PARdifo)
119
+ ! retval = (rdot*PARdifo+rsot*PARdiro)/(PARdiro+PARdifo)
120
+ retval = rsot
119
121
deallocate ( lrt )
120
122
deallocate ( rho )
121
123
deallocate ( tau )
@@ -132,4 +134,4 @@ SUBROUTINE run_prosail ( N, Cab, Car, Cbrown, Cw, Cm, lai, LIDFa, LIDFb, &
132
134
deALLOCATE (rsoil0)
133
135
! WRITE( *,'(i4,f10.6)') (lambda(ii),run_prosail(ii), ii=1,nw)
134
136
END subroutine run_prosail
135
-
137
+
0 commit comments