anchor.diff:  
       end subroutine setup_linwinds
   
  -    ! Primary entry point!
  -    ! Called from ICAR to update the U and V wind fields based on linear theory (W is calculated to balance U/V)
  +    !>----------------------------------------------------------
  +    !! Initialize and/or apply linear wind solution. 
  +    !!
  +    !! Called from ICAR to update the U and V wind fields based on linear theory (W is calculated to balance U/V)
  +    !!
  +    !!----------------------------------------------------------
       subroutine linear_perturb(domain,options,vsmooth,reverse,useDensity)
           implicit none
           class(linearizable_type),intent(inout)::domain
  
positive.code:     end subroutine linear_winds
  
  
      subroutine add_buffer_topo(terrain, buffer_topo, smooth_window, debug)
          ! add a smoothed buffer around the edge of the terrain to prevent crazy wrap around effects
          ! in the FFT due to discontinuities between the left and right (or top and bottom) edges of the domain
          implicit none
          real, dimension(:,:), intent(in) :: terrain
          complex(C_DOUBLE_COMPLEX),allocatable,dimension(:,:), intent(inout) :: buffer_topo
  
negative.code: 
      end subroutine spatial_winds
  
      !>----------------------------------------------------------
      !! Copy options from the options data structure into module level variables
      !!
      !!----------------------------------------------------------
      subroutine set_module_options(options)
          implicit none
          type(options_type), intent(in) :: options
  
          original_buffer       = options%lt_options%buffer
          variable_N            = options%lt_options%variable_N
          smooth_nsq            = options%lt_options%smooth_nsq
  
          stability_window_size = options%lt_options%stability_window_size        ! window to average nsq over
          max_stability         = options%lt_options%max_stability                ! limits on the calculated Brunt Vaisala Frequency
          min_stability         = options%lt_options%min_stability                ! these may need to be a little narrower.
          linear_contribution   = options%lt_options%linear_contribution          ! multiplier on uhat,vhat before adding to u,v
                                                                                  ! =fractional contribution of linear perturbation to wind field
          ! these are defined per call to permit different values for low res and high res domains
          ! N_squared              = options%lt_options%N_squared                 ! static Brunt Vaisala Frequency (N^2) to use
          ! rm_N_squared           = options%lt_options%rm_N_squared              ! static BV Frequency (N^2) to use in removing linear wind field
          ! rm_linear_contribution = options%lt_options%rm_linear_contribution    ! fractional contribution of linear perturbation to remove wind field
          ! remove_lowres_linear   = options%lt_options%remove_lowres_linear      ! remove the linear mountain wave from low res forcing model
  
          linear_update_fraction    = options%lt_options%linear_update_fraction   ! controls the rate at which the linearfield updates
                                                                                  ! =fraction of linear perturbation to add each time step
  