anchor.diff:  
           real, allocatable :: temp(:,:,:)
           integer :: i, max_level
  -        real :: smooth_height
  +        real :: smooth_height, z_sleve(:,:,:), z_s_u(:,:,:), z_s_v(:,:,:) ! here???
  +        logical :: SLEVE
  +
   
           call read_core_variables(this, options)
   
  
positive.code:                 dzdx(:,i,:) = (z(ims+1:ime,i,:) - z(ims:ime-1,i,:)) / this%dx
                  dzdy(:,i,:) = (z(:,i,jms+1:jme) - z(:,i,jms:jme-1)) / this%dx
              enddo
  
  
          end associate
  
negative.code: 
                  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)) !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))
  