55 INTEGER,
INTENT(IN) :: KI
56 REAL,
DIMENSION(KI),
INTENT(IN) :: PH
57 REAL,
DIMENSION(KI),
INTENT(IN) :: PZFORC
64 INTEGER,
DIMENSION(KI) :: IL
65 INTEGER,
DIMENSION(KI,SB%NLVL) :: ILEVEL
73 REAL(KIND=JPRB) :: ZHOOK_HANDLE
77 IF (
lhook)
CALL dr_hook(
'CANOPY_GRID_UPDATE',0,zhook_handle)
79 IF(all(sb%XZ(:,sb%NLVL)==pzforc(:)) .AND.
lhook)
CALL dr_hook(
'CANOPY_GRID_UPDATE' 80 IF(all(sb%XZ(:,sb%NLVL)==pzforc(:)))
RETURN 87 sb%XZ(:,sb%NLVL) = pzforc(:)
97 IF( pzforc(ji) > sb%XZF(ji,jlayer+1) + 0.25 * sb%XDZ(ji,jlayer) .AND.
101 il(ji)=maxval(ilevel(ji,1:sb%NLVL-1))
103 icount = sb%NLVL-il(ji)-1
106 zztop = sb%XZF(ji,il(ji)+1)
107 zdz = 2. * ( sb%XZ(ji,sb%NLVL)-zztop ) / ( 2*icount+1 )
109 sb%XZ(ji,jlayer+il(ji)) = zztop + (jlayer-0.5) * zdz
125 IF(sb%XZF(ji,sb%NLVL-1) < ph(ji) )
THEN 129 sb%XZF(ji,sb%NLVL-1) = ph(ji)
133 sb%XZ(ji,sb%NLVL-2) = 0.5 * ( sb%XZF(ji,sb%NLVL-2) + sb%XZF(ji,sb%NLVL
143 IF (
lhook)
CALL dr_hook(
'CANOPY_GRID_UPDATE',1,zhook_handle)
subroutine canopy_grid(KI, SB)
subroutine canopy_grid_update(KI, PH, PZFORC, SB)