49 USE yomhook
, ONLY : lhook, dr_hook
50 USE parkind1
, ONLY : jprb
58 TYPE(isba_t
),
INTENT(INOUT) :: i
60 INTEGER,
INTENT(IN) :: ki
61 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pdg
64 INTEGER :: jj, jlayer, jpatch
69 REAL(KIND=JPRB) :: zhook_handle
71 IF (lhook) CALL dr_hook(
'DG_DFTO3L',0,zhook_handle)
79 IF (i%NSIZE_NATURE_P(jpatch) == 0 ) cycle
80 DO jlayer = 1,i%NGROUND_LAYER
82 idepth=i%NWG_LAYER(jj,jpatch)
83 IF(jlayer<=idepth.AND.idepth/=nundef.AND.i%XPATCH(jj,jpatch)/=xundef)
THEN
85 pdg(jj,1) = pdg(jj,1) + i%XDG(jj,1,jpatch) * i%XPATCH(jj,jpatch)
87 zwork=min(i%XDZG(jj,jlayer,jpatch),max(0.0,i%XDG2(jj,jpatch)-i%XDG(jj,jlayer,jpatch)+i%XDZG(jj,jlayer,jpatch)))
88 pdg(jj,2) = pdg(jj,2) + zwork * i%XPATCH(jj,jpatch)
91 zwork=min(i%XDZG(jj,jlayer,jpatch),max(0.0,i%XDG(jj,jlayer,jpatch)-i%XDG2(jj,jpatch)))
92 pdg(jj,3) = pdg(jj,3) + zwork * i%XPATCH(jj,jpatch)
100 pdg(:,3) = pdg(:,2) + pdg(:,3)
101 WHERE (pdg(:,:)==0.0)
105 IF (lhook) CALL dr_hook(
'DG_DFTO3L',1,zhook_handle)
subroutine dg_dfto3l(I, KI, PDG)