I just pushed an update to GitHub that allows for hard boundaries to be enforced in akde() at the kernel level, which is statistically better than correcting the entire UD afterwards. This will be described in an upcoming manuscript.
The below plot is of a fish in a lake:
For soft boundaries, like bathymetry dependence, rsf.fit() can also be used to model that and then fed into akde().
Best,
Chris