  Non-local closures allow kinetic effects on parallel transport to be included
in fluid simulations. This is especially important in the scrape-off layer, but
to be useful there the non-local model requires consistent kinetic boundary
conditions at the sheath. A non-local closure scheme based on solution of a
kinetic equation using a diagonalized moment expansion has been previously
reported. We derive a method for imposing kinetic boundary conditions in this
scheme and discuss their implementation in BOUT++. To make it feasible to
implement the boundary conditions in the code, we are lead to transform the
non-local model to a different moment basis, better adapted to describe
parallel dynamics. The new basis has the additional benefit of enabling
substantial optimization of the closure calculation, resulting in an O(10)
speedup of the non-local code.
