Transparent calculations

Calculation Methodology

How Solar Path Tracker calculates solar position, event times, timezones, golden hour, daylight states, and polar conditions, including precision limits.

Last updated:

Reproducible checks

Independent validation report

Solar Path Tracker identifies this calculation profile as SPT-SUN-V1. The checks below run the same production solar engine used by the calculators against fixed, independently published reference values. They do not call NREL, USNO, NOAA, or any other external service while browsing, building, or downloading a CSV.

A pass means the calculated result is within the stated tolerance for this exact input—not that every site condition has been measured. These references do not certify, approve, or endorse Solar Path Tracker.

Model
SPT-SUN-V1
Sun position
SunCalc 1.9.0
Local time
Luxon 3.7.2
Timezone lookup
tz-lookup 11.3.0

NREL SPA canonical position · Golden, Colorado

Tolerance: ±0.5°

Within tolerance
AngleExternal referenceSolar Path TrackerAbsolute difference
Azimuth194.34024°193.99000°0.35024°
Altitude39.88838°39.95000°0.06162°

Source: NREL Solar Position Algorithm (SPA) · snapshot checked 2026-08-24. Published SPA example used as an independent angular reference. NREL does not endorse Solar Path Tracker.

USNO event snapshot · Brisbane winter solstice

Tolerance: ±2 minutes

Within tolerance
EventUSNO snapshotSolar Path TrackerDifference
Civil dawn06:1206:131 min
Sunrise06:3806:380 min
Solar noon11:5011:500 min
Sunset17:0217:020 min
Civil dusk17:2717:281 min

Source: U.S. Naval Observatory Astronomical Applications API v4.0.1 · snapshot checked 2026-08-24. Fixed rise, transit, set, twilight, and polar-state snapshots. The API is not called at runtime.

USNO event snapshot · London near the March equinox

Tolerance: ±2 minutes

Within tolerance
EventUSNO snapshotSolar Path TrackerDifference
Civil dawn05:3005:311 min
Sunrise06:0306:052 min
Solar noon12:0812:091 min
Sunset18:1318:130 min
Civil dusk18:4718:461 min

Source: U.S. Naval Observatory Astronomical Applications API v4.0.1 · snapshot checked 2026-08-24. Fixed rise, transit, set, twilight, and polar-state snapshots. The API is not called at runtime.

USNO event snapshot · Singapore near the September equinox

Tolerance: ±2 minutes

Within tolerance
EventUSNO snapshotSolar Path TrackerDifference
Civil dawn06:3306:341 min
Sunrise06:5406:551 min
Solar noon12:5712:581 min
Sunset19:0019:011 min
Civil dusk19:2119:221 min

Source: U.S. Naval Observatory Astronomical Applications API v4.0.1 · snapshot checked 2026-08-24. Fixed rise, transit, set, twilight, and polar-state snapshots. The API is not called at runtime.

USNO polar-state snapshots · Longyearbyen

Tolerance: continuous state and no fabricated rise/set boundary

Within tolerance
DateExpected stateCalculated stateInvented boundary
June solstice · 2026-06-21continuous-daycontinuous-dayNo
December solstice · 2026-12-21continuous-nightcontinuous-nightNo

Source: U.S. Naval Observatory Astronomical Applications API v4.0.1 · snapshot checked 2026-08-24. Fixed rise, transit, set, twilight, and polar-state snapshots. The API is not called at runtime.

Inputs and time

Location, date, and timezone handling

Latitude and longitude identify the observer. The @photostructure/tz-lookup dataset maps those coordinates to an IANA timezone where possible. For unmapped ocean coordinates, the site uses a longitude-based fixed-offset fallback.

Luxon constructs each selected local date and time in that timezone and converts the instant for calculation. This preserves timezone-boundary and daylight-saving rules represented by the runtime’s IANA data. The browser’s timezone is not substituted for the selected location.

The interactive home receives its initial UTC date from the server so server HTML and the first browser render match. After mount, an old incremental-static-render date is refreshed only if the user has not already selected a different date.

Position engine

SunCalc position and angle conventions

The site uses the open-source SunCalc library for solar positions and event times. SunCalc returns altitude in radians and azimuth in radians relative to south. Solar Path Tracker converts radians to degrees and normalizes azimuth with (degrees + 180) mod 360.

The public convention is clockwise from true north: north 0°, east 90°, south 180°, and west 270°. Altitude is signed: 0° at the astronomical horizon, positive above it, and negative below it. Internal values are rounded to two decimal places; most interface values display one decimal place.

The 24-hour dataset samples each whole local hour. A selected local time in the Solar Azimuth & Altitude Calculator is calculated directly and is not interpolated from those hourly samples.

Event definitions

Sunrise, civil twilight, and golden hour

OutputDefinition usedHow it appears
Sunrise / sunsetSunCalc’s standard sunrise and sunset events, including its conventional horizon/refraction model.Exact local event timestamps when available.
Civil dawn / duskThe Sun crosses −6° altitude before sunrise or after sunset.Exact local event timestamps when available.
Calculator golden hourMorning: sunrise to +6°. Evening: +6° to sunset.Exact window boundaries with angle and bearing.
Home hourly stateA sampled altitude below 0° is night, 0–6° is approximate golden, and above 6° is day.A whole-hour classification, not an exact event boundary.

Edge conditions

Polar day, polar night, and unavailable events

If both standard sunrise and sunset are unavailable, the engine checks the Sun’s altitude at local noon. A positive altitude is reported as midnight sun with 24 hours of daylight; a negative altitude is reported as polar night with zero hours of daylight. Transition dates where only one boundary occurs are labelled explicitly.

Civil and golden-hour events are returned as unavailable when their boundary timestamps do not exist. The calculators do not invent, clamp, or reuse a neighbouring day’s time.

Precision and scope

What the model does not calculate

  • • No terrain elevation profile, skyline mask, building, tree, or window geometry.
  • • No live cloud, haze, smoke, aerosol, visibility, or weather-dependent refraction.
  • • No observer elevation correction or surveyed true-horizon measurement.
  • • No solar-panel yield, optimal tilt, equipment loss, structural, glare, or compliance model.
  • • No guarantee that a rounded display time matches a visible event to the minute at an obstructed site.
  • • No replacement for professional surveying, architectural, engineering, or installation analysis.

To report a reproducible discrepancy, include the coordinates, date, local time, expected timezone, page used, displayed result, comparison source, and a screenshot. See the Contact page.