The Shadow of a Celestial Dance

Observing the Analemma through Satellite Imagery

Matic Lubej
Planet Stories
9 min readMay 18, 2020

--

Shadows play a big role in our lives. Just think about it. We cooled ourselves down in shades when playing outside as kids, they are used in stories/movies as a depiction of evil, and surely we all played with our hands in a session of shadow puppetry? How about Plato’s Cave? Columbus even took advantage of the 1504 lunar eclipse, in order to scare the natives into providing him and his men with resources! It’s fascinating how something so simple has the potential to change the course of history.

Christopher Columbus used a correctly predicted lunar eclipse to frighten Jamaican natives into providing supplies for his crew (source).

If you look it up in a dictionary, the shadows are areas where the light from a light source has been blocked by an opaque object. For example, our Sun is a source of light, and when the light eventually hits an object it casts a shadow on the floor. As the Sun moves through the sky, the length of the shadow changes. Sounds simple enough? Then let’s dive deeper.

Astronomy 101

Simple Maths

By using simple mathematical laws we can calculate the length of, for example, a human shadow, provided we know the angle at which the light is coming from the Sun and the height of the human.

Masterful sketch explaining how shadows are manifested.

So, your shadow is longest when the Sun is at it’s lowest, and vice-versa. At the same time, the maximum length of the shadow also depends on where on Earth you are located. At noon it’s shortest at or near the equator (depending on the time of year) and becomes longer as you go towards either of the poles. However, to get the exact length of a shadow, you have to take into account the exact relative positions of the Earth and the Sun, because their movements aren’t as simple as you might think.

Not-so-Simple Maths

Don’t worry, we won’t be doing any heavy lifting here. But just so you know what’s going on in the background, we have to be aware of some of the basic terms in Astronomy. The first one is the axial tilt. Our Earth spins around its rotational axis and at the same time goes around the Sun. However, the Earth’s rotational axis is not completely aligned with the orbital axis, it’s tilted for about 23°. This is why the Sun’s maximum altitude changes during the year and it’s also the reason why we have summer and winter, since in summer we are tilted towards the Sun, and vice-versa in winter.

The axial tilt of Earth. In the image, the northern hemisphere is experiencing summer, since it is faced towards the sun (source).

The second important concept is the orbital eccentricity, which is something that Johannes Kepler was already studying in the 16th century. He figured out that the shape of the Earth’s orbit around the Sun is actually an ellipse. This causes the Earth to travel faster and slower, depending on its location on the orbit, all according to Kepler’s second law of planetary motion. For us, in the northern hemisphere, this also means that the fall and winter last slightly longer than spring and summer, because we tilt away from the Sun on the far side of the Earth’s orbit, and vice-versa in the southern hemisphere.

Earth’s orbit is an ellipse, with the Sun in one of its foci. According to Kepler’s 2nd law of planetary motion, the planets sweep the same orbital area (shaded in grey) in the same time intervals (source).

You might also know that the Earth’s rotation time is not exactly
24 h, but about 4 min less. The day is defined this way so that we are always facing the Sun after 24 h, otherwise 12 AM midday in summer could have been 12 AM midnight in winter. And since the Earth’s orbit around the Sun is elliptical, this means that after 24 h the Earth doesn’t face the Sun the same way, but sometimes over- or under-rotates, depending on the time of year.

There are also other effects that govern the motions of the Earth through time, but they act on much longer time scales. You can read more about them here. Luckily, you don’t need a PhD in astrophysics to take all these factors into account, you can stand on the shoulders of all the cool people that did that for us, like the writers of ephem, a Python package for high-precision astronomy computations. Using this package, one can quickly write a function that returns the length of the shadow of an object anywhere and anytime on Earth! How cool is that? Here’s the code.

Simple Python code using the `ephem` package for calculating the length of the shadow of an arbitrary object anywhere and anytime on Earth.

So, the next time someone asks you how long would your shadow be at 12:00 AM UTC time for every country on Earth on a specific day, you’ll be ready.

A shadows length is shortest where the Sun is at its zenith (red point). The colours range from purple (short) to yellow (long), according to the shadow’s length in the centroid of each country. The shadows are calculated for 12:00 UTC time for both equinoxes and solstices in 2019. The lengths were clipped at unit length 3.

The Analemma

Before we proceed, let’s first take a quick step back to all the different factors that affect the Earth’s movement. We mentioned that the Sun appears higher up in the sky in summer due to the axial tilt. And remember the orbital eccentricity? Both of these effects contribute to a change in your shadow’s length as well as direction, even if you are in the same place and at the same hour of the day.

This can all be observed by looking at the Sun’s position in the sky. The location of the Sun can be expressed in terms of the solar zenith and azimuth angles. The zenith angle is the angle between the zenith point and the centre of the Sun’s disk, so 0° would mean directly above and 90° would mean on the local horizon. The altitude angle is also often used, which is the same as the zenith angle but measured from the horizon towards the zenith point. The azimuth angle, on the other hand, determines the horizontal position of the Sun. There are several conventions, but we will use the one where north, east, south and west are 0°, 90°, 180°, and 270°, respectively.

If we were to measure the length of the shadow of a 1-metre long object, as well as the Sun’s azimuth and altitude angles at 11:24 UTC in Ljubljana, Slovenia (Latitude: 46.05, Longitude: 14.50), and repeat this every day for a year, this would be the resulting diagram.

A diagram showing the four seasons and the evolution of the solar azimuth, altitude (left axis), and the length of the shadow of a 1 m long object. The values of the solar angles vary throughout the year due to the complex relative movements of the Earth and the Sun. The Sun is at it’s lowest on the December Solstice, and that is when shadows are the longest.

If you’re having trouble grasping the concept of what is really going on, here is an animation showing the same thing from a more intuitive perspective. The animation is showing the position of the Sun viewed from the same place and at the same time of day throughout the year. As the Sun’s position changes, the shadow changes accordingly.

The analemma in action. The Sun’s position is shown as viewed from the same place and at the same time in day throughout the year. This position changes due to the complex relative movements between the Earth and the Sun. The direction and length of the shadow directly correspond to the Sun’s position in the sky.

Do you see that weird-looking figure eight? THAT’S the analemma. So, to repeat the definition and really understand the concept, here is the description from Wikipedia.

In astronomy, an analemma is a diagram showing the position of the Sun in the sky, as seen from a fixed location on Earth at the same mean solar time, as that position varies over the course of a year. The diagram will resemble the figure 8.

Analemma + solar eclipse, also called a Tutulemma (source).

The north-south movement results from the change in the Sun’s declination due to the axial tilt and the east-west movement results from combined effects of the axial tilt and orbital eccentricity. For example, viewed from a planet with a perfectly circular orbit and no axial tilt, the Sun would always appear at the same point in the sky at the same time of day throughout the year and the analemma would be a dot. On the other hand, for a planet with a circular orbit but significant axial tilt, the analemma would be a figure of eight with northern and southern lobes equal in size. And lastly, for a planet with an eccentric orbit but no axial tilt, the analemma would be a straight east-west line along the celestial equator.

The real question, though… Can we see it from space?

Through the Eyes of the Sentinel-2

To see a shadow, we need a tall object in a flat area. A nice example is the largest solar tower on the planet (260 m), located at a solar farm in Ashalim, Israel.

The world’s tallest solar tower in Ashalim, Israel (source).

With Sentinel-2 imagery available via Sentinel Hub services you can use the Python API packages sentinelhub-py and eo-learn to download the satellite data for the specified window of time and the area you’re interested in. Then you can calculate cloud masks using machine learning algorithms, and finally filter the images and align the frames with coregistration procedures. This way you can create really nice time-lapse animations like the one below.

Time-lapse of the solar tower in Ashalim, Israel. The tower’s shadow describes the analemma pattern in the course of one year. Sentinel-2 L1C data was extracted from Sentinel Hub with `eo-learn`.

For more information on how to use eo-learn to do cool and useful stuff, check out the following blog posts: part 1, part 2 and part 3.

Another great news — it was just announced that Sentinel Hub started serving cloud masks, so the step of calculating your own cloud masks can be omitted, which simplifies the process substantially!

Now you can download cloud masks and probabilities, as well as the solar angles at the time of image acquisitions. Using all this available data, here is an animation showing how the analemma is manifested from 2019 Sentinel-2 data, showing the same animation as above, along with the corresponding solar zenith and azimuth angles.

Same time-lapse as above, shown with the corresponding solar azimuth and zenith angles for the year 2019. The black crosses (x) represent the valid, cloud-free observations and the time ticks are positioned on the March and September equinox, as well as the June and December and solstice. The solar angles and the Sentinel-2 L1C data was extracted from Sentinel Hub with `eo-learn`.

Using the latest version of eo-learn, you can use the EOTask for downloading Sentinel-2 data and specify the additional metadata that you are interested in.

EOTask for downloading Sentinel-2 data along with the cloud masks/probabilities and solar angle values.

Around the World

Once your code is all set up, you can just change the input coordinates and quickly move around the world to repeat the process and see the same effects elsewhere.

For example, the Burj Khalifa in the United Arab Emirates is the tallest building in the world, reaching up to ‎828 metres, which casts a nice visible shadow, and even the Great Pyramid of Giza or the Tokyo Skytree can be seen via Sentinel-2 imagery. The effects of the analemma can be observed in all of them. Can you think of some other cool location to try? Create the animations yourself with the code provided below!

Time-lapse animations of the Burj Khalifa (left), the pyramids of Egypt (centre), and the Tokyo Skytree (right). The animations feature the movement of the objects’ shadows due to the effect of the analemma.

Around the Solar System

The shape of the analemma shown so far was specific to our planet, as it is the result of several factors which describe our planet’s way around the Sun. But what about other planets? Is analemma also visible there? Is it the same shape? Well, since the eccentricity and axial tilt differ from planet to planet, the shape of the analemma also differs. Depending on the dominance of these variables, the shapes can range from a teardrop or an ellipse to a similar figure-eight shape.

If you have all of these parameters available, you can solve the equation of time for each of the planets and plot the analemma, like demonstrated in this Wolfram Mathematica project.

Mercury: nearly straight east–west line, Venus: ellipse, Earth: figure-eight.
Mars: teardrop, Jupiter: ellipse, Saturn: figure-eight.
Uranus, Neptune, Pluto: figure-eight.

Sharing the code

Sharing knowledge is the most efficient way to learn. You can download the Jupyter Notebook here and do the same things that are shown in this blog post. Check out the code repository, play around, or even improve upon it. We would be very happy to see what you come up with!

--

--

Matic Lubej
Planet Stories

Data Scientist from Slovenia with a Background in Particle Physics.