6 SUBROUTINE bld_e_budget( OTI_EVOL, PTSTEP, PBLD, PWALL_O_HOR, &
7 PRHOA, PT_ROOF, PT_WALL, PTI_BLD, PTS_FLOOR )
78 LOGICAL,
INTENT(IN) :: OTI_EVOL
81 REAL,
INTENT(IN) :: PTSTEP
82 REAL,
DIMENSION(:),
INTENT(IN) :: PBLD
83 REAL,
DIMENSION(:),
INTENT(IN) :: PWALL_O_HOR
84 REAL,
DIMENSION(:),
INTENT(IN) :: PRHOA
86 REAL,
DIMENSION(:,:),
INTENT(IN) :: PT_ROOF
87 REAL,
DIMENSION(:,:),
INTENT(IN) :: PT_WALL
88 REAL,
DIMENSION(:),
INTENT(INOUT):: PTI_BLD
90 REAL,
DIMENSION(:),
INTENT(IN) :: PTS_FLOOR
99 REAL(KIND=JPRB) :: ZHOOK_HANDLE
106 iroof =
SIZE(pt_roof,2)
107 iwall =
SIZE(pt_wall,2)
116 IF (.NOT. oti_evol .AND.
lhook)
CALL dr_hook(
'BLD_E_BUDGET',1,zhook_handle)
117 IF (.NOT. oti_evol)
RETURN 124 WHERE (pbld(:) .GT. 0.)
125 pti_bld(:) = pti_bld(:) * (ztau-ptstep)/ztau &
126 + ( pt_roof(:,iroof) * pbld(:) &
127 + pt_wall(:,iwall) * pwall_o_hor(:) &
128 + pts_floor(:) * pbld(:) ) &
129 / ( 2. * pbld(:) + pwall_o_hor(:) ) * ptstep / ztau
131 pti_bld(:) = pts_floor(:)
138 pti_bld(:) = max( pti_bld(:) , pts_floor(:) )
subroutine bld_e_budget(OTI_EVOL, PTSTEP, PBLD, PWALL_O_HOR, PRHOA, PT_ROOF, PT_WALL, PTI_BLD, PTS_FLOOR)