ARCH-250 · Lesson 2 of 12 · 23 min

Solar geometry

In the second week, Abernathy takes the students onto the roof of the school at noon with a broom handle, a level and a tape measure. She stands the broom handle upright in a pail of sand and asks Joon-ho to measure its shadow. The handle is 4 ft tall; the shadow is about 9.7 ft long. 'Work out the height of the sun,' she says. Callum does it on his phone: the tangent of the sun's altitude is the height divided by the shadow, so the sun is about 22 degrees above the horizon. 'In June, the same handle will cast a shadow less than a third as long,' Abernathy says. 'Everything we do with the sun in this course comes from that difference. If you can predict the sun's position at any hour of any day, you can decide where it should enter a building and where it must be kept out.'

The sun's apparent path

The earth turns on its axis once a day and travels around the sun once a year. Its axis is tilted by about 23.4 degrees to the plane of its orbit, and that tilt stays pointed in the same direction in space all year. As a result, the northern hemisphere leans toward the sun in June and away from it in December. Seen from the ground, the sun appears to travel across the sky each day along an arc that rises in the east, reaches its highest point at solar noon due south, and sets in the west. The arc is high and long in June, low and short in December, and in between at the equinoxes in March and September, when the sun rises due east and sets due west and day and night are nearly equal.

Two angles describe the sun's position at any moment. The altitude is the angle of the sun above the horizon. The azimuth is its compass direction, measured here from due south, positive toward the west and negative toward the east. Architects also use the declination, the latitude at which the sun is directly overhead at noon on a given day: about plus 23.4 degrees at the June solstice, zero at the equinoxes and minus 23.4 degrees at the December solstice. The hour angle measures time from solar noon, at 15 degrees per hour, because the earth turns 360 degrees in 24 hours.

The equations

The sun's altitude α at latitude φ, declination δ and hour angle h is given by the following relation, and the azimuth follows from a second one. Solar noon is the moment when the hour angle is zero; it differs from clock noon by up to an hour or more because of time zones, daylight saving time and a small seasonal wobble called the equation of time.

\[\sin\alpha = \sin\varphi\,\sin\delta + \cos\varphi\,\cos\delta\,\cos h\]
\[\cos A = \frac{\sin\alpha\,\sin\varphi - \sin\delta}{\cos\alpha\,\cos\varphi} \qquad A = \text{azimuth from south}\]

At solar noon the first equation reduces to a simple rule that is worth remembering: the noon altitude equals 90 degrees minus the latitude plus the declination. At latitude 45.0 degrees north, the noon sun stands about 68.4 degrees above the horizon in June, 45.0 degrees at the equinoxes and only 21.6 degrees in December. The declination on any day of the year can be estimated with an approximation published by P. I. Cooper in 1969.

\[\delta \approx 23.45^\circ \, \sin\!\Big(\frac{360^\circ\,(284 + n)}{365}\Big) \qquad n = \text{day of the year}\]
# Sun altitude and azimuth through the day at latitude 45.0 degrees north
import math
lat = math.radians(45.0)

def declination(n):
    return 23.45 * math.sin(math.radians(360 * (284 + n) / 365))

def sun(n, hour):
    d = math.radians(declination(n))
    h = math.radians(15 * (hour - 12))          # hour angle, solar time
    s = math.sin(lat) * math.sin(d) + math.cos(lat) * math.cos(d) * math.cos(h)
    alt = math.asin(s)
    c = (math.sin(alt) * math.sin(lat) - math.sin(d)) / (math.cos(alt) * math.cos(lat))
    az = math.degrees(math.acos(max(-1, min(1, c))))
    return math.degrees(alt), az if hour >= 12 else -az

for name, n in (("21 June", 172), ("21 March", 80), ("21 December", 355)):
    print(name, f"(declination {declination(n):+.1f})")
    for hour in (8, 10, 12, 14, 16):
        alt, az = sun(n, hour)
        if alt > 0:
            print(f"   {hour:2d}:00 solar time  altitude {alt:5.1f}  azimuth {az:+6.1f}")
        else:
            print(f"   {hour:2d}:00 solar time  sun below the horizon")
    # day length from the sunrise hour angle
    d = math.radians(declination(n))
    h0 = math.degrees(math.acos(-math.tan(lat) * math.tan(d)))
    print(f"   day length about {2 * h0 / 15:.1f} hours")
Output
21 June (declination +23.4)
    8:00 solar time  altitude  37.3  azimuth  -86.9
   10:00 solar time  altitude  57.5  azimuth  -58.6
   12:00 solar time  altitude  68.4  azimuth   +0.0
   14:00 solar time  altitude  57.5  azimuth  +58.6
   16:00 solar time  altitude  37.3  azimuth  +86.9
   day length about 15.4 hours
21 March (declination -0.4)
    8:00 solar time  altitude  20.4  azimuth  -67.5
   10:00 solar time  altitude  37.4  azimuth  -39.0
   12:00 solar time  altitude  44.6  azimuth   +0.0
   14:00 solar time  altitude  37.4  azimuth  +39.0
   16:00 solar time  altitude  20.4  azimuth  +67.5
   day length about 11.9 hours
21 December (declination -23.4)
    8:00 solar time  altitude   2.5  azimuth  -52.7
   10:00 solar time  altitude  16.3  azimuth  -28.5
   12:00 solar time  altitude  21.6  azimuth   +0.0
   14:00 solar time  altitude  16.3  azimuth  +28.5
   16:00 solar time  altitude   2.5  azimuth  +52.7
   day length about 8.6 hours

The output confirms the noon rule and shows how long the days are: about 15.4 hours in June and only about 8.6 hours in December. The December sun is also confined to the southern sky, rising south of east and setting south of west, with an azimuth that reaches only about 56 degrees either side of south at sunrise and sunset. In June it rises well north of east and sets well north of west, so for an hour or two after sunrise and before sunset it shines on north walls. These facts drive the orientation of buildings in a northern city: south faces receive the winter sun, east and west faces receive low sun in summer mornings and evenings, and north faces see the sun only on summer evenings and mornings.

The sun path diagram

A sun path diagram draws the sun's course across the sky for a particular latitude on a flat chart. The most common form, the stereographic or polar diagram, shows the horizon as a circle with south at the bottom, the zenith at the center, concentric rings for altitude and radial lines for azimuth. Curves for selected days, usually the 21st of each month, trace the sun's path, and cross-lines mark the hours. With a sun path diagram, a designer can read the sun's position at any hour and season, overlay the outline of neighboring buildings or trees as seen from a window, and see when that window is in shade.

A circular sun path diagram. The outer circle is the horizon, marked N at the top, E, S at the bottom and W. Concentric rings mark altitudes of 15, 30, 45, 60 and 75 degrees. Three arcs cross the lower half of the circle: a long, high arc for 21 June that starts north of east and ends north of west, a middle arc for the equinoxes from due east to due west, and a short, low arc for 21 December close to the southern horizon. Dots on each arc mark the hours.
Sun path diagram for the latitude of the school, with the paths on the solstices and equinox. South is at the bottom.

Many software tools now draw sun paths and shadows directly in a three-dimensional model, and the students will use them. Abernathy still asks them to read the diagram by hand once. 'Software will give you a pretty animation,' she says. 'The diagram tells you in one glance which hours and months matter, and it lets you check that the software has the right latitude, orientation and time zone. You would be surprised how often it does not.'

Profile angles and shading

To design a sunshade for a window, the useful angle is not the altitude itself but the profile angle, also called the vertical shadow angle: the angle of the sun's rays seen in a section cut at right angles through the window wall. For a south-facing window at solar noon, the profile angle equals the altitude. At other times, or for walls facing other directions, the profile angle is larger than the altitude because the sun is off to one side; its tangent is the tangent of the altitude divided by the cosine of the angle between the sun's azimuth and the direction the wall faces.

\[\tan\Omega = \frac{\tan\alpha}{\cos(A - A_w)} \qquad A_w = \text{azimuth of the wall's outward normal}\]

On a south wall, a horizontal overhang works well. The high summer sun has a steep profile angle and is blocked by a short projection; the low winter sun has a shallow one and passes underneath it into the room, just when its heat and light are welcome. A rule used by designers is to size the overhang so that it fully shades the window at noon in late June and lets the sun reach the whole window at noon in late December. Because the spring and autumn equinoxes have the same geometry but very different temperatures, an overhang sized for June noon also shades in late August, when it is still hot, but lets in sun in late March and April, when it is still cold. Adjustable or seasonal shading, such as deciduous trees, vines or operable louvers, can follow the temperature rather than the calendar.

A section through a south-facing wall with a window and a horizontal overhang above it. A steep line from the upper right shows the June noon sun striking the top of the overhang and its shadow falling past the sill, so the glass is shaded. A shallow line shows the December noon sun passing under the overhang and reaching deep into the room across the floor.
A south overhang sized to shade the window at the June noon and admit the December noon sun deep into the room.
# Sizing a south overhang at latitude 45.0: shade the glass at June noon, admit December noon sun
import math
lat = 45.0
gap = 1.0        # height from the head of the window to the underside of the overhang (ft)
glass = 6.0    # height of the glazing (ft)
june = 90 - lat + 23.44
dec = 90 - lat - 23.44
depth = (gap + glass) / math.tan(math.radians(june))       # shadow must reach the sill in June
gap_max = depth * math.tan(math.radians(dec))              # December sun must clear the head
print(f"Noon sun: June {june:.1f} degrees, December {dec:.1f} degrees")
print(f"Overhang projection to shade the whole window at June noon: {depth:.2f} ft")
print(f"December noon sun passes under it if the gap above the head is at most {gap_max:.2f} ft (design gap {gap})")
reach = (gap + glass) / math.tan(math.radians(dec))
print(f"December noon sun reaches about {reach:.1f} ft into the room from the window")
Output
Noon sun: June 68.4 degrees, December 21.6 degrees
Overhang projection to shade the whole window at June noon: 2.77 ft
December noon sun passes under it if the gap above the head is at most 1.09 ft (design gap 1.0)
December noon sun reaches about 17.7 ft into the room from the window

The result is a projection of about 2.8 ft for a window 6 ft high, a modest depth that a roof eave, a balcony or a light shelf can provide. The December sun then just passes under it, provided the overhang sits close above the window head, and reaches far into the room, across the floor and up the back wall. That is good for a sunspace or a living room with a dark floor to store heat, but it can cause glare in a library or a classroom, where the low winter sun shining onto desks and screens is the most common daylight complaint. Lessons 3 and 6 return to this tension between solar heat and visual comfort.

East, west and north

East and west walls are harder to shade. The morning and evening sun is low, with steep profile angles only when it is nearly straight ahead, so horizontal overhangs must be impractically deep to block it. Vertical fins, angled fins, deep reveals, exterior blinds and trees work better on these faces, and the simplest strategy is to keep east and west glazing modest and use it where morning sun is welcome, such as kitchens, breakfast rooms and east-facing classrooms. West glazing is the riskiest, because the low summer sun arrives in the hottest part of the day.

North walls in the northern hemisphere receive no direct sun in winter and only a little, early and late, in summer. North light is steady, even and free of glare, which is why artists' studios and many libraries face north, and north glazing needs no shading. It does lose heat with no solar gain to offset it, so in a cold climate north windows are sized for the light and views they give, not for heat.

Site obstructions and solar access

The sun's geometry also governs the space between buildings. At noon in December at Minneapolis's latitude, a building casts a shadow about 2.5 times its own height. A four-story building can shade the lower windows of a neighbor 130 ft away for much of the winter. Solar access, the right of a building or garden to receive sunlight, is protected by zoning in some cities through height limits, step-backs and shadow studies. For the community hub, the students' sun studies in the previous term showed that the building could not stand on the south side of the site without shading the greenway and the bur oak; for the Greenway Homes housing, they opened the courtyard to the south for the same reason.

To check whether a window will receive sun, a designer can draw the outline of obstructions on a sun path diagram as seen from that window, either by measuring the altitude and azimuth of each building corner and tree top on site or from a model. Wherever the sun's path passes behind an obstruction, the window is in shade. A quick field instrument for this is a solar pathfinder, a dome that reflects the surrounding skyline onto a printed sun path diagram, or simply a phone application that overlays the sun's path on the camera image.

Worked problem

Will the reading room get winter sun?

The library reading room in the community hub has a south-facing window with a sill 3 ft above the floor. Across the greenway, to the south, is a row of trees whose tops are 40 ft high and 130 ft away from the window. Will the trees block the December noon sun?

Show solution
  1. The trees' tops subtend an altitude of arctan(40 − 3) / 130 from the sill, about 15.9 degrees.
  2. The December noon sun is at about 21.6 degrees.
  3. The sun at noon is just above the tree tops, so the sill receives sun at noon; earlier and later in the day, when the sun is lower, it will be blocked.
  4. In winter the trees are bare, so they would cut the sun by roughly half rather than block it completely; evergreens would block it.

Answer: The window receives some sun around noon in December, but only for a short time. If winter sun is important, the window should be raised, the reading area placed higher in the room, or the trees on that side of the greenway kept deciduous.

Exercise 2: sun studies

This exercise takes about one week.

  • Plot the sun path for the school's latitude by hand from the equations for the 21st of June, March and December.
  • Measure the altitude and azimuth of the main obstructions around one window of the community hub site and draw them on the diagram.
  • Size an overhang for a south window of the reading room, and a fin system for a west window of the hall.
  • Make shadow drawings of the hub and its neighbors at 9:00, 12:00 and 15:00 solar time on the solstices and equinox.
  • Check your hand results against a sun study in modeling software, and explain any differences.

Common mistakes

  • MistakeUsing clock time instead of solar time.

    InsteadCorrect for time zone, daylight saving time and the equation of time, or work in solar time.

  • MistakeSizing overhangs by the altitude for walls that do not face south.

    InsteadUse the profile angle in the plane of the section.

  • MistakeShading east and west windows with horizontal overhangs.

    InsteadUse vertical or angled fins, exterior blinds, trees or smaller windows.

  • MistakeAssuming the winter sun is always welcome.

    InsteadCheck for glare on desks and screens in rooms used for reading or work.

  • MistakeForgetting neighboring buildings and trees.

    InsteadDraw obstructions on the sun path diagram or in the model.

Summary and key terms

  • The sun's position is described by altitude and azimuth, which depend on latitude, declination and hour angle.
  • At solar noon the altitude is 90 degrees minus the latitude plus the declination.
  • The December sun is low and in the southern sky; the June sun is high and rises and sets north of east and west.
  • Sun path diagrams show the sun's position at any time and reveal when obstructions shade a window.
  • South overhangs are sized with the profile angle to shade in summer and admit winter sun; east and west faces need vertical shading.
Altitude
The angle of the sun above the horizon.
Azimuth
The compass direction of the sun, here measured from due south.
Declination
The latitude at which the sun is overhead at noon on a given day.
Hour angle
Time from solar noon expressed as an angle, 15 degrees per hour.
Profile angle
The angle of the sun's rays in a section at right angles to a wall, used to design shading.
Solar access
The availability of direct sunlight to a building, window or open space.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. What is the noon altitude of the sun on the equinox at latitude 45 degrees north?

    Show answer

    45 degrees, that is, 90 minus the latitude.

  2. A stick 3 ft tall casts a noon shadow 3 ft long. What is the sun's altitude?

    Show answer

    45 degrees, because the tangent of the altitude is 1.

  3. Why is an overhang a poor way to shade a west window?

    Show answer

    The western sun is low, so it passes beneath any practical overhang; vertical fins or blinds work better.

  4. How many degrees does the hour angle change in two hours?

    Show answer

    30 degrees, at 15 degrees per hour.

  5. Why might a library prefer north light?

    Show answer

    It is steady and even, without direct sun and glare on desks and pages.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz