Message Boards Message Boards

GROUPS:

Get Ready for the 2019 Mercury Transit of the Sun

Posted 1 year ago
2143 Views
|
1 Reply
|
5 Total Likes
|

Mercury transiting across the face of the Sun in November 2019

On November 11, 2019, the planet Mercury will transit across the face of the Sun. If you have a suitably designed telescope or other observing apparatus for observing the Sun (check with your local astronomy club), you can watch a tiny black dot move across the face of the Sun. I used Wolfram Language to simulate what you might see.

The entire event will last about 5.5 hours:

start = DateObject[{2019, 11, 11, 7, 35, 27}, TimeZone -> -5];

end = DateObject[{2019, 11, 11, 13, 4, 14}, TimeZone -> -5];

dd = DateDifference[start, end];

This corresponds to a little less than 5.5 hours.

In[4]:= UnitConvert[dd, "Hours"]

Out[4]= Quantity[5.47972, "Hours"]

The angular radius of the Sun and Mercury are needed to have a realistic simulation ("AngularRadiusFromEarth", and "AngularDiameterFromEarth" for Star entities coming soon).

sunradius = .5383/2;

mercuryradius = 
  QuantityMagnitude[
   Entity["Planet", "Mercury"][
     Dated["AngularDiameterFromEarth", start]]/2, "AngularDegrees"];

Next I define a list of dates, from the start to end of the event, at 5 minute increments:

dates = DateRange[start, end, Quantity[5, "Minutes"]];

Both the Sun and Mercury move during the course of the event so we need lists of their positions as time progresses.

sunpos = {-1, 1}*# & /@ 
   QuantityMagnitude[
     SunPosition[dates, CelestialSystem -> "Equatorial"], 
     "AngularDegrees"]["Values"];

mercpos = {-1, 1}*# & /@ 
   QuantityMagnitude[
    Transpose[{Entity["Planet", "Mercury"][
       Dated["RightAscension", #] & /@ dates], 
      Entity["Planet", "Mercury"][
       Dated["Declination", #] & /@ dates]}], "AngularDegrees"];

Finally, we can plot the position of both objects using the following showing Mercury advancing across the Sun's visible disk.

Graphics[{Yellow, Disk[{0, 0}, sunradius], Black, 
  Disk[#, mercuryradius] & /@ (mercpos - sunpos)}, ImageSize -> 600, 
 Frame -> True, FrameTicks -> None, 
 FrameLabel -> {"S", "E", "N", "W"}, Background -> Black, 
 LabelStyle -> {White}]

This will make the graphics shown at the top of the post.

enter image description here - Congratulations! This post is now featured in our Staff Pick column as distinguished by a badge on your profile of a Featured Contributor! Thank you, keep it coming, and consider contributing your work to the The Notebook Archive!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract