anchor.diff:      type lt_options_type
           integer :: buffer                   ! number of grid cells to buffer around the domain MUST be >=1
           integer :: stability_window_size    ! window to average nsq over
  -        real :: max_stability               ! limits on the calculated Brunt Vaisala Frequency
  -        real :: min_stability               ! these may need to be a little narrower. 
  +        real    :: max_stability            ! limits on the calculated Brunt Vaisala Frequency
  +        real    :: min_stability            ! these may need to be a little narrower. 
           logical :: variable_N               ! Compute the Brunt Vaisala Frequency (N^2) every time step
           logical :: smooth_nsq               ! Smooth the Calculated N^2 over vert_smooth vertical levels
           
  -        real :: N_squared                   ! static Brunt Vaisala Frequency (N^2) to use
  -        real :: linear_contribution         ! fractional contribution of linear perturbation to wind field (e.g. u_hat multiplied by this)
  +        real    :: N_squared                ! static Brunt Vaisala Frequency (N^2) to use
  +        real    :: linear_contribution      ! fractional contribution of linear perturbation to wind field (e.g. u_hat multiplied by this)
           logical :: remove_lowres_linear     ! attempt to remove the linear mountain wave from the forcing low res model
  -        real :: rm_N_squared                ! static Brunt Vaisala Frequency (N^2) to use in removing linear wind field
  -        real :: rm_linear_contribution      ! fractional contribution of linear perturbation to wind field to remove from the low-res field
  -        
  -        real :: linear_update_fraction      ! fraction of linear perturbation to add each time step
  +        real    :: rm_N_squared             ! static Brunt Vaisala Frequency (N^2) to use in removing linear wind field
  +        real    :: rm_linear_contribution   ! fractional contribution of linear perturbation to wind field to remove from the low-res field
  +        
  +        real    :: linear_update_fraction   ! fraction of linear perturbation to add each time step
           logical :: spatial_linear_fields    ! use a spatially varying linear wind perturbation
           logical :: linear_mask              ! use a spatial mask for the linear wind field
           logical :: nsq_calibration          ! use a spatial mask to calibrate the nsquared (brunt vaisala frequency) field
           
           ! Look up table generation parameters
  -        real :: dirmax, dirmin
  -        real :: spdmax, spdmin
  -        real :: nsqmax, nsqmin
  -        integer :: n_dir_values, n_nsq_values, n_spd_values
  -        
  -        logical :: read_LUT, write_LUT
  -        character(len=MAXFILELENGTH) :: u_LUT_Filename
  -        character(len=MAXFILELENGTH) :: v_LUT_Filename
  +        real    :: dirmax, dirmin           ! minimum and maximum directions to use in the LUT (typically 0 and 2*pi)
  +        real    :: spdmax, spdmin           ! minimum and maximum wind speeds to use in the LU (typically 0 and ~30)
  +        real    :: nsqmax, nsqmin           ! minimum and maximum brunt_vaisalla frequencies (typically ~1e-8 and 1e-3)
  +        integer :: n_dir_values, n_nsq_values, n_spd_values ! number of LUT bins for each parameter
  +        
  +        logical :: read_LUT, write_LUT      ! options to read the LUT from disk (or write it)
  +        character(len=MAXFILELENGTH) :: u_LUT_Filename  ! u LUT filename to write
  +        character(len=MAXFILELENGTH) :: v_LUT_Filename  ! v LUT filename to write
           
       end type lt_options_type
       
  
positive.code:     ! store Land Surface Model options
      ! ------------------------------------------------
      type lsm_options_type
          character (len=MAXVARLENGTH) :: LU_Categories
          integer :: update_interval
          integer :: urban_category
          integer :: ice_category
          integer :: water_category
          logical :: monthly_vegfrac
      end type lsm_options_type
  
  
negative.code:     ! generic interpolable type so geo interpolation routines will work on winds, domain, or boundary conditions. 
      ! ------------------------------------------------
      type interpolable_type
          ! all interpolables must have position (lat, lon, z)
          real, allocatable, dimension(:,:) :: lat,lon
          real, allocatable, dimension(:,:,:) :: z
          
          ! these are the look up tables that describe how to interpolate vertically (vert_lut) and horizontally (geolut)
          type(vert_look_up_table)::vert_lut
          type(geo_look_up_table)::geolut
              
          ! used to keep track of whether or not a particular error has been printed yet for this structure
          logical :: dx_errors_printed=.False.
          logical :: dy_errors_printed=.False.
      end type interpolable_type
  