This PR closes #28 by adding the ability to build a cubic interpolating spline for susceptibility for mode finding only (in dRdz). It decreases the runtime of findmodes by 20%. Wavefield computations and derivatives with respect to θ continue to use susceptibility directly.
The interpolating version of susceptibility can be activated by specifying the params argument with LMPParams(approxsusceptibility=true). Additionally, the altitude step size used in the creation of the interpolating spline can be specified as LMPParams(susceptibilitysplinestep=10.0). By default the initial step is 10 meters.
By default, approxsusceptibility=false so that this PR does not introduce breaking behavior. However, if anyone is specifying fields of LMPParams directly without keyword arguments (not recommended), this is a breaking change because we've introduced new fields to the LMPParams struct.
This PR closes #28 by adding the ability to build a cubic interpolating spline for
susceptibility
for mode finding only (indRdz
). It decreases the runtime offindmodes
by 20%. Wavefield computations and derivatives with respect to θ continue to usesusceptibility
directly.The interpolating version of
susceptibility
can be activated by specifying theparams
argument withLMPParams(approxsusceptibility=true)
. Additionally, the altitude step size used in the creation of the interpolating spline can be specified asLMPParams(susceptibilitysplinestep=10.0)
. By default the initial step is 10 meters.By default,
approxsusceptibility=false
so that this PR does not introduce breaking behavior. However, if anyone is specifying fields ofLMPParams
directly without keyword arguments (not recommended), this is a breaking change because we've introduced new fields to theLMPParams
struct.