7 pdir_sw, psca_sw, psw_bands, ksw, &
8 pts, pemis, palb, pta, &
9 palbnir_tveg, palbvis_tveg, &
10 palbnir_tsoil, palbvis_tsoil )
45 USE modi_isba_properties
46 USE modi_flag_teb_garden_n
49 USE yomhook
,ONLY : lhook, dr_hook
50 USE parkind1
,ONLY : jprb
57 TYPE(teb_t),
INTENT(INOUT) :: t
60 REAL,
DIMENSION(:,:),
INTENT(IN) :: pdir_sw
61 REAL,
DIMENSION(:,:),
INTENT(IN) :: psca_sw
62 REAL,
DIMENSION(:) ,
INTENT(IN) :: psw_bands
63 INTEGER,
INTENT(IN) :: ksw
65 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pts
66 REAL,
DIMENSION(:) ,
INTENT(OUT) :: pemis
67 REAL,
DIMENSION(:) ,
INTENT(OUT) :: palb
69 REAL,
DIMENSION(:) ,
INTENT(IN),
OPTIONAL :: pta
71 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbnir_tveg
72 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbvis_tveg
73 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbnir_tsoil
74 REAL,
DIMENSION(:) ,
INTENT(OUT),
OPTIONAL :: palbvis_tsoil
84 REAL,
DIMENSION(SIZE(PALB)) :: ztsnosnow
85 REAL,
DIMENSION(SIZE(PALB)) :: ztssnow
86 REAL,
DIMENSION(SIZE(PALB)) :: zanosnow
87 REAL,
DIMENSION(SIZE(PALB)) :: zasnow
88 REAL,
DIMENSION(SIZE(PALB)) :: zenosnow
89 REAL,
DIMENSION(SIZE(PALB)) :: zesnow
91 REAL,
DIMENSION(SIZE(PALB)) :: zalbnir_tveg
92 REAL,
DIMENSION(SIZE(PALB)) :: zalbvis_tveg
93 REAL,
DIMENSION(SIZE(PALB)) :: zalbnir_tsoil
94 REAL,
DIMENSION(SIZE(PALB)) :: zalbvis_tsoil
96 REAL(KIND=JPRB) :: zhook_handle
99 IF (lhook) CALL dr_hook(
'GARDEN_PROPERTIES',0,zhook_handle)
113 CALL
isba_properties(gdm%TVG%CISBA, gdm%TVG%LTR_ML, gdm%TGD%CUR%TSNOW, 1, &
114 pdir_sw, psca_sw, psw_bands, ksw, &
115 gdm%TGDPE%CUR%XALBNIR(:), gdm%TGDPE%CUR%XALBVIS(:), gdm%TGDPE%CUR%XALBUV(:), &
116 gdm%TGDP%XALBNIR_VEG(:), gdm%TGDP%XALBVIS_VEG(:), gdm%TGDP%XALBUV_VEG(:), &
117 gdm%TGDP%XALBNIR_SOIL(:), gdm%TGDP%XALBVIS_SOIL(:), gdm%TGDP%XALBUV_SOIL(:), &
118 gdm%TGDPE%CUR%XVEG(:), gdm%TGDPE%CUR%XLAI(:), gdm%TGDPE%CUR%XZ0(:), &
119 gdm%TGDPE%CUR%XEMIS(:),gdm%TGD%CUR%XTG(:,1), &
120 zasnow, zanosnow, zesnow, zenosnow, ztssnow, ztsnosnow, &
121 gdm%TGD%CUR%XSNOWFREE_ALB_VEG, gdm%TGD%CUR%XSNOWFREE_ALB_SOIL, &
122 zalbnir_tveg, zalbvis_tveg, zalbnir_tsoil, zalbvis_tsoil, &
123 gdm%TGD%CUR%XPSN(:), gdm%TGD%CUR%XPSNV_A(:), gdm%TGD%CUR%XPSNG(:), &
124 gdm%TGD%CUR%XPSNV(:) )
126 gdm%TGD%CUR%XSNOWFREE_ALB = zanosnow
129 palb = gdm%TGD%CUR%XPSN(:) * zasnow + (1.-gdm%TGD%CUR%XPSN(:)) * zanosnow
131 pemis= gdm%TGD%CUR%XPSN(:) * zesnow + (1.-gdm%TGD%CUR%XPSN(:)) * zenosnow
134 pts =((gdm%TGD%CUR%XPSN(:) * zesnow * ztssnow**4 + &
135 (1.-gdm%TGD%CUR%XPSN(:)) * zenosnow * ztsnosnow**4) / pemis)**0.25
137 IF(present(palbnir_tveg))palbnir_tveg(:)=zalbnir_tveg(:)
138 IF(present(palbvis_tveg))palbvis_tveg(:)=zalbvis_tveg(:)
139 IF(present(palbnir_tsoil))palbnir_tsoil(:)=zalbnir_tsoil(:)
140 IF(present(palbvis_tsoil))palbvis_tsoil(:)=zalbvis_tsoil(:)
142 IF (lhook) CALL dr_hook(
'GARDEN_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_garden_n(TGD, TGDO, TGDPE, T, TVG, KFLAG)
subroutine garden_properties(T, GDM, PDIR_SW, PSCA_SW, PSW_BANDS, KSW, PTS, PEMIS, PALB, PTA, PALBNIR_TVEG, PALBVIS_TVEG, PALBNIR_TSOIL, PALBVIS_TSOIL)