Given a date and time, the position of the Moon can be calculated to provide the declination and right ascension. The sub-point of the Moon (the point on the Earth at which the Moon is at the zenith) is as follows:
- latitude = declination of the Moon
- longitude can be found by calculating the local mean sidereal time (LMST) that equals the Moon's right ascension. (LMST dependents on the date, time, and longitude.) Everything is known except for the longitude.
Accurate Method (using GMST)
Calculate the Local Mean Sidereal Time (LMST) from $LMST=GMST+long_{east}$, where GMST is the Greenwich Mean Sidereal Time and $long_{east}$ is the longitude with positive values in the eastern hemisphere. From the post Local Sidereal Time,
$\mathit{GMST}_{\text{deg}} = 100.4606184 + 0.9856473662862 D + 15 H
$ where D is the number of days (including the fraction of days) from J2000 (Jan 1, 2000 at 12 h UT = Julian Day 2,451,545.0) and H is the Universal Time (UT) in hours.
For example, at H=17 hour UT on Nov 1, 2000, I calculate the following values:
$$
RA_{Moon}=18h\;49m\;35s = 282.400° \\
Julian Day = 2,451,850.208 \\
\therefore D=2,451,850.208 - 2,451,545=305.209 \\
\therefore GMST = 296.288° \\
$$
Then
$$
RA_{Moon}=LMST=GMST+long_{East} \\
282.400=296.288+long_{East} \\
\therefore long_{East}=-13.888°
$$
Approximate Method (using Sun's position)
Your method of using the Sun's right ascension assumes that the Sun is over 0° longitude at 12 h UT. Written as a formula and allowing for different times and longitudes, it would be $LMST=RA_{sun}+15(Time \;in \;UT - 12h)+long_{east}$. Setting this LMST to the right ascension of the Moon gives the following:
$$
RA_{Moon}=LMST=RA_{sun}+15(Time \;in \;UT - 12h)+long_{east} \\
\therefore long_{East}=RA_{moon}-RA_{sun}-15(Time \;in \;UT - 12h)
$$
The reason this is an approximation is because of the following:
- The Sun is not at 0° longitude at 12:00:00 UT everyday because of the Equation of Time. The Sun can be off by up to 16 minutes of time (which is equivalent to 4° of longitude).
- The term 15(Time in UT - 12h) should be 15*1.002738*(Time in UT - 12 h), but this difference is small compared to the first approximation.
Continuing the example of Nov 1, 2000, I calculate the following:
$$
RA_{sun}=14h\;28m\;46s = 217.19° \\
long_{East}=RA_{moon}-RA_{sun}-15(Time \;in \;UT - 12h) \\
long_{East}=282.400-217.19-15(17-12) \\
\therefore long_{East}=-9.79°
$$
This is different by 4° because I chose Nov 1 since it is close to the date of the largest Equation of Time.
Likewise, if you wanted to calculate the sub-point of the Sun, it would be better to use the GMST and the Sun's right ascension by solving for the longitude from $RA_{sun}=LMST=GMST+long_{East}$.