Determining the Perturbers

ncc1701d

Member
Joined
Aug 9, 2009
Messages
204
Reaction score
6
Points
18
Hello
at this link
http://www.giss.nasa.gov/tools/mars24/help/algorithm.html
step B-3 they talk of Determining the Perturbers
-----------------------------------------------------------------
B-3. Determine perturbers. (AM2000, eq. 18)

PBS = Σ(i=1,7) Ai cos [ (0.985626° ΔtJ2000 / τi) + φi]

where 0.985626° = 360° / 365.25, and
i Ai τi φi
1 0.0071 2.2353 49.409
2 0.0057 2.7543 168.173
3 0.0039 1.1177 191.837
4 0.0037 15.7866 21.736
5 0.0021 2.1354 15.704
6 0.0020 2.4694 95.528
7 0.0018 32.8493 49.095
-------------------------------------------------------------
working the problem they say answer = PBS = 0.00142°...ok thats all fine and good.

so out of curiosity i look at the orginal document AM2000 equation 18 on the pdf below
http://pubs.giss.nasa.gov/docs/2000/2000_Allison_al05000n.pdf

Now on Table 5 page 12 of the PDF their is added column called "planetary commensurability"
which gives more clarity of what is going on.

the planetary commensurability column essentially I believe looks like this if rewritten

(ymars - yjupiter) ^-1
(ymars - 2 * yjupiter) ^-1
(2 * ymars - 2 * yjupiter) ^-1
(2 * ymars - yearth) ^-1p
(yearth - ymars) ^-1
(2 * yearth - 3 * ymars) ^-1
(yvenus - 3 * ymars) ^-1

so now the question
Can those numbers in the chart also be used for calculating any perturbations that affect venus?
like If wanted to find PBS for same ΔtJ2000 but for venus instead of mars would the PBS also be 0.00142°?
and lastly why isnt their a row 8 with some mention of mercury?
I might think Mercury would also effect venus but maybe not?
i dont understand the math or subject well enough to know if that chart would have to be all recalculated for finding PBS for venus.
Thanks
 

Keithth G

New member
Joined
Nov 20, 2014
Messages
272
Reaction score
0
Points
0
These perturbations schemes are specific to each planet. So, the table would have to be re-worked for Venus.

My guess is that you want a more accurate determination of Venus' position. If you really want accuracy for Venus, you might want to look at:

http://neoprogrammics.com/vsop87/source_code_generator_tool/

This is a code generating tool for the VSOP87 series for the Sun and the planets. From it, you can generate BASIC or c++ code for a very accurate determination of the position of Venus (with resect to the Sun). The BASIC code, for example, you could put into a spreadsheet macro and access the information by way of a user-defined function.
 
Last edited:

ncc1701d

Member
Joined
Aug 9, 2009
Messages
204
Reaction score
6
Points
18
that looks potentially very usefull. thanks

Do you think its more accurate than what mars24 is doing with all its PBS calculations etc shown on the links i showed?
also
seems to be that the code generator generates an x y z position for 1 moment in time per location code generated and yet it says many astro-progammers use this code.
Many programs including orbiter are creating real time displays
How can they get their location code generated so quickly for quick display?

Would Orbiter have its own VSOP87 code generator running internally and in realtime?
 

Keithth G

New member
Joined
Nov 20, 2014
Messages
272
Reaction score
0
Points
0
Do you think its more accurate than what mars24 is doing with all its PBS calculations etc shown on the links i showed?

Yes, it is almost certainly more accurate. Long run accuracy is the 'raison-d'eire' of these ephemeris engines so, it really ought to be more accurate than the much simpler Mars 24 calculations.


How can they get their location code generated so quickly for quick display?

Many users of VSOP87 don't need to update screen displays in real-time, so speed of calculation isn't always the primary concern. The focus is generally on accuracy.

As you note, calling the VSOP87 functions is a computationally expensive task. To cut down on the number of function calls (and to save time), one can employ an interpolation scheme - much as is used by Orbiter's integration engine itself. Because the position of the planets move rather slowly (and smoothly) over short-time periods, it makes sense to calculate a local approximation to VSOP87 by fitting a much-simpler-to-calculate-function to the very accurate VSOP87 theory by sampling the VSOP87 functions every 100 seconds or so. If one needs to update planetary positions 100 seconds or so, one uses the much faster interpolation function and then every 100 seconds or so, one updates the interpolation function. There is a very slight loss in accuracy using this interpolation method, but the loss of accuracy is very small.


Would Orbiter have its own VSOP87 code generator running internally and in realtime?

Yes, this is basically how Orbiter works, excepts it has the interpolating function overly mentioned above sitting on top. Unfortunately, I haven't yet worked out how to access the planetary .dll ephemeris engines outside of the running Orbiter program. It must be possible, and I suspect that a few of the MFD developers on this site who know how to do this.
 
Last edited:
Top