anchor.diff:              i = this%grid%kme + 1
               global_z_interface(:,i,:) = global_z_interface(:,i-1,:) + global_dz_interface(:,i-1,:)
           end associate
  -        
  +
       end subroutine setup_simple_z
   
   
  
positive.code: 
              ! Still not 100% convinced this works well in cases other than flat_z_height = 0 (w sleve). So for now best to keep at 0 when using sleve?
              max_level = find_flat_model_level(options, nz, dz)
              
              if(max_level /= nz) then
                  if (this_image()==1) then
                      print*, "    flat z height ", options%parameters%flat_z_height
                      print*, "    flat z height set to 0 to comply with SLEVE coordinate calculation "
                      print*, "    flat z height now", nz
                  end if
                  max_level = nz  
              end if
  
              smooth_height = sum(dz(1:max_level)) !sum(global_terrain) / size(global_terrain) + sum(dz(1:max_level))
  
negative.code:         class(domain_t), intent(inout)  :: this
          type(options_t), intent(in)     :: options
  
          real, allocatable :: h_org(:,:), h_u(:,:), h_v(:,:), temp(:,:), temp_offset(:,:)  ! temporary_data(:,:),
          integer :: i !, nflt, windowsize,
  
          allocate(h_org( this%grid2d% ids : this%grid2d% ide, &
  