6 SUBROUTINE roof_impl_coef(PTSTEP, KROOF_LAYER, PD_ROOF, PTC_ROOF, PHC_ROOF, PT_ROOF, PTDEEP_A,PTDEEP_B)
51 USE yomhook
,ONLY : lhook, dr_hook
52 USE parkind1
,ONLY : jprb
54 USE modi_layer_e_budget_get_coef
61 REAL ,
INTENT(IN) :: ptstep
62 INTEGER ,
INTENT(IN) :: kroof_layer
63 REAL,
DIMENSION(:,:),
INTENT(IN) :: pd_roof
64 REAL,
DIMENSION(:,:),
INTENT(IN) :: ptc_roof
65 REAL,
DIMENSION(:,:),
INTENT(IN) :: phc_roof
66 REAL,
DIMENSION(:,:),
INTENT(IN) :: pt_roof
67 REAL,
DIMENSION(:),
INTENT(OUT) :: ptdeep_a, ptdeep_b
85 REAL,
DIMENSION(SIZE(PTDEEP_A),KROOF_LAYER) :: za,&
90 REAL,
DIMENSION(SIZE(PTDEEP_A)) :: zdet
91 REAL,
DIMENSION(SIZE(PTDEEP_A),KROOF_LAYER) :: zw
92 REAL,
DIMENSION(SIZE(PTDEEP_A),KROOF_LAYER) :: zt
94 REAL(KIND=JPRB) :: zhook_handle
96 IF (lhook) CALL dr_hook(
'ROOF_IMPL_COEF',0,zhook_handle)
111 zdet(:) = zb(:,kroof_layer)
113 zt(:,kroof_layer) = zy(:,kroof_layer) / zdet(:)
117 DO jk=kroof_layer-1,1,-1
118 zw(:,jk) = za(:,jk+1)/zdet(:)
119 zdet(:) = zb(:,jk ) - zc(:,jk)*zw(:,jk)
120 zt(:,jk) = ( zy(:,jk) - zc(:,jk)*zt(:,jk+1) ) / zdet(:)
131 ptdeep_a = 1. / zdet(:)
137 IF (lhook) CALL dr_hook(
'ROOF_IMPL_COEF',1,zhook_handle)
subroutine roof_impl_coef(PTSTEP, KROOF_LAYER, PD_ROOF, PTC_ROOF, PHC_ROOF, PT_ROOF, PTDEEP_A, PTDEEP_B)
subroutine layer_e_budget_get_coef(PT, PTSTEP, PIMPL, PHC, PTC, PD, PA, PB, PC, PY)