4 SUBROUTINE nflxtr(pdtime,pmfu,pmfd,pen_u,pde_u,pen_d,pde_d,pplay,paprs,x,dx) 
 
   26   REAL,
INTENT(IN) :: pdtime  
 
   31   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pmfu  
 
   32   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pmfd  
 
   33   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pen_u 
 
   34   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pde_u 
 
   35   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pen_d 
 
   36   REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pde_d 
 
   38   REAL,
DIMENSION(klon,klev),
INTENT(IN)   :: pplay 
 
   39   REAL,
DIMENSION(klon,klev+1),
INTENT(IN) :: paprs 
 
   40   REAL,
DIMENSION(klon,klev),
INTENT(IN)   :: x     
 
   41   REAL,
DIMENSION(klon,klev),
INTENT(INOUT) :: dx   
 
   44   REAL,
DIMENSION(klon,klev+1) :: zmfu  
 
   45   REAL,
DIMENSION(klon,klev+1) :: zmfd  
 
   46   REAL,
DIMENSION(klon,klev)   :: zen_u
 
   47   REAL,
DIMENSION(klon,klev)   :: zde_u
 
   48   REAL,
DIMENSION(klon,klev)   :: zen_d
 
   49   REAL,
DIMENSION(klon,klev)   :: zde_d
 
   55   REAL,
DIMENSION(klon,klev)   :: xu      
 
   56   REAL,
DIMENSION(klon,klev)   :: xd      
 
   57   REAL,
DIMENSION(klon,klev+1) :: zmfux   
 
   58   REAL,
DIMENSION(klon,klev+1) :: zmfdx   
 
   59   REAL,
DIMENSION(klon,klev+1) :: zmfex   
 
   61   REAL,
PARAMETER              :: zmfmin=1.e-10
 
   85         zde_d(i,k) =-zmfd(i,k+1)+zmfd(i,k)+zen_d(i,k)
 
   86         zen_u(i,k) = zmfu(i,k+1)-zmfu(i,k)+zde_u(i,k)
 
  102         IF ((zmfu(i,k+1)+zde_u(i,k)).lt.zmfmin) 
THEN 
  105            xu(i,k)=(zmfux(i,k)+zen_u(i,k)*x(i,k))/(zmfu(i,k+1)+zde_u(i,k))
 
  107         zmfux(i,k+1)=zmfu(i,k+1)*xu(i,k)
 
  120         IF ((zde_d(i,k)-zmfd(i,k)).lt.zmfmin) 
THEN 
  123            xd(i,k)=(zmfdx(i,k+1)-zen_d(i,k)*x(i,k))/(zmfd(i,k)-zde_d(i,k))
 
  125         zmfdx(i,k)=zmfd(i,k)*xd(i,k)
 
  134         zmfe=-zmfu(i,k)-zmfd(i,k)
 
  136            zmfex(i,k)= zmfe*x(i,k)
 
  138            zmfex(i,k)= zmfe*x(i,k-1)
 
  152         dx(i,k)=
rg/(paprs(i,k)-paprs(i,k+1))*pdtime*  &
 
  153              ( zmfux(i,k) - zmfux(i,k+1) +            &
 
  154              zmfdx(i,k) - zmfdx(i,k+1) +              &
 
  155              zmfex(i,k) - zmfex(i,k+1) )
 
subroutine nflxtr(pdtime, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, pplay, paprs, x, dx)