6 SUBROUTINE soil_temp_arp(PTSTEP,PA,PB,PC,PGAMMAT,PTDEEP,PSODELX,PTG)
67 USE modi_tridiag_ground
76 REAL,
INTENT(IN) :: PTSTEP
78 REAL,
DIMENSION(:),
INTENT(IN) :: PA,PB,PC
80 REAL,
DIMENSION(:),
INTENT(IN) :: PTDEEP, PGAMMAT
90 REAL,
DIMENSION(:),
INTENT (IN) :: PSODELX
92 REAL,
DIMENSION(:,:),
INTENT(INOUT) :: PTG
102 REAL,
DIMENSION(SIZE(PTG,1),SIZE(PTG,2)) :: ZTGM, ZFRCV, ZAMTRX, ZBMTRX
104 REAL(KIND=JPRB) :: ZHOOK_HANDLE
111 inlvld =
SIZE(ptg(:,:),2)
128 zalpha(:,jj) = psodelx(jj)*
xday/(ptstep*psodelx(1)*2.0*
xpi)
129 zlambda(:,jj) = 1.0/(psodelx(1)*(psodelx(jj)+psodelx(jj+1)))
131 zalpha(:,inlvld) = psodelx(inlvld)*
xday/(ptstep*psodelx(1)*2.0*
xpi)
138 zbmtrx(:,1) = pa(:)+(2.0*
xpi/
xday)*(1.0/(psodelx(1)*(psodelx(1)+psodelx
146 zamtrx(:,jj) = -zlambda(:,jj-1)
147 zbmtrx(:,jj) = zalpha(:,jj) + zlambda(:,jj-1) + zlambda(:,jj)
148 zcmtrx(:,jj) = -zlambda(:,jj)
149 zfrcv(:,jj) = zalpha(:,jj)*ztgm(:,jj)
155 zamtrx(:,inlvld) = -zlambda(:,inlvld-1)
156 zcmtrx(:,inlvld) = 0.0
159 zbmtrx(:,inlvld) = zalpha(:,inlvld) + zlambda(:,inlvld-1) + ptstep*pgammat
162 zbmtrx(:,inlvld) = zalpha(:,inlvld) + zlambda(:,inlvld-1)
163 zfrcv(:,inlvld) = zalpha(:,inlvld)*ztgm(:,inlvld)
subroutine soil_temp_arp(PTSTEP, PA, PB, PC, PGAMMAT, PTDEEP, PSODELX, PT
subroutine tridiag_ground(PA, PB, PC, PY, PX)