7 pdir_sw, psca_sw, psw_bands, ksw, &
8 palbnir, palbvis, palbuv, &
9 palbnir_veg, palbvis_veg, palbuv_veg, &
10 palbnir_soil, palbvis_soil, palbuv_soil, &
11 pveg, plai, pz0, pemis, ptg, &
12 pasnow, panosnow, pesnow, penosnow, &
14 psnowfree_alb_veg, psnowfree_alb_soil, &
15 palbnir_tveg, palbvis_tveg, &
16 palbnir_tsoil, palbvis_tsoil, &
17 ppsn, ppsnv_a, ppsng, ppsnv )
52 xrhosmax_es, xrhosmin_es
55 USE modi_isba_snow_frac
59 USE yomhook
,ONLY : lhook, dr_hook
60 USE parkind1
,ONLY : jprb
66 CHARACTER(LEN=*) ,
INTENT(IN) :: hisba
67 LOGICAL ,
INTENT(IN) :: otr_ml
69 INTEGER,
INTENT(IN) :: kpatch
71 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdir_sw
72 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_sw
73 REAL,
DIMENSION(:) ,
INTENT(IN) :: psw_bands
74 INTEGER,
INTENT(IN) :: ksw
75 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir
76 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis
77 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbuv
78 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_veg
79 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_veg
80 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbuv_veg
81 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbnir_soil
82 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbvis_soil
83 REAL,
DIMENSION(:) ,
INTENT(IN) :: palbuv_soil
85 REAL,
DIMENSION(:) ,
INTENT(IN) :: pveg
86 REAL,
DIMENSION(:) ,
INTENT(IN) :: plai
87 REAL,
DIMENSION(:) ,
INTENT(IN) :: pz0
88 REAL,
DIMENSION(:) ,
INTENT(IN) :: pemis
89 REAL,
DIMENSION(:) ,
INTENT(IN) :: ptg
91 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pasnow
92 REAL,
DIMENSION(:) ,
INTENT(OUT) :: panosnow
93 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pesnow
94 REAL,
DIMENSION(:) ,
INTENT(OUT) :: penosnow
95 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ptssnow
96 REAL,
DIMENSION(:) ,
INTENT(OUT) :: ptsnosnow
97 REAL,
DIMENSION(:) ,
INTENT(OUT) :: psnowfree_alb_veg
98 REAL,
DIMENSION(:) ,
INTENT(OUT) :: psnowfree_alb_soil
99 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palbnir_tveg
100 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palbvis_tveg
101 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palbnir_tsoil
102 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palbvis_tsoil
104 REAL,
DIMENSION(:) ,
INTENT(OUT):: ppsn
105 REAL,
DIMENSION(:) ,
INTENT(OUT):: ppsng
106 REAL,
DIMENSION(:) ,
INTENT(OUT):: ppsnv
107 REAL,
DIMENSION(:) ,
INTENT(OUT):: ppsnv_a
111 REAL,
DIMENSION(SIZE(PDIR_SW,1)) :: zglobal_sw
112 REAL,
DIMENSION(SIZE(PALBNIR)) :: zalbf
113 REAL,
DIMENSION(SIZE(PALBNIR)) :: zffv
114 REAL,
DIMENSION(SIZE(PALBNIR)) :: zffg
116 LOGICAL,
PARAMETER :: gmeb=.false.
117 REAL,
DIMENSION(SIZE(PDIR_SW,1)) :: zp_meb_sca_sw, zalbnir_tsnow, zalbvis_tsnow
118 REAL(KIND=JPRB) :: zhook_handle
121 IF (lhook) CALL dr_hook(
'ISBA_PROPERTIES',0,zhook_handle)
123 tpsnow%WSNOW(:,:,kpatch), tpsnow%RHO(:,:,kpatch), &
124 tpsnow%ALB (:,kpatch), pveg, plai, pz0, &
125 ppsn, ppsnv_a, ppsng, ppsnv )
138 pdir_sw, psca_sw, psw_bands, ksw, &
139 palbnir, palbvis, palbuv, &
140 palbnir_veg, palbvis_veg, palbuv_veg, &
141 palbnir_soil, palbvis_soil, palbuv_soil, &
143 zglobal_sw, panosnow, &
144 psnowfree_alb_veg, psnowfree_alb_soil, &
146 palbnir_tveg, palbvis_tveg, palbnir_tsoil, palbvis_tsoil)
153 IF(tpsnow%SCHEME ==
'3-L' .OR. tpsnow%SCHEME ==
'CRO' .OR. hisba ==
'DIF')
THEN
157 pasnow(:) = tpsnow%ALB(:,kpatch)
158 pesnow(:) = tpsnow%EMIS(:,kpatch)
159 penosnow(:) = pemis(:)
161 ptssnow(:) = tpsnow%TS(:,kpatch)
162 ptsnosnow(:) = ptg(:)
168 IF(tpsnow%SCHEME ==
'EBA')
THEN
170 pasnow(:) = tpsnow%ALB(:,kpatch)
172 penosnow(:) = pemis(:)
175 ptsnosnow(:) = ptg(:)
180 pasnow(:) = tpsnow%ALB(:,kpatch)
182 penosnow(:) = pemis(:)
185 ptsnosnow(:) = ptg(:)
190 IF (lhook) CALL dr_hook(
'ISBA_PROPERTIES',1,zhook_handle)
subroutine isba_properties(HISBA, OTR_ML, TPSNOW, KPATCH, PDIR_SW, PSCA_SW, PSW_BANDS, KSW, PALBNIR, PALBVIS, PALBUV, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PVEG, PLAI, PZ0, PEMIS, PTG, PASNOW, PANOSNOW, PESNOW, PENOSNOW, PTSSNOW, PTSNOSNOW, PSNOWFREE_ALB_VEG, PSNOWFREE_ALB_SOIL, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL, PPSN, PPSNV_A, PPSNG, PPSNV)
subroutine isba_albedo(HSNOW, OTR_ML, OMEB, PDIR_SW, PSCA_SW, PSW_BANDS, KSW, PALBNIR, PALBVIS, PALBUV, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PFALB, PFFV, PFFG, PGLOBAL_SW, PSNOWFREE_ALB, PSNOWFREE_ALB_VEG, PSNOWFREE_ALB_SOIL, PMEB_SCA_SW, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL)
subroutine isba_snow_frac(HSNOW, PWSNOW, PRSNOW, PASNOW, PVEG, PLAI, PZ0, PPSN, PPSNV_A, PPSNG, PPSNV)