Hello all,
We were looking at using Apache Math Commons 3.3 with the 6.1 release of Orekit. When we re-ran the unit tests we realized that the FixedTroposphericModel tests were mostly failing due to the function lookup returning different numbers. I noticed that the tests in Orekit 7.0 have been changed to reflect the new numbers coming back from the interpolation functions.
The reason for the new numbers is that between 3.2 and 3.3 they changed the way the coefficients in the BicubicSplineFunction were being calculated. I believe that this was to try to address some accuracy problems in there. I have been studying that exact area of code for a week or so due to a problem we was with it on another project.
The current implementation of their BicubicSplineFunction is suspect. It cannot even calculate the correct interpolation values for a regularly spaced grid of a 2D linear function. That isn't something new to 3.3 either.
I'm going to be attempting to implement a new version of that method, and if they allow will also be doing some additional 2D interpolation methods besides a cubic spline. I just wanted to call that problem to everyone's attention.
We may want to use another 2D interpolation method for this until a validated one makes it into Apache Math. We may also want to check the values we are using in this test to make sure that they are numerically accurate versus having drifted as the various implementations of the underlying interpolators were being manipulated.
Hank