anchor.diff:          
       end subroutine boundary_update
       
  -!   updated all fields in domain using the respective dXdt variables
  +    !>------------------------------------------------------------
  +    !!  Updated all fields in domain using the respective dXdt variables
  +    !!
  +    !!  
  +    !!
  +    !! @param domain    full domain data structure to be updated
  +    !! @param bc        boundary conditions (containing dXdt increments)
  +    !! @param options   options structure specifies which variables need to be updated
  +    !!
  +    !!------------------------------------------------------------
       subroutine forcing_update(domain,bc,options)
           implicit none
           type(domain_type),intent(inout)::domain
  
positive.code:     end subroutine diagnostic_update
  
  
  !   Divides dXdt variables by n timesteps so that after adding it N times we will be at the
  !   correct final value. 
      subroutine apply_dt(bc,nsteps, options)
          implicit none
          type(bc_type), intent(inout) :: bc
  
negative.code:     private
      public :: step
  
      real, dimension(:,:), allocatable :: lastw, currw, uw, vw !> temporaries used to compute diagnostic w_real field
  contains
      
      !>------------------------------------------------------------
      !!  Update the edges of curdata by adding dXdt
      !!
      !!  Apply dXdt to the boundaries of a given data array. 
      !!  For these variables, dXdt is a small array just storing the boundary increments
      !!
      !! @param curdata   data array to be updated
      !! @param dXdt      Array containing increments to be applied to the boundaries. 
      !!                  (nz x max(nx,ny) x 4)
      !!
      !!------------------------------------------------------------
      subroutine boundary_update(curdata,dXdt)
          implicit none
          real,dimension(:,:,:), intent(inout) :: curdata
  