7 pdir_sw, psca_sw, psw_bands, ksw,&
8 pts, pemis, palb, pta, &
9 palbnir_tveg, palbvis_tveg, &
10 palbnir_tsoil, palbvis_tsoil )
52 USE modi_isba_properties
53 USE modi_flag_teb_greenroof_n
56 USE yomhook
,ONLY : lhook, dr_hook
57 USE parkind1
,ONLY : jprb
64 TYPE(teb_t),
INTENT(INOUT) :: t
68 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdir_sw
69 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_sw
70 REAL,
DIMENSION(:) ,
INTENT(IN) :: psw_bands
71 INTEGER,
INTENT(IN) :: ksw
73 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pts
74 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pemis
75 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palb
77 REAL,
DIMENSION(:) ,
INTENT(IN),
OPTIONAL :: pta
79 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbnir_tveg
80 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbvis_tveg
81 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbnir_tsoil
82 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbvis_tsoil
92 REAL,
DIMENSION(SIZE(PALB)) :: ztsnosnow
93 REAL,
DIMENSION(SIZE(PALB)) :: ztssnow
94 REAL,
DIMENSION(SIZE(PALB)) :: zanosnow
95 REAL,
DIMENSION(SIZE(PALB)) :: zasnow
96 REAL,
DIMENSION(SIZE(PALB)) :: zenosnow
97 REAL,
DIMENSION(SIZE(PALB)) :: zesnow
99 REAL,
DIMENSION(SIZE(PALB)) :: zalbnir_tveg
100 REAL,
DIMENSION(SIZE(PALB)) :: zalbvis_tveg
101 REAL,
DIMENSION(SIZE(PALB)) :: zalbnir_tsoil
102 REAL,
DIMENSION(SIZE(PALB)) :: zalbvis_tsoil
104 REAL(KIND=JPRB) :: zhook_handle
108 IF (lhook) CALL dr_hook(
'GREENROOF_PROPERTIES',0,zhook_handle)
123 CALL
isba_properties(grm%TGRO%CISBA_GR, grm%TGRO%LTR_ML_GR, grm%TGR%CUR%TSNOW, 1, &
124 pdir_sw, psca_sw, psw_bands, ksw, &
125 grm%TGRPE%CUR%XALBNIR, grm%TGRPE%CUR%XALBVIS, grm%TGRPE%CUR%XALBUV, &
126 grm%TGRP%XALBNIR_VEG, grm%TGRP%XALBVIS_VEG, grm%TGRP%XALBUV_VEG, &
127 grm%TGRP%XALBNIR_SOIL, grm%TGRP%XALBVIS_SOIL, &
128 grm%TGRP%XALBUV_SOIL, grm%TGRPE%CUR%XVEG, grm%TGRPE%CUR%XLAI, &
129 grm%TGRPE%CUR%XZ0, grm%TGRPE%CUR%XEMIS, grm%TGR%CUR%XTG(:,1), &
133 grm%TGR%CUR%XSNOWFREE_ALB_VEG, grm%TGR%CUR%XSNOWFREE_ALB_SOIL, &
134 zalbnir_tveg, zalbvis_tveg, zalbnir_tsoil, &
136 grm%TGR%CUR%XPSN, grm%TGR%CUR%XPSNV_A, grm%TGR%CUR%XPSNG, grm%TGR%CUR%XPSNV )
138 grm%TGR%CUR%XSNOWFREE_ALB = zanosnow
141 palb = grm%TGR%CUR%XPSN(:) * zasnow + (1.-grm%TGR%CUR%XPSN(:)) * zanosnow
143 pemis= grm%TGR%CUR%XPSN(:) * zesnow + (1.-grm%TGR%CUR%XPSN(:)) * zenosnow
146 pts =((grm%TGR%CUR%XPSN(:) * zesnow * ztssnow**4 + &
147 (1.-grm%TGR%CUR%XPSN(:)) * zenosnow * ztsnosnow**4) / pemis)**0.25
149 IF(present(palbnir_tveg))palbnir_tveg(:)=zalbnir_tveg(:)
150 IF(present(palbvis_tveg))palbvis_tveg(:)=zalbvis_tveg(:)
151 IF(present(palbnir_tsoil))palbnir_tsoil(:)=zalbnir_tsoil(:)
152 IF(present(palbvis_tsoil))palbvis_tsoil(:)=zalbvis_tsoil(:)
154 IF (lhook) CALL dr_hook(
'GREENROOF_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 flag_teb_greenroof_n(TGR, TGRO, TGRPE, T, TVG, KFLAG)
subroutine greenroof_properties(T, TVG, GRM, PDIR_SW, PSCA_SW, PSW_BANDS, KSW, PTS, PEMIS, PALB, PTA, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL)