anchor.diff:      !                   central difference term     
     
   
  +    
  +    ! sanity check
  +    if (U%grid%ng < 4) then
  +       print *, "ERROR: ng < 4 in plm states"
  +       stop
  +    endif
  +
  +
       !-------------------------------------------------------------------------
       ! convert to primitve variables
       !-------------------------------------------------------------------------
  -
  -
  +    call build(Q, U%grid, nprim)
  +
  +    do i = U%grid%lo-U%grid%ng, U%grid%hi+U%grid%ng
  +       ! density
  +       Q%data(i,iqdens) = U%data(i,iudens)
  +
  +       ! velocity
  +       Q%data(i,iqxvel) = U%data(i,iumomx)/U%data(i,iudens)
  +
  +       ! pressure
  +       e = (U%data(i,iuener) - &
  +            0.5_dp_t*U%data(i,iumomx)**2/U%data(i,iudens))/U%data(i,iudens)
  +       call eos(eos_input_e, Q%data(i,iqpres), e, Q%data(i,iqdens))
  +    enddo
   
   
       !-------------------------------------------------------------------------
  
positive.code:   use grid_module
    use variables_module
    use params_module
  
    implicit none
  
  
negative.code:     type(gridedgevar_t), intent(inout) :: U_l, U_r
      real (kind=dp_t),    intent(in   ) :: dt
  
      type(gridvar_t) :: Q
      type(gridedgevar_t) :: Q_l, Q_r
      type(gridvar_t) :: ldelta, temp
  
      real (kind=dp_t) :: e
      real (kind=dp_t) :: test
  
      integer :: i, n
  
      ! piecewise linear slopes -- this is a 1-d version of the Colella
      ! 2nd order unsplit Godunov scheme (Colella 1990).  See also
  