I've written a fortran program to pass from orbital elements to state vector of an asteroid database within an heliocentric reference frame. The semi-major axis (SMA) in orbital elements vector data is in AU. My subroutine requires that SMA and heliocentric gravitational parameter (MU) are in the same measure unit. To avoid other conversion when I will plot my data x,y,z (where I will use AU) I want to convert MU into AU.

I do the following computations, can you tell me if they are correct? Do you know an online converter?

enter image description here

  • 2
    $\begingroup$ The question as is is not answerable. The heliocentric gravitational constant has units of length cubed per time squared. You have not specified your units of time. $\endgroup$ Feb 9, 2022 at 14:24
  • $\begingroup$ Oh Sorry, If you mean the units of G and M, I use the value xmu = 1.32712440018e20 ! (m*3 s^-2). $\endgroup$
    – g_don
    Feb 9, 2022 at 14:33
  • 3
    $\begingroup$ What is your unit of time where you are using the AU as the unit of length? Using seconds as the unit of time would be a bad idea in this context. $\endgroup$ Feb 9, 2022 at 15:23
  • $\begingroup$ When you state you want to "pass from orbital elements to state vector", did you mean pass or parse? $\endgroup$
    – Fred
    Feb 12, 2022 at 7:39

1 Answer 1


note: This is a preliminary answer and subject to deletion and/or improvement as the question becomes more clarified.

I'm not sure I understand exactly what you need, but the Sun's standard gravitational parameter $\mu = GM$ is 1.32712440018E+20 m3/s2 in MKS units and (almost) exactly unity (i.e. 1.0) AU3/year2 in reduced units.

Let's see how close that is:

  • 1 AU is exactly 149,597,870,700 meters (by definition)
  • 1 sidereal year is about 365.256363004 days or 31558149.7635456 seconds but that's a really more of a fuzzy number despite the digits, you could also use a Julian year of 365.25 days or 31557600.0 which is what I'll use.

To convert a number with m3/s2 units to AU3/year2 units, we multiply by

$$\frac{\text{AU per meter}^3}{\text{years per second}^2} = \frac{\text{seconds per year}^2}{\text{meter per AU}^3} = \frac{\text{31557600.0}^2}{\text{149597870700}^3} = \text{2.97462140E-19}$$

Now 1.32712440018E+20 times 2.97462140E-19 is... 39.4769264 which happens to be $(2 \pi)^2$!

What's the reason? The period $T$ of an orbit is $2 \pi \sqrt{a^3/\mu}$ so we'd like to see a period of $2 \pi$ in reduced units, but I converted straight from m3/s2 to AU3/year2.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.