anchor.diff:      !! @param   [inout]current_precip   accumulated model precip at this time step
       !! @param   [in]last_precip         accumulated model precip prior to microphysics call
       !! @param   [in]local_fraction      fraction of precip to maintain in the local gridcell
  +    !! @param   [in]precip_delta        Flag to calculate this time steps precip as a delta from previous
       !!
       !!----------------------------------------------------------
  -    subroutine distribute_precip(current_precip, last_precip, local_fraction)
  +    subroutine distribute_precip(current_precip, last_precip, local_fraction, precip_delta)
           real, dimension(:,:), intent(inout) :: current_precip, last_precip
           real, intent(in) :: local_fraction
  +        logical, intent(in) :: precip_delta
           ! relies on module variable this_precip as a temporary array
           
           integer :: i,j, nx,ny
  
positive.code:                            )
              endif
              
              if ((options%mp_options%local_precip_fraction<1).and.(options%physics%microphysics/=kMP_MORRISON) ) then
                  call distribute_precip(domain%rain, last_rain, options%mp_options%local_precip_fraction)
                  call distribute_precip(domain%snow, last_snow, options%mp_options%local_precip_fraction)
              endif
          endif
          
  
negative.code:         nx=size(current_precip,1)
          ny=size(current_precip,2)
          
          if (precip_delta) then
              do j=2,ny-1
                  do i=2,nx-1
                      this_precip(i,j) = current_precip(i,j)-last_precip(i,j)
                      current_precip(i,j) = last_precip(i,j)
                  end do
              end do
          else
              do j=2,ny-1
                  do i=2,nx-1
                      this_precip(i,j) = last_precip(i,j)
                      current_precip(i,j) = current_precip(i,j)-last_precip(i,j)
                  end do
              end do
          endif
          
          do j=2,ny-1
              do i=2,nx-1
                  current_precip(i,j) = current_precip(i,j)+this_precip(i,j)*local_fraction
  