anchor.diff:          
       end subroutine mp
       
  -    subroutine mp_finish()
  +    !>----------------------------------------------------------
  +    !! Finalize microphysical routines
  +    !!
  +    !! This routine will call the finalization routines (if any) for the specified microphysics packages. 
  +    !! It also deallocates any module level variables, e.g. SR
  +    !! 
  +    !! @param   options     ICAR model options to specify required initializations
  +    !!
  +    !!----------------------------------------------------------
  +    subroutine mp_finish(options)
           implicit none
  +        type(options_type),intent(in)::options
  +        
           if (allocated(SR)) then
               deallocate(SR)
           endif
  +        if (allocated(last_snow)) then
  +            deallocate(last_snow)
  +        endif
  +        if (allocated(last_rain)) then
  +            deallocate(last_rain)
  +        endif
  +        if (allocated(this_precip)) then
  +            deallocate(this_precip)
  +        endif
       end subroutine mp_finish
   end module microphysics
  
positive.code:     integer, dimension(npoints) :: y_list = [ 1,1,1, 0,0, -1,-1,-1]
  contains
      
      subroutine mp_init(options)
          implicit none
          type(options_type), intent(in)::options
  
negative.code:                 
      end subroutine distribute_precip
      
      !>----------------------------------------------------------
      !! Microphysical driver
      !!
      !! This routine handles calling the individual microphysics routine specified, that 
      !! includes creating and passing any temporary variables, and checking when to update
      !! the microphysics based on the specified update_interval. 
      !! 
      !! @param   domain      ICAR model domain structure
      !! @param   options     ICAR model options structure
      !! @param   dt_in       Current driving time step (this is the advection step)
      !! @param   model_time  Current model time (to check if it will exceed the update_interval)
      !!
      !!----------------------------------------------------------
      subroutine mp(domain,options,dt_in, model_time)
          implicit none
          type(domain_type),intent(inout)::domain
  