8 SUBROUTINE pres2lev(varo,varn,lmo,lmn,po,pn,ni,nj,ok_invertp)
25 LOGICAL,
INTENT(IN) :: ok_invertp
26 INTEGER,
INTENT(IN) :: lmo
27 INTEGER,
INTENT(IN) :: lmn
29 INTEGER,
INTENT(IN) :: ni,nj
30 REAL,
INTENT(IN) :: po(ni*nj,lmo)
31 REAL,
INTENT(IN) :: pn(ni*nj,lmn)
33 REAL,
INTENT(IN) :: varo(ni*nj,lmo)
34 REAL,
INTENT(OUT) :: varn(ni*nj,lmn)
36 REAL :: zvaro(ni*nj,lmo),zpo(ni*nj,lmo)
48 zpo(k,lo)=po(k,lmo+1-lo)
49 zvaro(k,lo)=varo(k,lmo+1-lo)
56 zvaro(k,lo)=varo(k,lo)
64 IF (pn(k,ln) >= zpo(k,1) )
THEN
65 varn(k,ln) = zvaro(k,1)
66 ELSE IF (pn(k,ln) <= zpo(k,lmo))
THEN
67 varn(k,ln) = zvaro(k,lmo)
68 ELSE IF ( pn(k,ln) <= zpo(k,lo) .AND. pn(k,ln) > zpo(k,lo+1) )
THEN
69 coef = (pn(k,ln)-zpo(k,lo)) / (zpo(k,lo+1)-zpo(k,lo))
70 varn(k,ln) = zvaro(k,lo) + coef*(zvaro(k,lo+1)-zvaro(k,lo))
subroutine pres2lev(varo, varn, lmo, lmn, po, pn, ni, nj, ok_invertp)