anchor.diff:  
                   smooth_height = sum(this%global_terrain) / size(this%global_terrain) + sum(dz(1:max_level))
   
  -                z_level_ratio(:,i,:) = (smooth_height - terrain) / sum(dz(1:max_level))
  +                z_level_ratio(:,i,:) = (smooth_height - terrain) / sum(dz(1:max_level)) !BK: Ratio between spatially varying and non-varying dz(at flatdz height) 
   
                   zr_u(:,i,:) = (smooth_height - z_u(:,i,:)) / sum(dz(1:max_level))
                   zr_v(:,i,:) = (smooth_height - z_v(:,i,:)) / sum(dz(1:max_level))
  
positive.code: 
          if (this_image()==1) print *,"  Initializing variables"
  
          if (0<opt%vars_to_allocate( kVARS%u) )                          call setup(this%u,                        this%u_grid,   forcing_var=opt%parameters%uvar,       list=this%variables_to_force, force_boundaries=.False.)
          if (0<opt%vars_to_allocate( kVARS%u) )                          call setup(this%u_mass,                   this%grid)
          if (0<opt%vars_to_allocate( kVARS%v) )                          call setup(this%v,                        this%v_grid,   forcing_var=opt%parameters%vvar,       list=this%variables_to_force, force_boundaries=.False.)
          if (0<opt%vars_to_allocate( kVARS%v) )                          call setup(this%v_mass,                   this%grid)
          if (0<opt%vars_to_allocate( kVARS%w) )                          call setup(this%w,                        this%grid )
          if (0<opt%vars_to_allocate( kVARS%w) )                          call setup(this%w_real,                   this%grid )
          if (0<opt%vars_to_allocate( kVARS%water_vapor) )                call setup(this%water_vapor,              this%grid,     forcing_var=opt%parameters%qvvar,      list=this%variables_to_force, force_boundaries=.True.)
          if (0<opt%vars_to_allocate( kVARS%potential_temperature) )      call setup(this%potential_temperature,    this%grid,     forcing_var=opt%parameters%tvar,       list=this%variables_to_force, force_boundaries=.True.)
          if (0<opt%vars_to_allocate( kVARS%cloud_water) )                call setup(this%cloud_water_mass,         this%grid,     forcing_var=opt%parameters%qcvar,      list=this%variables_to_force, force_boundaries=.True.)
  
negative.code: 
          real, allocatable :: temp(:,:,:)
          integer :: i, max_level
          real :: smooth_height, z_sleve(:,:,:), z_s_u(:,:,:), z_s_v(:,:,:) ! here???
          logical :: SLEVE
  
  
          call read_core_variables(this, options)
  
  