Loading - please wait...

This page requires a reasonably modern HTML5 browser
with both Javascript and WebGL enabled.

If this message is not soon replaced by an interactive diagram,
then it is likely that your browser does not support this web app.
Check your JavaScript Console for specific error messages.

Solar Time:
Day Length: Hrs
Sun Azimuth:
Sun Altitude:
Hour Angle:
Rise / Set: /
Civil Twilight:



Transition Type

Transition Speed sec



Time Zone



The aim of this app is to let you dynamically interact with various two dimensional Sun-path diagrams. These diagrams all map the sky dome over either a rectangular chart (orthographic) or circular chart (polar), differing only in the location of the zenith point and the trigonometric relationship of each axis. The position and path of the Sun is then projected onto the diagram at different times of the year and shown as indicative lines.

Diagram Types

Sun-path diagrams are used in many different fields, some of which are more interested in what happens near the zenith, and others in what happens nearer the horizon. In order to expand those areas of interest, different types of diagram map altitude in different ways. The Spherical projection expands values at the zenith and contracts the horizon whilst the Sterographic projection does the opposite. The Equidistant projection shows all altitudes the same by using a linear scale.

World Map Overlay

An interesting co-incidental quirk of polar Sun-path diagrams is their direct relationship with a spherical world map of the same radius centered at the geographic location of the site. As you move the site around, the Sun-path on the diagram is exactly coincident with the sub-solar path on the Earth's surface. The term 'sub-solar' means that point where a line drawn from the center of the Earth to the centre of the Sun intersects the Earth's surface. In other words, where the Sun is directly overhead.

The daily sub-solar path at the two solstices lie on the Tropics of Cancer and Capricorn whilst the equinoxes run very close to the Equator. They won't exactly line up as the sub-solar path actually forms a continuous spiral that winds periodically up and down around the Earth's surface, whereas the Equator and the Tropics are conventionally shown as parallel latitudinal lines.

The Sun-path/sub-solar relationship makes the most sense within the 'Spherical Sun-Path' projection as that is pretty close to how we would visually perceive a spherical world map. All of the other polar projections result in some uncharacteristic distortion that is harder to immediately perceive.

NOTE: This relationship does not extend at all to the orthographically projected 'Cartesian Sun-Path'. The app will still overlay the world map for visual comparison, but it won't make any direct physical sense.

© Dr. Andrew J. Marsh, 2014.

Keyboard Modifiers

The Shift and Ctrl/Meta keys are used pretty extensively to modify interactive data entry. This applies to all increment buttons, scroll wheel motion, slider controls and input elements.

Shift Key:
Increases input to larger values, usually by ten times or significantly larger increments such as 1 month for dates and 1 hour for times.
Ctrl or Meta Key:
Decreases input to smaller values, usually by one tenth or the smallest reasonable increment such as 1 day for dates or 1 minute for times.

NOTE: You can use the scroll wheel to edit a data value when hovering over any slider, numeric input or even table rows that indicate their editibility.


This page uses the following frameworks/components:

Bootstrap  v3.3.2
Copyright © 2011-2015 Twitter, Inc. - github.com/twbs,
http://getbootstrap.com/   (LICENSE)

Bootstrap-popover-x  v1.4.0
Copyright © 2014, Kartik Visweswaran, Krajee.com,
https://github.com/kartik-v/bootstrap-popover-x   (LICENSE)

Copyright © 2010-2015, Michael Bostock
http://d3js.org   (LICENSE)

jQuery  v1.11.2
Copyright © jQuery Foundation and other contributors,
https://jquery.com/   (LICENSE)

JSON Editor
Copyright © 2015 Jos de Jong - github.com/josdejong
https://github.com/josdejong/jsoneditor/   (LICENSE)

Copyright © 2011 Bruno Jouhier - github.com/Sage
https://github.com/Sage/jsurl/   (LICENSE)

KnockoutJS  v3.2.0
Copyright © Steven Sanderson and the Knockout.js team,
http://knockoutjs.com/   (LICENSE)

Knockstrap  v1.2.0
Copyright © 2013 Artem Stepanyuk - github.com/faulknercs,
http://faulknercs.github.io/Knockstrap/   (LICENSE)

Leaflet Maps API  v1.4.0
Copyright © Cloudmade, Vladimir Agafonkin - github.com/Leaflet,
https://leafletjs.com/   (LICENSE)

OpenStreetMap Map Data
Copyright © OpenStreetMap contributors - openstreetmap.org,
https://www.openstreetmap.org/about   (LICENSE)

Copyright © 2014 Federico Zivolo - github.com/FezVrasta
http://fezvrasta.github.io/snackbarjs/   (LICENSE)

Copyright © 2014 Simon Hagström - github.com/shagstrom
https://github.com/shagstrom/split-pane/   (LICENSE)