One way to improve performance may be to precompute/build an interpolation object for the susceptibility tensor as a function of height. This becomes more efficient relative to computing susceptibility live during integration as the number of species increases. The susceptibility tensor is a function of height only (not eigenangle), so as we solve the mode equation for many different eigenangles we are computing the same susceptibilities over and over (but each call is <200 ns for one species).
There may also be instances where interpolation is less efficient (low frequency, so not many integrations are required & simple profile, so integration is fast). There is some overhead to computing the interpolator.
One way to improve performance may be to precompute/build an interpolation object for the susceptibility tensor as a function of height. This becomes more efficient relative to computing
susceptibility
live during integration as the number of species increases. The susceptibility tensor is a function of height only (not eigenangle), so as we solve the mode equation for many different eigenangles we are computing the same susceptibilities over and over (but each call is <200 ns for one species).There may also be instances where interpolation is less efficient (low frequency, so not many integrations are required & simple profile, so integration is fast). There is some overhead to computing the interpolator.