anchor.diff:  
   
       !>----------------------------------------------------------
  -    !! Compute a 3D pressure field given a surface (or sea level) pressure
  -    !! and 3D temperature, humidity and their corresponding heights.
  +    !! Compute a 3D height field given a surface (or sea level) pressure
  +    !! and 3D temperature, humidity and pressures.
       !!
       !! Input temperature is real temperature in Kelvin  [K]
       !! Input humidity is mixing ratio                   [kg/kg]
  
positive.code:     !! Change in height is in meters                    [m]
      !!
      !!----------------------------------------------------------
      subroutine compute_3d_p(p, ps, z, t, qv, zs)
          implicit none
          real, intent(inout)        , dimension(:,:,:)   :: p
          real, intent(in)           , dimension(:,:)     :: ps
          real, intent(in)           , dimension(:,:,:)   :: z
          real, intent(in)           , dimension(:,:,:)   :: t
          real, intent(in)           , dimension(:,:,:)   :: qv
          real, intent(in),  optional, dimension(:,:)     :: zs
  
          integer :: i
  
  
negative.code: 
      end subroutine compute_p_offset
  
      ! !>----------------------------------------------------------
      ! !! Compute the height of level z_out based on the pressure at z, z_out,
      ! !! and the temperature and humidity in between them
      ! !!
      ! !! Input temperature is real temperature in Kelvin  [K]
      ! !! Input humidity is mixing ratio                   [kg/kg]
      ! !! Input pressures are in Pascals                   [Pa]
      ! !! Heights (input and output) are in meters         [m]
      ! !!
      ! !!----------------------------------------------------------
      ! subroutine compute_z_offset(z_out, z, p0, p1, t, qv)
      !     implicit none
      !     real, intent(inout),    dimension(:,:)   :: z_out   !
      !     real, intent(in),       dimension(:,:)   :: z       !
      !     real, intent(in),       dimension(:,:)   :: p0      !
      !     real, intent(in),       dimension(:,:)   :: p1      !
      !     real, intent(in),       dimension(:,:)   :: t       !
      !     real, intent(in),       dimension(:,:)   :: qv      !
      !
      !     z_out = z - &
      !             Rd / gravity * ( t * ( 1 + 0.608 * qv ) ) * &
      !             LOG ( p1 / p0 )
      !
      !     ! note: WRF formulate to compute height from pressure
      !     ! z(k) = z(k-1) - &
      !     !     R_d / g * 0.5 * ( t(k) * ( 1 + 0.608 * qv(k) ) +   &
      !     !                     t(k-1) * ( 1 + 0.608 * qv(k-1) ) ) * &
      !     !     LOG ( p(k) / p(k-1) )
      !
      ! end subroutine compute_z_offset
  
      !>----------------------------------------------------------
      !! Convert relative humidity, temperature, and pressure to water vapor mixing ratio
  