68 USE yomhook
,ONLY : lhook, dr_hook
69 USE parkind1
,ONLY : jprb
76 REAL,
DIMENSION(:,:),
INTENT(IN) :: pa
77 REAL,
DIMENSION(:,:),
INTENT(IN) :: pb
78 REAL,
DIMENSION(:,:),
INTENT(IN) :: pc
79 REAL,
DIMENSION(:,:),
INTENT(IN) :: py
81 REAL,
DIMENSION(:,:),
INTENT(OUT) :: px
90 REAL,
DIMENSION(SIZE(PA,1) ) :: zdet
91 REAL,
DIMENSION(SIZE(PA,1),SIZE(PA,2)) :: zw
92 REAL(KIND=JPRB) :: zhook_handle
95 IF (lhook) CALL dr_hook(
'TRIDIAG_GROUND',0,zhook_handle)
107 px(:,1) = py(:,1) / zdet(:)
114 zw(ji,jk) = pc(ji,jk-1)/zdet(ji)
115 zdet(ji) = pb(ji,jk ) - pa(ji,jk)*zw(ji,jk)
116 px(ji,jk) = ( py(ji,jk) - pa(ji,jk)*px(ji,jk-1) ) / zdet(ji)
127 px(ji,jk) = px(ji,jk) - zw(ji,jk+1)*px(ji,jk+1)
130 IF (lhook) CALL dr_hook(
'TRIDIAG_GROUND',1,zhook_handle)
subroutine tridiag_ground(PA, PB, PC, PY, PX)