anchor.diff:              ! this is on the subset grid:
               z_interface(:,i,:) = temp(ims:ime,i,jms:jme)
               z_interface(:,i+1,:) = temp(ims:ime,i+1,jms:jme)
  -           
  +
               dz_interface(:,i,:)  =  z_interface(:,i+1,:) - z_interface(:,i,:)  ! same for higher k
   
               dz_mass(:,i,:)       = dz_interface(:,i,:) / 2           ! Diff for k=1
  
positive.code: 
  
      !> -------------------------------
      !! Setup the SLEVE vertical grid structure. 
      !!   This basically entails 2 transformations: First a linear one so that sum(dz) ranges from 0 to smooth_height H.
      !!   (boundary cnd (3) in Schär et al 2002)  Next, the nonlinear SLEVE transformation
      !!    eqn (2) from Leuenberger et al 2009 z_sleve = Z + terrain * sinh((H/s)**n - (Z/s)**n) / SINH((H/s)**n) (for both smallscale and largescale terrain)
  
negative.code:             if (associated(this%soil_deep_temperature%data_2d)) then
                  this%soil_deep_temperature%data_2d = temporary_data(this%grid%ims:this%grid%ime, this%grid%jms:this%grid%jme)
              endif
              if (minval(temporary_data)< 200) then
                  if (this_image()==1) print*, "WARNING, VERY COLD SOIL TEMPERATURES SPECIFIED:", minval(temporary_data)
              endif
              if (minval(this%soil_deep_temperature%data_2d)< 200) then
                  where(this%soil_deep_temperature%data_2d<200) this%soil_deep_temperature%data_2d=280 ! <200 is just broken, set to mean annual air temperature at mid-latidudes
              endif
          else
              if (associated(this%soil_deep_temperature%data_2d)) then
                  this%soil_deep_temperature%data_2d = 280
  