A question on extrapolation with Interpolations.jl

I recently faced a similar problem in my project. Eventually I just implemented a new Array type that overrides getindex like:

getindex(A::DirichletArray, I...) =
    checkbounds(Bool, A.a, I...) ? A.a[I...] : A.oob_val

This kind of approach could easily be extended for your case by checking indices appropriately.

You can find details on the Array interface in the manual.