===================================================================

 subroutine vert_diff(delt, xi, t, q, diff, p_half, z_full, &
                flux, dflux_datmos, factor, dt_xi, kbot)
 
    input: 

         delt -- real
           time step , seconds
           if using leapfrog step, set equal to 2*dt = time(i+1) - time(i-1)

         xi -- real, dimension(:,:,:)
            field to be diffused, 
                  at time step i   for   two-time level schemes
                  at time step i-1 for th