In this article, we will discuss how to find the length of a shadow if we know the height of the object, our latitude, and the day of the year. In part I we consider a flat surface. In Part II we will get a little more advanced as we consider the same on a pitched roof. Let’s get right to it...


The Math

The phrase "SOHCAHTOA" is a mathematical term that reminds us that we can find the unknown length of any side of a right angle triangle if we know the angles and the length of one side. A right triangle has a 90° angle and three sides called Hypotenuse, Adjacent, and Opposite. I am not going to get into all of the details of “SOHCAHTOA”, but just know that it breaks down as follows:

SOH: SINE (ϑ) = Opposite / Hypotenuse
CAH: Cosine (ϑ) = Adjacent / Hypotenuse
TOA: Tangent (ϑ) = Opposite / Adjacent

There is a method to determine the proper calculation to use, but I will skip to the spoiler. To calculate the length of our shadow, we need to use: Tangent (ϑ) = Opposite / Adjacent

What’s your angle?

It just so happens that a fixed tilt PV module casts a shadow that is a right angle triangle so we can use SOHCAHTOA to find the unknown length. In this example, we want to solve for “Adjacent” as this tells us the length of the shadow.

We already know the length of “Opposite”, it is the height of the object casting the shadow. The height of our fixed tilt PV module, as measured from the surface, is 16”.

The final item we need to know to calculate the length of the shadow is the missing angle. Luckily we can figure this out based on the height of the sun above the horizon. This angle is known as the Sun’s elevation, which we can determine by the time of year.

In this example, we will look at the elevation of the sun on the winter solstice in Denver, Colorado. It is a good idea to calculate shadows for this date as the suns low position will produce the longest shadows.

As Earth orbits the sun, the sun will appear to shift in the sky 23.5° from the Equinox to the Solstice due to the earth’s axis. 

In this case, we want to know the elevation of the sun on the winter solstice in Denver, whose latitude is about 40°. There is a more simplilfied equation to get to this angle, but for the sake of this article please entertain me as I take the long route. Use the following to find the angles shown in the above image:

Subtract your latitude from 90° to get the suns elevation on the Equinox.

90° - 40° = 50°

Next, subtract 23.5° to get the suns elevation on the Winter Solstice.

50° - 23.5° = 26.5°

Knowing the elevation of the sun, and that there is always 180° in a right triangle; we can find the final angle:

90° - 26.5° = 63.5°

Now that we know the length of one side and all three angles, we can now find adjacent using:

Tangent (θ) = Opposite / Adjacent

Since we are solving for Adjacent we should rewrite this as:

Opposite * Tan (ϑ) = Adjacent

Opposite is the height of our object: Opposite = 16”
The tangent is calculated using our top angle: Tangent (63.5 radians) = 2.01

So our final equation (Opposite * Tan (ϑ) = Adjacent) becomes:

16” * 2.01 = 32.16”



The length of the shadow cast by our 16” tall module in Denver, at noon on the Winter Solstice, will be 32.16” long. All other days of the year, the shadow at noon will be shorter as the Suns elevation will be higher.


A step further

Now, in the real world, we need to account for a couple more items. Let’s say we wanted to see how close we can place rows of fixed tilt modules, on a flat roof, without having shading concerns at any time of the year.

In addition to the earlier example, we will need to also account for the height of the front of the module and the time of the day. For this scenario, we do not want a shadow in our solar window (9am – 3pm), even on December 21 st . Let’s consider these variables:

LAT: Latitude = 40°
HoR: Height of the rear of the module = 16”
HoF: Height of the front edge of the module = 3”
LoE: The loss of the Suns elevation from noon to 3pm on the Solstice = 14°

Let’s calculate it this way:

(HoR – HoF) * Tangent (LAT + 23.5* + LoE) = Adjacent

Fill in our Variables:

(16” – 3”) * Tangent (40° + 23.5° + 14°) = Adjacent

Calculated out we get:

13” * 4.51 = 58.63”

Holy smokes! Our module rows, on this particular racking, can be no closer than 58.63” to completely avoid shading each other at 3pm on the Winter Solstice.

For shits and giggles, let’s do the math for 2pm on the Solstice instead. At 2pm on the Solstice, the sun will only be about 6° lower than noon. What did you come up with?

I calculated this as just short of 36” which is a far more manageable spacing. Depending on your roof, it is likely you could fit a couple more rows of modules with this smaller spacing.


By placing the modules at a 36” spacing, we know that we will lose 2 hours of Solar Window production on the Winter Solstice (an hour in the AM, and an hour in the PM). However, we will be able to fit more modules on the roof. Sometimes giving up a couple hours of low production solar access could result in a greater benefit on an annual basis, for a grid-connected system, by allowing for a larger system size. With the ever decreasing cost of modules, the industry is trending towards a higher DC to AC ratio, that is, a DC capacity that is some percentage larger than the maximum inverter AC output. In a future article, we will take a closer look into how to determine what amount of inter-row shading is acceptable and the implications of a high DC to AC ratio.