DifferentialEquations.jl: split differential equation with explicit propagators

Another thing that helps with numerical differentiation is to use a higher order upwinding scheme. You can check out DiffEqOperators.jl for some of the operators for that:

The documentation there is still lacking though. But if you really need to get rid of numerical diffusion, you may need to use a better spatial discretization.