70        thermodyn_qd        => atmos_thermodyn_qd, &
    71        thermodyn_r         => atmos_thermodyn_r,  &
    72        thermodyn_temp_pres => atmos_thermodyn_temp_pres
    84     real(RP), 
intent(out) :: POTT(KA,IA,JA)
    85     real(RP), 
intent(out) :: TEMP(KA,IA,JA)
    86     real(RP), 
intent(out) :: PRES(KA,IA,JA)
    87     real(RP), 
intent(out) :: PHYD(KA,IA,JA)
    88     real(RP), 
intent(out) :: W   (KA,IA,JA)
    89     real(RP), 
intent(out) :: U   (KA,IA,JA)
    90     real(RP), 
intent(out) :: V   (KA,IA,JA)
    91     real(RP), 
intent(out) :: N2  (KA,IA,JA)
    92     real(RP), 
intent(in)  :: DENS(KA,IA,JA)
    93     real(RP), 
intent(in)  :: MOMZ(KA,IA,JA)
    94     real(RP), 
intent(in)  :: MOMX(KA,IA,JA)
    95     real(RP), 
intent(in)  :: MOMY(KA,IA,JA)
    96     real(RP), 
intent(in)  :: RHOT(KA,IA,JA)
    97     real(RP), 
intent(in)  :: QTRC(KA,IA,JA,QA)
   102     real(RP) :: qdry, Rtot
   109     call thermodyn_temp_pres( temp(:,:,:),   & 
   121        ph(ke) = pres(ke,i,j) - dens(ke,i,j) * grav * ( fz(ke,i,j) - cz(ke,i,j) )
   123           ph(k-1) = ph(k) + dens(k,i,j) * grav * ( fz(k,i,j) - fz(k-1,i,j) )
   124           phyd(k,i,j) = ( ph(k) + ph(k-1) ) * 0.5_rp
   135        w(k,i,j) = 0.5_rp * ( momz(k-1,i,j)+momz(k,i,j) ) / dens(k,i,j)
   146        momws = momz(ks,i,j) &
   147              + ( j13g(ks,i,j,
i_xyw) * ( momx(ks,i,j) + momx(ks,i-1,j) + momx(ks+1,i,j) + momx(ks+1,i-1,j) ) &
   148                + j23g(ks,i,j,
i_xyw) * ( momy(ks,i,j) + momy(ks,i,j-1) + momy(ks+1,i,j) + momy(ks+1,i,j-1) ) ) &
   149                * 0.25_rp / gsqrt(ks,i,j,
i_xyw)
   152        w(ks,i,j) = momws * 0.5_rp &
   153                  - ( j13g(ks,i,j,
i_xyz) * ( momx(ks,i,j) + momx(ks,i-1,j) ) &
   154                    + j23g(ks,i,j,
i_xyz) * ( momy(ks,i,j) + momy(ks,i,j-1) ) ) &
   155                    * 0.5_rp / ( dens(ks,i,j) * gsqrt(ks,i,j,
i_xyz) )
   162        w(ke,i,j) = 0.5_rp * ( momz(ke-1,i,j) ) / dens(ke,i,j)
   171        u(k,i,j) = 0.5_rp * ( momx(k,i-1,j)+momx(k,i,j) ) / dens(k,i,j)
   179        u(k,1,j) = momx(k,1,j) / dens(k,1,j)
   188        v(k,i,j) = 0.5_rp * ( momy(k,i,j-1)+momy(k,i,j) ) / dens(k,i,j)
   196        v(k,i,1) = momy(k,i,1) / dens(k,i,1)
   203        w(   1:ks-1,i,j) = w(ks,i,j)
   204        u(   1:ks-1,i,j) = u(ks,i,j)
   205        v(   1:ks-1,i,j) = v(ks,i,j)
   206        w(ke+1:ka,  i,j) = w(ke,i,j)
   207        u(ke+1:ka,  i,j) = u(ke,i,j)
   208        v(ke+1:ka,  i,j) = v(ke,i,j)
   212     call comm_vars8( w(:,:,:), 1 )
   213     call comm_vars8( u(:,:,:), 2 )
   214     call comm_vars8( v(:,:,:), 3 )
   215     call comm_wait ( w(:,:,:), 1, .false. )
   216     call comm_wait ( u(:,:,:), 2, .false. )
   217     call comm_wait ( v(:,:,:), 3, .false. )
   224        pott(k,i,j) = rhot(k,i,j) / dens(k,i,j)
   235              q(iq) = qtrc(k,i,j,iq)
   237           call thermodyn_qd( qdry, q(:), tracer_mass(:) )
   238           call thermodyn_r ( rtot, q(:), tracer_r(:), qdry )
   239           rpt(k) = rtot * pott(k,i,j)
   242        n2(ks,i,j) = grav * ( rpt(ks+1) - rpt(ks) ) / ( ( cz(ks+1,i,j) - cz(ks,i,j) ) * rpt(ks) )
   244           n2(k,i,j) = grav * ( rpt(k+1) - rpt(k-1) ) / ( ( cz(k+1,i,j) - cz(k-1,i,j) ) * rpt(k) )
   246        n2(ke,i,j) = grav * ( rpt(ke) - rpt(ke-1) ) / ( ( cz(ke,i,j) - cz(ke-1,i,j) ) * rpt(ke) )
 real(rp), dimension(:,:,:,:), allocatable, public gtrans_j23g
(2,3) element of Jacobian matrix * {G}^1/2 
real(rp), dimension(:,:,:), allocatable, public real_fz
geopotential height [m] (cell face ) 
real(rp), dimension(:,:,:), allocatable, public real_cz
geopotential height [m] (cell center) 
real(rp), public const_grav
standard acceleration of gravity [m/s2] 
real(rp), dimension(:,:,:,:), allocatable, public gtrans_j13g
(1,3) element of Jacobian matrix * {G}^1/2 
real(rp), dimension(:,:,:,:), allocatable, public gtrans_gsqrt
transformation metrics from Z to Xi, {G}^1/2 
module ATMOSPHERE / Thermodynamics