Our moon, the Moon, is one of countless moons in the cosmos. There are many like it, but this one is ours. There are also many more that aren’t like it.
In popular culture and media, the Moon is often referred to as Luna, after the Roman goddess of the Moon, Luna. While “lunar” is a completely acceptable adjective, scientific study of Luna is known as “selenology”, after the Greek goddess of the Moon, Selene. The embedded video is an animated representation of selenography, partitioned by selenologic age. For a detailed translation between Moon and Earth terms, see Table 1 below.

The entire process was somewhat convoluted, but the journey is the destination. I’ve always said that.
My workflow: Mathematica -> Python -> After Effects -> YouTube -> WordPress
I created the video frames in Mathematica, creating successive 2D textures which I parametrically wrapped onto spheres. This step was computationally intensive, so I processed each selenologic Period separately, and subsequently merged the frames into one folder. To that end I wrote a script that loops through multiple subdirectories, then renames the files and saves them to a new directory with a videoframes naming system. I rotated each successive sphere slightly so the animation would appear to spin, and exported the frames as jpegs.
I combined the videoframes with the OpenCV Python package and exported the compilation as an avi video. OpenCV allows the user to adjust export formats and animation specification, like framerate and absolute size of the images.
I downloaded After Effects two days ago, imported the video, and added the legend and title, instead of trying to add those elements to my Mathematica code and render all the frames again. Being completely new to After Effects, I screwed around a lot with gigantic video files and incorrect formats, until I discovered exported the video with the Adobe After Effects (AE) to Adobe Media Encoder (AME) flow. Encoded with the H.264 compression standard in AME, the rendered video file size was nearly two full orders of magnitude smaller than a straight render from AE.
Finally, I uploaded it to YouTube and embedded it here in WordPress.
This was adapted from Jeff Bryant’s work, in which he used a high-resolution lunar topography dataset published by the United State Geological Survey (USGS) to create a beautiful and accurate animation to create a rotating chronostratigraphic map of the Moon’s surface, with USGS standard naming and coloring.