anchor.diff:  
       end subroutine allocate_z_arrays
   
  -
  -
  -    !> -------------------------------
  -    !! BK 2020 05 10: Attempt to calculate the difference  between the hi-res terrain and interpolated 
  -    !! forcing terrain for wind acceleration purposes. 
  -    !> -------------------------------
  -    ! subroutine terrain_delta(this, forcing, options)
  -    !     implicit none
  -    !     class(domain_t),  intent(inout) :: this
  -    !     type(boundary_t), intent(inout) :: forcing
  -    !     type(options_t), intent(in)     :: options
  -
  -    !     type(variable_t)  :: var !,  data_out
  -    !     character :: name
  -    !     real, allocatable :: data_out(:,:), temp_offset(:,:)
  -        
  -
  -    !     ! call allocate_z_arrays(this)
  -
  -    !     ! associate(terrain               => this%terrain%data_2d,                &
  -    !     !           forcing_terrain       => this%forcing_terrain%data_2d,        &
  -    !     !           delta_terrain         => this%delta_terrain%data_2d,          &
  -    !     !           global_z_interface    => this%global_z_interface,             &
  -    !     !           dzdx                  => this%dzdx,                           &
  -    !     !           dzdy                  => this%dzdy,                           &
  -    !     !           z_level_ratio         => this%z_level_ratio,                  &
  -    !     !           zr_u                  => this%zr_u,                           &
  -    !     !           zr_v                  => this%zr_v)
  -
  -    !     ! ! ! !   Should maybe caluclate on the u and v grid since this will be used for wind acceleration???
  -
  -    !     ! associate(g => this%u_grid2d_ext, geo => this%geo_u)
  -    !     !     call array_offset_x(temporary_data, temp_offset)
  -    !     !     if (allocated(geo%z)) deallocate(geo%z)
  -    !     !     allocate(geo%z(1:g%ime-g%ims+1, 1:this%u_grid%kme-this%u_grid%kms+1, 1:g%jme-g%jms+1))
  -    !     !     geo%z(:,1,:) = temp_offset(g%ims:g%ime, g%jms:g%jme)
  -    !     ! end associate
  -    !     print* , " created hgt variable forcing_terrain: ", shape(this%forcing_terrain%data_2d)
  -
  -    !     ! TRy this.... 
  -    !     associate(forcing_terrain_u => this%forcing_terrain_u%data_2d  , g => this%u_grid2d_ext)
  -    !         ! allocate forcing_terrain_u( )
  -    !         call array_offset_x(this%forcing_terrain%data_2d, temp_offset)
  -    !                 print* , "  hgt variable forcing_terrain offset x: ", shape(temp_offset)
  -
  -    !         ! allocate(this%forcing_terrain_u(1:g%ime-g%ims+1, 1, 1:g%jme-g%jms+1)) 
  -
  -    !         ! this%forcing_terrain_u =  temp_offset            
  -
  -    !     end associate
  -     
  -    !     print* , " created hgt variable forcing_terrain_v on v_grid: ", shape(this%forcing_terrain_v%data_2d)
  -
  -    !     ! print*, "lo-res z size: ",shape( forcing%z ) ! this is likely the entire cosmo domain
  -    !     print*,""
  -    !     ! print* , " created hgt variable forcing_terrain: ", shape(this%forcing_terrain%data_2d)
  -    !     print* , " created hgt variable forcing_terrain_u: ", shape(this%forcing_terrain_u%data_2d)
  -    !     write(*,*) this%forcing_terrain_u%data_2d(:,1)
  -
  -    !     write(*,*) this%forcing_terrain%data_2d(:,1)
  -    !     ! print* , "this%u_grid2d_ext ", shape(this%u_grid2d_ext)
  -
  -    !     ! print* , " created hgt variable forcing_terrain_v on v_grid: ", shape(this%forcing_terrain_v%data_2d)
  -
  -    !     ! array_offset_x
  -    !     ! print* , " cmeta data forcing_terrain_u: ", this%forcing_terrain_u%meta_data
  -    !     ! ! this%forcing_terrain_u
  -    !     print*,""
  -
  -    !     ! end associate
  -
  -    ! end subroutine
   
   
       !> -------------------------------
  
positive.code: 
              enddo  ! ____ end SLEVE simple Implementation  _______
              
  
              ! if (options%parameters%debug) then 
              !   ! Write the z_level_ratio for analysis:
              !   write(file_idn, *) options%parameters%sleve_n
              !   write(file_idS, *) options%parameters%sleve_decay_factor
              !   filename = 'zlr_n_' // trim(adjustl(file_idn)) // '_S_'//trim(adjustl(file_idS)) //'.nc'
              !   call io_write(filename, "z_level_ratio", z_level_ratio(:,:,:) )
              !   ! call io_write("zlr.nc", "z_level_ratio", z_level_ratio(:,:,:) )
              !   ! call io_write("dzdx.nc", "dzdx", dzdx(:,:,:) )
              ! endif
  
  
            else  !. i.e. no sleve coordinates
              i = this%grid%kms
  
negative.code: 
  
  
  
      subroutine allocate_z_arrays(this)
          implicit none
  