After systematically comparing the predictions for the Galilean moons
from your checkin yesterday, with Jean Meeus mutual event listing in
Dec. 2002 S&T, p. 100 ff, it was soon clear to me that something in
the 'customorbit.cpp' code for the /latitude/ calculation of the four
Galilean Jupiter moons was fishy. Soon I found it:
// Calculate periodic terms for the tangent of the latitude
....
B = degToRad(B);
B = atan(B);
Indeed it's tan(latitude) that is computed in ... and hence the
statement B = degToRad(B); makes no sense and is actually incorrect.
After commenting B = degToRad(B); out for all four Galilean moons, the
resulting predictions turn out to be /spectacularly accurate/ without
any fiddeling whatsoever!! Everything with your/Grant's parameters.
I attach just two amazing examples, but I have explicitly and
successfully tested most of J. Meeus event listings!:
1) The /annular/ eclipse shadow of Europa on Io (2e1A) on Dec. 27

2) The /total/ occultation of Europa by Callisto (4o2T) on Dec. 15

Neither of these examples works (correctly) with your CVS code as of yesterday.
Bye Fridger