32 USE modd_prep, ONLY : cinterp_type, xzs_ls
33 USE modd_prep_teb, ONLY : xgrid_road, xgrid_wall, xgrid_roof, xgrid_floor, &
34 xws_roof, xws_road, xts_road, xts_roof, xts_wall, &
35 xti_bld, xti_road, xt_can, xq_can, xhui_bld
39 USE yomhook
,ONLY : lhook, dr_hook
40 USE parkind1
,ONLY : jprb
49 INTEGER,
INTENT(IN) :: kluout
50 CHARACTER(LEN=7),
INTENT(IN) :: hsurf
51 REAL,
POINTER,
DIMENSION(:,:) :: pfield
54 REAL,
DIMENSION(:),
ALLOCATABLE :: zps
55 REAL,
DIMENSION(:),
ALLOCATABLE :: zti_bld
56 REAL,
PARAMETER :: zrhoa=1.19
58 REAL(KIND=JPRB) :: zhook_handle
62 IF (lhook) CALL dr_hook(
'PREP_TEB_UNIF',0,zhook_handle)
74 ALLOCATE(pfield(1,
SIZE(xgrid_road)))
79 CASE(
'T_WALLA',
'T_WALLB')
80 ALLOCATE(pfield(1,
SIZE(xgrid_wall)))
86 ALLOCATE(pfield(1,
SIZE(xgrid_roof)))
92 ALLOCATE(pfield(1,
SIZE(xgrid_floor)))
96 ALLOCATE(pfield(1,
SIZE(xgrid_floor)))
102 ALLOCATE(pfield(1,1))
106 ALLOCATE(pfield(1,1))
110 ALLOCATE(pfield(1,1))
114 ALLOCATE(pfield(
SIZE(xzs_ls),1))
115 ALLOCATE(zps(
SIZE(xzs_ls)))
116 ALLOCATE(zti_bld(
SIZE(xzs_ls)))
117 zps = xp00 - zrhoa*xg*xzs_ls
119 pfield(:,1) = xhui_bld *
qsat(zti_bld, zps)
124 ALLOCATE(pfield(1,1))
128 ALLOCATE(pfield(1,1))
132 ALLOCATE(pfield(1,1))
136 ALLOCATE(pfield(1,1))
140 ALLOCATE(pfield(1,1))
153 IF (lhook) CALL dr_hook(
'PREP_TEB_UNIF',1,zhook_handle)
164 CHARACTER(LEN=4),
INTENT(IN) :: hsurftype
165 REAL,
DIMENSION(:),
INTENT(IN) :: pgrid
169 REAL,
DIMENSION(1,2) :: zt
170 REAL,
DIMENSION(1,2) :: zd
171 REAL(KIND=JPRB) :: zhook_handle
177 IF (lhook) CALL dr_hook(
'PUT_UNIF_ON_REF_GRID',0,zhook_handle)
178 SELECT CASE(hsurftype)
193 SELECT CASE(hsurftype)
194 CASE(
'ROOF',
'WALL',
'MASS')
197 IF (xti_road/= xundef)
THEN
200 WRITE(kluout,*)
'Error in PREParation of TEB fields'
201 WRITE(kluout,*)
'When Road Surface Temperature is prescribed,'
202 WRITE(kluout,*)
'Deep Road Temperature XTI_ROAD must also be prescribed'
203 CALL
abor1_sfx(
'PREP_TEB_UNIF: XTI_ROAD MUST BE PRESCRIBED')
218 IF (lhook) CALL dr_hook(
'PUT_UNIF_ON_REF_GRID',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine put_unif_on_ref_grid(HSURFTYPE, PGRID)
subroutine prep_teb_unif(KLUOUT, HSURF, PFIELD)