1 SUBROUTINE pppmer(KPROMA,KSTART,KPROF,PRPRESS,POROG,PTSTAR,PT0,PMSLPPP)
72 INTEGER,
INTENT(IN) :: KPROMA
73 INTEGER,
INTENT(IN) :: KSTART
74 INTEGER,
INTENT(IN) :: KPROF
82 REAL,
INTENT(IN) :: PRPRESS(kproma)
83 REAL,
INTENT(IN) :: POROG(kproma)
84 REAL,
INTENT(IN) :: PTSTAR(kproma)
85 REAL,
INTENT(IN) :: PT0(kproma)
86 REAL,
INTENT(OUT) :: PMSLPPP(kproma)
87 REAL :: ZTSTAR(kproma)
88 REAL :: ZALPHA(kproma)
95 REAL :: ZDTDZSG, ZOROG, ZT0, ZTX, ZTY, ZX, ZY, ZY2
98 REAL,
PARAMETER :: RDTDZ1=-0.0065
117 IF(ptstar(jl) < zty)
THEN
119 ztstar(jl)=0.5*(zty+ptstar(jl))
120 ELSEIF(ptstar(jl) < ztx)
THEN
121 ztstar(jl)=ptstar(jl)
124 ztstar(jl)=0.5*(ztx+ptstar(jl))
127 zt0=ztstar(jl)+zdtdzsg*porog(jl)
128 IF(ztx > ztstar(jl) .AND. zt0 > ztx)
THEN
130 ELSEIF(ztx <= ztstar(jl) .AND. zt0 > ztstar(jl))
THEN
137 zorog=sign(max(1.0,abs(porog(jl))),porog(jl))
138 zalpha(jl)=rd*(zt0-ztstar(jl))/zorog
145 IF (abs(porog(jl)) >= 0.001)
THEN
146 zx=porog(jl)/(rd*ztstar(jl))
151 pmslppp(jl)=prpress(jl)*exp(zx*(1.0-0.5*zy+1.0/3.*zy2))
153 pmslppp(jl)=prpress(jl)
subroutine pppmer(KPROMA, KSTART, KPROF, PRPRESS, POROG, PTSTAR, PT0, PMSLPPP)