Sunlight Hours and Obstacle Shadow Calculator

Explore solar altitude, shadow direction and shaded time windows for one rectangular obstacle. Compare dates and save the conditions for a site visit.

Geometric sunlight potential on level ground with one obstacle and clear skies.

The initial Seoul layout is fictional. Replace it with site measurements. Results do not determine observed sunshine, PV energy yield or legal compliance.

1. Location, date and time zone

Korea uses UTC +9. Elsewhere enter the date-specific offset including daylight saving time. Days with an offset change within the day are unsupported.

2. Obstacle relative to the observation point

The observer is at (0, 0). Enter positive east/north or negative west/south distances to the obstacle center. Measure both heights from the same ground level.

3. Daily sunlight potential

2026-12-21 · UTC +9 · 5-minute sampling

★ Sun possible
5h 50m
Obstacle shade
3h 30m
Without obstacle
9h 20m
Longest sunlight window
2h 55m
00:0006:0012:0018:0024:00

Yellow: sunlight · purple: shade · gray: below horizon

Low sun (above 0°, below 3°): 0h 30m. Included in sunlight/shade totals; its shadow length is omitted. Shadows shorter than the interval may be missed. Recheck important periods with 1-minute sampling.

4. Sun and shadow by time

Plan view, true north is upN 0°E 90°★ (0, 0)Equal x/y scale · ±27.0 m
★ Observer · purple obstacle · yellow sun direction. The sun marker distance is symbolic. At rotation 0°, width runs east–west and depth north–south.
Solar altitude
28.66°
Solar azimuth (true north)
172.82°
Shadow length at observer height
18.3 m
Shadow azimuth
352.82°

Length is the top-edge projection distance. Point shading also depends on width, depth and rotation. — means below horizon, low sun or an undefined direction.

5. Time windows for site review

Local sunlight, shade and below-horizon intervals
Start–endStateMinutes
00:00–07:50Below horizon470
07:50–10:45Sun possible175
10:45–14:15Obstacle shade210
14:15–17:10Sun possible175
17:10–24:00Below horizon410

Windows include the start and exclude the end. Boundaries follow midpoint classification; they do not establish exact sunrise, sunset or shadow transitions.

Related calculators

Why calculate both sunlight hours and shadow windows?

A sunny roof at noon can still be shaded by a neighboring building in the morning or by a long winter shadow later in the day.
This calculator connects a location, date and simple obstacle layout to estimate when direct sunlight could reach one observation point.
It helps homeowners compare installation positions and arrange useful times for on-site observation.

The model assumes clear skies, level ground and one opaque rectangular prism.
It tests whether a ray toward the center of the sun intersects that obstacle.
The resulting geometric sunlight potential is different from measured sunshine duration, which depends on weather and observation conditions.
The initial Seoul coordinates and obstacle dimensions are a fictional example, not a reconstruction of a real building.

The next practical step

Measure the obstacle, save the conditions for relevant dates and observe the site around predicted shade transitions.
Give the schedule and measurements to your installer, including any trees or other buildings that the simple model leaves out.
Use the output to prepare a site review before choosing a position.

Location, date and UTC offset

Latitude and longitude

North latitude and east longitude are positive; south and west are negative.
Enter the observation location from a map, not the obstacle’s relative distance.
Latitude is limited to −89.9° through 89.9° and longitude to −180° through 180°.
The exact poles are excluded, but polar night and midnight sun are supported.

Local date and offset

Choose an actual date from 1901 through 2099 and supply its UTC offset, including daylight saving time where applicable.
Korea uses UTC +9; supported offsets range from −12 to +14 hours in 0.25-hour increments.
The offset stays fixed for the full calculation day.
A day on which the offset changes is unsupported, and the device’s own time zone does not override your input.

Check the offset again when comparing summer and winter dates.
Clock noon is not necessarily solar noon because longitude and the equation of time affect the sun’s position.
The tool uses the coordinates you supply without address lookup or automatic geolocation, so review the signs and decimal places.

Define the observation point and obstacle

The observation point is the plan origin (0, 0).
Enter east and north distances to the center of the obstacle’s footprint, not its nearest face.
For a center 15 m due south, east is 0 m and north is −15 m.
A single diagonal distance should not be entered as both coordinates because that would place the obstacle farther away.

Dimensions and rotation

  • At rotation 0°, width runs east–west and depth runs north–south.
    Increasing rotation turns those axes clockwise in plan.
  • Both obstacle height and observation height use the same level ground datum.
    For a rooftop observation point, enter the roof’s elevation above that datum and measure the obstacle from the same datum.
  • Set obstacle height to 0 m for a comparison without an obstacle.
    An obstacle at or below the observer’s height does not block the rising ray in this model.
  • If the observation point is inside or on the obstacle at or below its top, the calculation pauses for a layout correction.
    An observer strictly above the obstacle is allowed.

A stepped building or rooftop projection does not match a single prism exactly.
Filling a stepped shape to its maximum height can overestimate shade, while omitting projections can underestimate it.
Use drawings and a detailed site analysis for complex shapes instead of treating an approximate bounding box as a complete model.

Solar position and shadow geometry

Altitude is the angle above the horizon.
Azimuth runs clockwise from true north: north 0°, east 90°, south 180° and west 270°.
The implementation follows the public NOAA/Meeus equations for Julian centuries, solar declination and the equation of time.
It uses the geometric solar center without atmospheric refraction or the angular size of the solar disk, so its horizon transitions can differ from published sunrise and sunset tables.

Core formulas

Height difference ΔH = max(0, obstacle height − observation height)
Shadow length L = ΔH / tan(solar altitude)
Shadow azimuth = (solar azimuth + 180°) mod 360°
sin(altitude) = sin(latitude)sin(declination) + cos(latitude)cos(declination)cos(hour angle)

Length is the projection of the top edge onto a horizontal plane at the observation height.
A length greater than the center distance does not by itself mean that the observation point is shaded.
The algorithm also checks whether the sunward ray enters the rotated footprint and whether its height at entry is at or below the obstacle top.
Edge contact counts as shade, with a tiny numerical tolerance for floating-point arithmetic.

Sampling intervals and low-sun states

Midpoint classification

The day is divided into 1, 5, 10, 15 or 30-minute cells, each classified at its midpoint.
For example, the 12:00–12:05 cell is represented by 12:02:30.
Adjacent cells with the same state are merged into sunlight, shade or below-horizon windows.
Windows include their start and exclude their end, and their durations sum to 1,440 minutes.

Horizon and low sun

Altitude at or below 0° is below the horizon.
Altitude above 0° and below 3° is flagged as low sun.
These cells remain included in sunlight or shade totals, but their potentially very long shadow lengths are omitted.
The 3° threshold is an application display caution, not a legal or meteorological standard.

A short shadow can pass entirely between sample midpoints and be missed.
The total error is therefore not guaranteed to stay within one sampling interval.
Use coarse intervals for initial exploration, then recheck important dates at 1-minute resolution and observe around transitions.
At high latitudes, long periods near the horizon make low-sun warnings and the actual terrain especially relevant.

Step-by-step workflow

  1. Choose a single observation point.
    Use a panel center or a particular terrace position and define its height.
    Recalculate relative obstacle coordinates whenever the observation point changes.
  2. Enter location, date and offset.
    Use a checked map coordinate and the date-specific UTC offset.
    Remember that southern-hemisphere seasons occur at different times of the year from northern-hemisphere seasons.
  3. Enter the obstacle center and dimensions.
    Compare the plan view with the site and confirm signs, width, depth, rotation and a common height datum.
    A reversed sign can put the obstacle on the opposite side of the observer.
  4. Explore the slider and time windows.
    Read the direction, length and state together.
    The yellow sun marker represents direction; its distance in the drawing is symbolic.
  5. Refine, save and check on site.
    The TXT report preserves dates, dimensions, offset, sampling interval, windows and individual samples.
    Share the saved conditions alongside actual measurements when planning the site visit.

Worked geometry examples

Shadow lengths at a 10 m height difference
ConditionΔH (m)Altitude (°)Length (m)
45° example104510
Lower sun103017.32
Low-sun caution101—
Horizon boundary100—

Consider a 10 m wide, 10 m deep obstacle centered 15 m south of an observer at ground level.
Its near face is 10 m from the observer.
With a height of 10 m and a sun due south at azimuth 180° and altitude 45°, the ray touches the top of that near face and counts as shade.
At altitude 46° it clears the top; with the sun to the north, the southern obstacle cannot block the sunward ray.
These are prescribed-angle geometry checks, not a claim about solar noon on a specific date.

Read the totals and compare dates

Unobstructed and continuous sunlight

The unobstructed baseline is the sampled time with the solar center above the horizon.
It equals sunlight-possible minutes plus obstacle-shade minutes.
The longest sunlight window is the longest uninterrupted run of sunlight-possible cells.
Low-sun minutes are already a subset of those totals and should not be added again.
Polar night can produce no sunlight potential, while midnight sun can keep the solar center above the horizon all day.

For a garden or terrace, compare the times when you actually plan to use the space.
For solar installation candidates, keep dates and sampling intervals consistent across positions.
A favorable winter position does not imply identical summer hours, so save several dates.
Shade at one panel point cannot be converted directly into an energy-loss percentage for the whole system.

Limits to check before using the result

  • Clouds, fog, rain, atmospheric transmission and reflected light are excluded.
    A sunlight-possible cell does not guarantee useful sunshine in actual weather.
  • Window orientation, frames, balconies, room depth and surface reflectance are not modeled.
    The output does not assess indoor illuminance or daylight quality.
  • Trees, terrain horizons, multiple buildings, sloping ground and Earth curvature are excluded.
    Large or distant obstacles and terrain need a suitable site analysis.
  • Building approval, required setbacks, sunlight rights and compensation are separate legal or design matters.
    A favorable time window does not establish compliance.
  • Lengths refer to a horizontal plane at one observation height.
    Changing that height or assessing a whole area requires new conditions.

Frequently asked questions

Why does this differ from measured sunshine duration?

This model calculates solar position and a single obstacle’s geometry.
Measured sunshine depends on weather and observation conditions, so the quantities are different.

Can a long shadow miss the observation point?

Yes.
The shadow can point away from the observer or pass outside the footprint width even when its length is large.

Does the result give PV generation or energy loss?

No.
Irradiance, panel area, tilt, layout, electrical connections and equipment behavior require separate information and modeling.

Can I enter a floor number as observation height?

Enter the actual height in meters from the shared ground datum.
Floor heights vary, so an assumed floor-to-height conversion needs verification.

Can I add results from several obstacles?

Adding durations can double-count overlapping shade.
A union of shade windows from multiple obstacles is outside this tool’s scope.

Does a 1-minute interval make this a certified sunlight assessment?

No.
Sampling and excluded measurement, shape and refraction effects remain.
The output does not replace professional site analysis or legal evidence.

Can I use a phone compass directly?

The model uses true north.
Check the map or drawing reference rather than assuming a compass affected by magnetic variation or nearby metal is correct.

Why is shadow length blank at low altitude?

Lengths are omitted above 0° and below 3° to avoid presenting very long projections as reliable distances.
Shade state and duration are still calculated.

Sources and review date

Sources were checked on 2026-09-30.
Solar position uses the public NOAA/Meeus equations, not NREL SPA or its precision claim.
NOAA states that its legacy online calculator is no longer actively maintained.
This tool calculates locally from your inputs without relying on a live response from that service.

The Korean law OPEN API was checked for the current Building Act MST273437 effective 2026-02-27 and Decree MST288849 effective 2026-09-18.
Their legal thresholds are not applied in this global geometry calculator.
Recheck site dimensions for each use and rerun reference solar-position and boundary tests when the algorithm or time-handling implementation changes.

Compare the schedule with the actual site

Enter the coordinates and measured layout, then explore the daily pattern.
Refine the interval for important times and save separate winter and summer conditions.
A schedule shared with measurements can help an installer identify missing obstacles and choose useful site-visit times.

Enter sunlight and shadow conditions