The First Day of Summer Every Day

Subtitle: Lazy Days with Astronomy

School’s out for summer
School’s out forever

  • Alice Cooper

Wouldn’t it be great if every day was the first day of summer? With a little math and some astronomy, it’s easy to do.

The Summer Solstice

The summer solstice is the one day of the year with the longest period of daylight. The Earth orbits the Sun in a plane, but the Earth’s axis of rotation is tilted by about 23.5°23.5\degree relative to the orbital plane.


In the Northern Hemisphere, this tilt causes the longest day of the year to be around June 20th,


while in the Southern Hemisphere the longest day is near December 20th.


The difference between the axis of rotation about the Sun and the Earth’s axis between the North and South poles is called the axial tilt or obliquity. The obliquity slowly changes, currently 23.43631°23.43631\degree, and is one of three components of the Milankovitch Cycles which are responsible for long-term changes in climate determining when Ice Ages occur.

The other two components are changes in the eccentricity of the orbit around the Sun and the direction of the Earth’s axis as it orbits the Sun, called precession. These effects happen over periods of tens of thousands of years, so we can safely ignore them for our calculations. The Farmer’s Almanac has a calculator to show the number of daylight hours for any zip code.

So, if there is just one longest day of the year in each hemisphere, how can we make every day the first day of summer? One way would be to build a rocket that could get us into orbit around the Earth. If the orbit was tilted so the orbital axis pointed towards the Sun (approximately North-South around the Earth), then we’d have constant daylight. But, we wouldn’t be able to hang out at the beach and dip our toes in the water.

Another possibility is to move a little bit every day, so the Sun is directly overhead at noon. The longest daylight hours would still be near June and December 20th, but having the Sun directly overhead would certainly feel like a good day at the beach. If you don’t like the answer, redefine the question.

The Subsolar Point

At every moment, there is one point on the Earth where the Sun is directly overhead. This point is called the subsolar point. Since the Earth’s circumference is 40,075 km, and the Earth rotates once every 24 hours the subsolar point moves at a speed of 40075/24 = 1669.8 km/hour (a little over 1000 mph). Blink and it’s gone.

At the summer solstice, the subsolar point touches someplace on the circle around the Earth called the Tropic of Cancer, and at the winter solstice, it reaches the Tropic of Capricorn. The names come from the constellations where the Sun is at the solstices. The subsolar point continuously moves between these circles twice a year. In degrees, the change is about

Degrees/day2×23.5365/2=0.2575°.\text{Degrees/day} \approx \frac{2 \times 23.5}{365/2} = 0.2575\degree.

Another way to think about it is in fractions of the Earth’s circumference,

km/day=40075×0.2575360=28.67  km=17.8 miles.\text{km/day} = 40075 \times \frac{0.2575}{360} = 28.67 \; \text{km} = 17.8 \text{ miles}.

You could walk that far.

The path of the subsolar point is sinusoidal, and looks something like this:


If you choose a latitude like Honolulu (21.31°21.31 \degree N), then follow a horizontal line (blue) until it intersects the red curve, you get the day of the year that the Sun will be directly overhead.

The Subsolar Unit Vector

Imagine that you have a vector pointing North, another one pointing East, and a third pointing directly upwards toward the local zenith.


All three vectors are perpendicular to each other, and if the Up vector points towards the Sun, then you’re at the subsolar point. If you aren’t at the subsolar point, then there will be an angle between the direction towards the Sun and your local up called the zenith angle. The angle between North and the Sun direction is called the azimuth angle.


Given our latitude, longitude, date, and time, we can calculate these two angles. First, we need to know the number of days since January 1st, 2000 at noon (called J2000),

n=1.5+(Yin2000)365+Nleap+Day of Year+Fraction of Day from 0:00 UT.n = -1.5+(Y_{in}-2000) \cdot 365 + N_{leap} + \text{Day of Year} + \text{Fraction of Day from 0:00 UT}.

The year 2000 is subtracted from the current year YinY_{in}, and the result is multiplied by 365. Add the number of leap years NleapN_{leap} to account for the extra February 29th that occurs in each leap year, then correct for the current day of the year and fraction of a day for the current time. The correction of 1.5-1.5 is due to the starting point being at noon rather than midnight on January 1st, and because January 1st is considered the “0th” day.

To calculate the day of the year, create a vector of the number of days in each month

Days in each month={31,28,31,30,31,30,31,31,30,31,30,31},\text{Days in each month} = \{31,28,31,30,31,30,31,31,30,31,30,31 \},

and calculate the cumulative sum vector beginning with 00 for January and omitting the final total

Cumulative days in each month={0,31,59,90,120,151,181,212,243,273,304,334}.\text{Cumulative days in each month} = \{0,31,59,90,120,151,181,212,243,273,304,334\}.

If the current date is April 17th, look up the 4th entry in the cumulative vector, or 120120, which is the total number of days in the previous three months, and then add 1717 to get the day of the year, 137137. The correction for leap years, Nleap=(Yin2000)/4N_{leap} = \lfloor (Y_{in}-2000)/4 \rfloor is the integer part of the number of years since 2000 divided by 44. The symbol   \lfloor \;\rfloor is the mathematical way of saying this.

The fraction of a day is

Fraction of Day=3600×hours+60×minutes+seconds86400.\text{Fraction of Day} = \frac{3600 \times \text{hours} + 60 \times \text{minutes} + \text{seconds} }{86400}.

Longitude is the number of degrees East or West from the Prime Meridian which is a great circle passing through Greenwich, London. You can find the Prime Meridian in Google Earth by entering (51.478,0) in the search box which is where you’ll see the Royal Observatory.

The longitude (in degrees) of the Sun depends on the day of year calculation above,


Every second counts because the longitude point is moving at 463.8ms=1521.65feetsec463.8 \frac{m}{s} = 1521.65 \frac{\text{feet}}{\text{sec}}.

We also need to calculate the mean anomaly gg, the ecliptic longitude λ\lambda, the obliquity of ecliptic ϵ\epsilon, the right ascension α\alpha, and the declination of the Sun δ\delta (all in degrees). Degrees need to be in the range [0,360][0,360], and the easiest way to make that happen in your code is to wrap the calculations in a mod\text{mod} function, e.g. g=mod(357.528 + 0.9856003n,360)g = \text{mod(357.528 + 0.9856003n,360)}.

g=357.528+0.9856003nλ=L+1.915sing+0.020sin(2g)ϵ=23.4400.0000004nα=tan1(cosϵtanλ)δ=sin1(sinϵsinλ).\begin{aligned} g &= 357.528 + 0.9856003n \\ \lambda &= L + 1.915 \sin g + 0.020 \sin(2g) \\ \epsilon &= 23.440 - 0.0000004n \\ \alpha &= \tan^{-1} \left( \cos \epsilon \tan \lambda \right) \\ \delta &= \sin^{-1} \left( \sin \epsilon \sin \lambda \right). \end{aligned}

The Ecliptic Plane

The mean anomaly, gg, is a measure of the position of an object in its elliptical orbit around a central body, with respect to its periapsis (the point in its orbit where it is closest to the central body). It is defined as the angle between the periapsis and the object’s current position, measured at the center of the central body.

The mean anomaly can be used to predict the future position of an object in its orbit, using Kepler’s laws of planetary motion. These laws describe the relationship between an object’s orbital characteristics (such as its semi-major axis, eccentricity, and period) and its motion around the central body.

The ecliptic plane is the plane in which the Earth orbits the Sun. It is tilted with respect to the celestial equator by about 23.5 degrees, which is the reason for the seasons on Earth. The ecliptic plane is also the plane in which the Moon and planets move in their orbits around the Sun. The positions of celestial objects are often described in terms of their celestial coordinates, which include their ecliptic longitude and latitude.

The solar ecliptic longitude, λ\lambda, is measured in degrees, starting from the vernal equinox and increasing in a counterclockwise direction. It is usually measured in the range of 0 to 360 degrees. The solar ecliptic longitude is used to predict the location and phase of the Moon, as well as the positions of the planets. It is also used to track the motion of comets and asteroids.


The obliquity of the ecliptic, ϵ\epsilon, is the angle between the Earth’s axis of rotation and the vector perpendicular to the ecliptic plane, in other words, the amount of tilt of the Earth.

Right Ascension and Declination

Right ascension, α\alpha, (or RA), and declination, δ\delta, (also Dec) are celestial coordinates used to specify the location of objects in the sky, including the Sun. The celestial sphere is an imaginary sphere with the Earth at its center, upon which the stars and other celestial objects appear to be located. Right ascension and declination are similar to longitude and latitude on the Earth’s surface.

Right ascension is the angular distance of an object eastward along the celestial equator from the vernal equinox, the point where the Sun appears to cross the celestial equator from south to north at the start of spring. Right ascension is measured in hours, minutes, and seconds, with one hour equivalent to 15 degrees.

Declination is the angular distance of an object north or south of the celestial equator, measured in degrees.


The Sun’s right ascension and declination change throughout the year due to the Earth’s orbit around the Sun. The Sun’s right ascension and declination are at their maximum at the summer solstice, which occurs around June 21st in the Northern Hemisphere. At this time, the Sun’s right ascension is around 12 hours and its declination is at its maximum positive value of around 23.5 degrees.

At the winter solstice, which occurs around December 21st in the Northern Hemisphere, the Sun’s right ascension is around 18 hours and its declination is at its maximum negative value of around -23.5 degrees. At the spring and fall equinoxes, the Sun’s right ascension is around 9 hours and its declination is 0 degrees.

It’s worth noting that the Sun’s right ascension and declination change slightly over time due to precession, a slow, cyclical motion of the Earth’s axis that causes the celestial pole to trace out a small circle in the sky over a period of approximately 26,000 years.

The distance between the Earth and Sun varies according to this formula

RES=1.000140.01671cosg0.00014cos(2g)R_{ES} = 1.00014 - 0.01671 \cos g - 0.00014 \cos(2g)

which is measured in Astronomical Units (au), the average distance from the Earth to the Sun (149,597,871 km). We also need the Equation of Time (in minutes),

EoT=4(Lα)EoT = 4(L - \alpha)

With this, we can calculate the subsolar position for any time. The subsolar latitude ϕS\phi_S is the declination δ\delta, and the subsolar longitude is

λS=15(TGMT12+EoT/60)\lambda_S = -15(T_{GMT}-12+EoT/60)

where TGMTT_{GMT} is the Greenwich Mean Time.

Azimuth and Elevation Angles

If your latitude and longitude coordinates are (ϕ0,λ0)(\phi_0,\lambda_0), and the Sun’s latitude and longitude are (ϕS,λS)(\phi_S, \lambda_S) then the pointing toward the Sun is

S=[cosϕScosλScosϕSsinλSsinϕ0]S = \begin{bmatrix} \cos \phi_S \cos \lambda_S \\ \cos \phi_S \sin \lambda_S \\ \sin \phi_0 \end{bmatrix}

and the local upward pointing vector VV is

V=[cosϕ0cosλ0cosϕ0sinλ0sinϕ0].V = \begin{bmatrix}\cos \phi_0 \cos \lambda_0 \\ \cos \phi_0 \sin \lambda_0 \\ \sin \phi_0 \end{bmatrix}.

Make both into unit vectors by S=S/SS = S/\|S\| and V=V/VV = V/\|V\|.

The unit vector (after normalization) from your position towards the Sun is

SV=[cosϕSsin(λSλ0)cosϕ0sinϕSsinϕ0cosϕScos(λSλ0)sinϕ0sinϕS+cosϕ0cosϕScos(λSλ0)].SV = \begin{bmatrix} \cos \phi_S \sin (\lambda_S - \lambda_0) \\ \cos \phi_0 \sin \phi_S - \sin \phi_0 \cos \phi_S \cos (\lambda_S - \lambda_0)\\ \sin \phi_0 \sin \phi_S + \cos \phi_0 \cos \phi_S \cos (\lambda_S - \lambda_0) \end{bmatrix}.

The azimuth angle or the angle between North and the vector SVSV towards the Sun can be found by taking the arctangent of the first two components of SVSV,

Az=tan1(SV[2]SV[1]).Az = \tan^{-1} \left( \frac{SV[2]}{SV[1]} \right).

The zenith angle is the arccosine of the third component.

Ze=cos1(SV[3]).Ze = \cos^{-1}(SV[3]).

If the angle calculations are done in degrees, then the elevation angle is El=90ZeEl = 90 - Ze where ZeZe is the zenith angle, and the elevation is the angle between your local horizon and the Sun.

Besides having a formula for the first day of Summer, the azimuth and elevation angles are much more useful for solar energy collection. To optimize the efficiency of a collector, you need to make the plane of the collector perpendicular to the direction towards the Sun, SS. Often, it isn’t practical to continuously match both the azimuth and elevation angles, so people often make corrections to just the elevation angle which still provides higher collection efficiency.

A Pluto notebook (in Julia) to run these calculations is available on Github. You could extend the code to calculate the azimuth and elevation angles for an entire day, or you could plot a path in OpenStreetMap, and figure out where you’d need to be to directly under the Sun every day. The code does not correct for refraction, so you’d need to include that calculation if you want to collect solar energy.

Today, (21 Dec 2022), the first day of summer in the Southern Hemisphere the code says that the Sun should be at the Tropic of Capricorn:


The Anna Lemma

An analemma is the pattern that the Sun makes over a year when viewed from the same location on the Earth. Jack Fishburn took this sequence of photographs at the Bell Laboratories in Murray Hill, NJ to create an analemma,


An Analemma

Using the equations for azimuth and elevation, you could calculate the Sun’s position to plot the analemma for your location. You might even be able to create an analemma with an online planetarium like Stellarium.

To make an analemma, you need to take a photo at exactly the same time (accounting for daylight savings time) throughout the year. If you take the photos at times separated by one-hour intervals, you’ll get a wreath of analemmas,


Wreath of Analemmas

The Path to Summer

Now that we know how to find the subsolar point for any time of the year, we can map out a path to follow it. Should we walk, bike, or drive in an RV? It would be possible to walk because on average the distance is only about 29  km29 \; km, but walking that far every day would get tiresome pretty quickly. Biking might be more practical, or we could take it easy and get an RV or a camper van.

In Google Earth, you can turn on grid lines by clicking “Map Style” (second from last icon on the left side) and then “Turn on Gridlines” to show the Tropic of Cancer and Tropic of Capricorn. The most direct North-South path on land seems to be in eastern Africa, maybe starting in Egypt and ending in South Africa. The only other land route is through Central and South America, beginning in Mexico and ending in Chile.

Another option would be to go by boat. With the Wharram Mana 24, you could sail along the coast and at night pull up on the beach for an overnight camp. The Pax is more comfortable (and check out the interior!) or you could get a BeTriton combination bike/boat/camper.


Now the options are to start upriver in Bangladesh, then along the coast of Myanmar… Ok, how about the East Coast of Africa? Start in Oman, then along the coast of Yemen, cross the oil tanker shipping lanes in the Gulf of Aden then along the coast of Somalia … nope, nope, nope. The West coast of Africa wouldn’t be too bad, but there’s a long stretch from Liberia to Cameroon that runs mostly West to East, and we need to be moving South every day.

On the East coast of the Americas, you could start in the Bahamas and make your way down to the Turks and Caicos, then the Dominican Republic, over to Puerto Rico and follow the Leeward Islands to Trinidad and Tobago. Maybe not in a BeTriton with all that open-water sailing. Also, you’d likely be in the Caribbean right during the height of hurricane season.

How about the West coast? Start just North of Mazatlan, Mexico and it’s a pretty nice ride South along the coast. You’d have to skip most of Panama because it curls Northward, but after that, it’s smooth sailing all the way down the coast of Chile. You’ll pass by Mejillones which looks pretty nice,


Mejillones, Chile

and your last stop at the Tropic of Capricorn will be at Isla Santa Maria where the subsolar point and the Southern Hemisphere’s longest day will coincide for the true first day of summer. Typical summer weather there is 1520  °C15 - 20 \; \degree C or 5968  °F59-68 \; \degree F. Huh? You call that summer? Too much math just ruined a good six months at the beach.

The Great Loop

Did you know that the Eastern third of the United States is an island? You can go completely around it in a boat. It’s called the Great Loop and you can join a club that will help you navigate your way around. National Geographic says, “The Great Loop is the epic U.S. adventure you’ve never heard of”. Maybe this would be a better way to spend the summer.


The Great Loop


A solar azimuth formula that renders circumstantial treatment unnecessary without compromising mathematical rigor

Determination of optimal position of solar trough collector

Longitude, National Geographic

Google Earth

Subsolar Point

Equation of time

Determination of Ecliptic Longitude


Ecliptic coordinate system

Obliquity of the ecliptic

Right Ascension

Solar azimuth angle

Position of the Sun

Mean longitude

Right ascension

Astronomical Calculations: Solar Coordinates

NOAA Solar Calculator

Subsolar Point

Heavens Above (Solar alt, Az, RA, Dec, Rng)

The Sky Live

Day and Night World Map

Sky Marvels

Convert Right Ascension to HMS