anchor.diff:      private
       public :: step
   
  -    real, dimension(:,:), allocatable :: lastw, currw, uw, vw ! temporaries used to compute diagnostic w_real field
  +    real, dimension(:,:), allocatable :: lastw, currw, uw, vw !> temporaries used to compute diagnostic w_real field
   contains
       
  -!   update just the edges of curdata by adding dXdt
  +    !>------------------------------------------------------------
  +    !!  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
  
positive.code:         call diagnostic_update(domain,options)
      end subroutine forcing_update
      
      subroutine diagnostic_update(domain,options)
          implicit none
          type(domain_type), intent(inout) :: domain
  
negative.code:     end subroutine apply_dt
      
      
      !>------------------------------------------------------------
      !!  Step forward one IO time step. 
      !! 
      !!  Calculated the internal model time step to satisfy the CFL criteria, 
      !!  then updates all forcing update increments for that dt and loops through
      !!  time calling physics modules. 
      !!  Also checks to see if it is time to write a model output file.
      !!
      !! @param domain    domain data structure containing model state
      !! @param options   model options structure
      !! @param bc        model boundary conditions data structure
      !! @param model_time    Current internal model time (seconds since start of run)
      !! @param next_output   Next time to write an output file (in "model_time")
      !!
      !!------------------------------------------------------------
      subroutine step(domain,options,bc,model_time,next_output)
          implicit none
          type(domain_type),intent(inout)::domain
  