Sundial Calculator :
Notice On Browser Selection

Where this utility is concerned, not all browsers are created equal.

You should have good luck if you use Chrome, Firefox or Opera. Safari seems to work reasonably well, but appears to lack "roll-overs" when interacting with the dial viewport (at least on a Windows platform).

Recent versions of Internet Explorer mostly work (IE9 and later), but results aren't likely to be satisfactory when exporting data. Internet Explorer is the only browser the use of which is discouraged.

I know its a popular browser, but if you want to use this utility, stay away from Internet Explorer. I've nothing against Microsoft, they just don't make a web browser that conforms to web standards as well as the others do.

(NOTE: You can use the F11 key to toggle your browser between normal and full screen modes.)

Warning / Error Window
General Usage  •  •  •

To use this utility, simply click Dial Setup , select the "Dial Type" you wish and input the parameters you want to use. Save the settings and click "Display Dial". Once a dial is displayed, you can select "Pan Dial Input" to alter the basic dial settings. You may also add additional features using the "Furniture" options.

• This program is designed to calculate the necessary parameters for constructing a variety of sundial types (classic, bifilar, analemmatic, and cylindrical/Shepherd), located at any latitude and longitude. Classic and bifilar dials may be horizontal, vertical (with any wall declination) or arbitrarily oriented with a combination of inclination (i.e. vertical rotation) and wall declination.
• Output consists of tables of numerical data, a CAD-compatible DXF file, or an XML/SVG file which can be used with the free software application Inkscape to produce an exact scale printout of your sundial.
• The utility is written entirely in Javascript and is freely available to download.
•  Scalable Vector Graphics (SVG) are employed to render an image of a dial's appearance.

• Classic Dials : The gnomon may be a straight rod oriented perpendicular to the dial face or have a style parallel to Earth's rotation axis. These two situations are referred to as perpendicular and polar gnomons, respectively.

• Bifilar Dials : Thread orientation is restricted to an orthogonal arrangement. The x-axis thread represents a direction which is always parallel to the horizontal. The y-axis thread represents a direction which is always perpendicular to the x-axis (the y-axis may be vertical or horizontal or somewhere in between, depending on the inclination of the dial face). For a vertical face, the y-axis is vertical; for a horizontal face, due north.

• NOTE: In the case of horizontal dials, the code restricts bifilar thread orientation to east-west and other words, when the dial inclination is set to 0°, the dial declination is automatically reset to 0° as well. Classic dial behavior is essentially the same when the plane is perfectly horizonal... it assumes one is looking at the dial while facing due north (for both the northern and southern hemispheres). If one wants a declination east or west of south, use a dial face inclination of 0.1°, as opposed to 0° ...this will work.

• Analemmatic Dials : This dial type is always horizontal, with the positive x-axis and positive y-axis defined by due east and due north, respectively.

• Cylinder Dials : This dial type has two sub-types: 1) fixed cylinder dial; and 2) the more familiar Shepherd's dial.

The fixed cylinder dial has a vertical cylinder with a movable style (mounted horizontally) that is positioned toward the sun in order to tell the time of day and day of year. The style is moved laterally, throughout the day, so that it casts a vertical shadow on the surface of the cylinder, from which the time can be read.
A Shepherd's dial has a style position set according to the day of the year and then the entire dial is turned toward the sun, throughout the day, to determine the time. Typically, this dial type is small and portable, its name reflecting a vocation historically having made use of it.

Definitions  •  •  • ⇒ Read this section carefully ⇐

....under development....

• Dial Origin : The "origin" is defined as the point at which the style/gnomon attaches to the dial plane . It is always assigned cartesian coordinates of (0,0). For bifilar dials, the origin is the point on the dial face which represents the "intersection" of the threads. For analemmatic dials, the origin is just the center of the ellipse.

• Dial Center : The "center" of the dial is defined as that point at which all hour lines converge (Note: not all dials will have a "center"). For dials with a "polar" style, the center and the origin are the same point; however, for a "perpendicular" gnomon, the center and origin are not the same.

• Dial Declination : A south-facing dial is represented by a declination of 0°. Declinations west of south are positive, east of south, negative. Think of this angle as being measured in the horizontal plane from due south. (Default in the dial setup is for a south-facing dial.)

• Dial Inclination : A horizontal dial is represented by an inclination of 0°; a vertical dial, 90°. Default in the dial setup is for a horizontal dial. The angle is measured from the zenith of the dial's location to a line perpendicular to the dial face (i.e. the dial plane surface normal).

Limitations  •  •  •

• For dials with negative or southern latitudes, it is important to keep a proper perspective: for example, a horizontal dial (north or south of the equator) is displayed from the perspective of an observer facing due north. This means a northern oberserver will have the equator behind his/her back, while a southern observer will be facing the equator.

•  In the case of horizontal dials (dial inclination = 0°), the dial declination is automatically reset to 0°. If one wants a declination east or west of south, use a dial face inclination of 0.01°, as opposed to 0° ...this will work (admittedly, its a bit of a 'kludge').

• Prior to using this program, it is incumbent upon the user to take the time to understand the general theory of sundials, which will allow one to understand and utilize the data generated for a dial with a specific location and orientation.

• Because this program is written in javascript, the actual source code is available for anyone to modify. Effort has been put into making this possibility a bit of a chore, but users anyone is free to modify the code to suit their own purposes. .

•  Every effort has been made to ensure the output of this program is accurate, but no warranty is either expressed or implied. Users accept full responsibility for the accuracy and reliability of any sundial they construct using data provided by this utility.

•  Known Bugs:

  • This should be fixed now. If you encounter any issues, please let me know. B.H. April 2014
    A classic dial with a polar gnomon and an inclination > 90° displays upside down ...there is a factor of -1 creeping in where it doesn't belong. This dial is uncommon enough (i.e. most dials are not inclined toward the ground), I've just not taken the time to chase it down. If you find it problematic, let me know. It may just provide the motivation I need to finally get it fixed.
  • This should be fixed now. If you encounter any issues, please let me know. B.H. Oct 2012.
    At high latitudes (i.e. near the poles) when the sun transits the meridian twice in one day (i.e. the sun never sets), there is a bug in my algorithm for calculating solar azimuth and sometimes positions near the meridian are plotted with an azimuth that is 180° out of position. This one is on my radar and I hope to have it fixed "sooner, rather than later" (B.H. April 2012 ...

Additional Help  •  •  •

• Web Sites : If one is serious about dials and suspicious of this utility, a sentiment I can fully appreciate (I originally wrote this program with the partial intention of using it to independently check the output of other programs), there is a lot of general information and software (which has been more thoroughly vetted than mine) available. A couple of very good places to start are the web sites for: 1) the North American Sundial Society ; and 2) the British Sundial Society. There are a lot of sundial sites, but both the NASS and BSS sites are professionally done, easy to navigate, and contain more than enough information and additional links to keep one busy reading and surfing for days, if not longer, depending on your enthusiam and fortitude ;)

• In-line Help : Rather than create a single, large help file, effort has been made to intersperse the program with context sensitve help. For example, if you see a small red question mark     ?     you may click on it to display a short help file for the program function or item associated with the help icon.

• Tool Tips : In other situations, hovering the mouse on some elements will display a "tool tip" (i.e. a short description of the item). Whenever a dial is displayed, most of the elements generated in the viewport graphic have associated tool tips (e.g. to indicate various values of declination, time, hour angle, cartesian coordinates, etc., depending on the element moused over).

Tool Tip Example

Dial Location  •  •  •
: Dial Latitude
: Dial Longitude ?
: Longitude of Time Zone Meridian
? Cylinder Dial Type:  •  •  •

Notes:  •  •  •
This feature is not for a specific dial. It allows the user to calculate and display the equation of time for a selected year. The display can be presented in either of two manners: 1) EoT versus date; or 2) the familiar analemma (EoT versus solar declination).
Output Format:  •  •  •

This dial type is currently limited to horizontal dial planes.

!!! Installation of an analemmatic dial must be done with great care taken to align the axes as precisely as possible. With many sundials, if the original orientation isn't quite right you may be able to shift the dial a bit. This is not so easy for the typical horizontal analemmatic, which is typically of a fairly large scale. Even a 1 degree error for the ellipse axis will give errors of more than 6 minutes at certain times.

The viewport of the dial graphic is sized to represent the rectangle one would obtain by rolling the exterior of the cylinder out flat.

Dial Face Orientation  •  •  •
: Dial Face Declination

The default value represents a south-facing dial. Declinations west of south are positive; east of south, negative. The angle is measured in a horizontal plane.

Calculate Wall Declination

: Dial Face Inclination

The default value represents a dial with a horizontal face. The angle is measured from the zenith downward to a line perpendicular to the dial face. For example, a vertical dial will have a dial face inclination of 90°.

Gnomon  •  •  •
Scale  •  •  •
: Scale

For bifilars, this setting is fairly inconsequential. It is simply used to establish the length of the "Scale" graphic when the dial is displayed in the viewport. (It doesn't effect the calculations.) • Set equal to the length of the gnomon (arbitrary units). Recommended units are either inches or centimeters. Either of these choices work well if one wishes to eventually generate an exact scale print of the dial layout. • For "polar" gnomons, set this value equal to the length of the style. Set this value equal to the height of the movable gnomon. If "people" are going to be the gnomon, set it equal to the average height you expect.

Axes  •  •  •
: X-Axis Thread Height
: Y-Axis Thread Height

Each axis is offset from the dial plane by the values entered here.
The default values will result in a universal , horizontal bifilar dial (i.e. for the default latitude). A universal dial is one on which hour lines are separated by exactly 15°.

Year  •  •  •
: Value between 1900 and 2200.
Dial Face Area  •  •  •
Area  •  •  •
Dial Radius  •  •  •
: Width
: Height

Set equal to the dimensions of the final graph. Set equal to the dimensions available for displaying the dial at its intended location. The graphics viewport will be set to these dimensions in order to give a feel for the how the dial will display within the available area. There are situations in which the sun may approach very close to, or even transit, the dial's zenith (e.g. latitudes nearer the equator). In these situations the shadow may be too long to fit on the cylinder (when the sun approaches the dial's zenith, the length of the shadow approaches infinity). This setting establishes the vertical dimension of the display area.

: Cylinder Radius Semi-major axis

Set equal to the radius of the cylinder on which the dial is to be constructed. It is assumed the dial will be positioned with the axis of the cylinder pointing toward the zenith. Set equal to the the maximum radius of the ellipse which will define the dial. The value entered here will represent the length of the semi-major axis of the ellipse. The semi-minor axis is determined by the value entered here and the latitude of the dial.

Example Help File

For illustration purposes only.....

To move this element, click & drag.

Pan A Dial Variable

This function allows one to observe the effect of altering a single dial setting (e.g. wall declination, latitude, length of gnomon, x-axis thread offset, etc) without having to open up the setup dialog. The user can quickly increment or decrement the chosen setting by the amount specified and observe the effect on the dial display.

Most of the variables have preset ranges. The utility will let you know if an attempt is made to exceed it.

Note that because these operations recalculate the entire dial, if many special settings are selected (e.g. babylonian hours, the equation of time, etc), it may take a few seconds for the viewport to refresh and the new dial to display.

Bifilar Dial Center

This position represents the location at which all hour lines converge. It is the point from which polar layout data is used to construct the dial.

Gnomon/Style Projection

Polar Gnomon (Parallel to Earth-rotational axis)

For polar gnomons (style parallel to the Earth's rotation axis) clicking the button will toggle display of the projection of the style onto the plane of the dial (sometimes referred to as the substyle ). Hovering over the end point will generate a "tool tip" that displays the 2D coordinate of this point. The style angle (i.e. the angle the style makes with the dial plane) and the distance of the nodus (i.e. the very tip of the style) above the dial plane are given in the dial summary to the left of the dial graphic.

These three pieces of information: 1) substyle coordinate ; 2) style angle; and 3) style distance (i.e. ⊥ distance of the nodus from the dial plane), are sufficient to accurately place the style in its correct position. (Strictly speaking, one only really needs #1 in addition to either #2 or #3, but for the sake of completeness, they are all given.)

Note that for a dial which has a polar style, the dial's center and origin are the same.

Perpendicular Gnomon

The projection of a perpendicular gnomon onto the plane of the dial is just the origin of the dial itself and therefore is not particularly instructive. Instead, imagine a line, parallel to the Earth's axis, and passing through the tip of the perpendicular gnomon. Clicking the button will toggle the display of the projection of this line and point of intersection onto the face of the dial. This point is the dial center (the point at which the hour lines converge)

Laying out a dial using polar coordinates must be done from the dial center, which is not the same location as the dial origin (The dial origin and dial center are only the same when using a polar style). If the dial's center and origin lie too far apart, using polar coordinates is probably not feasible.

2D & 3D Data

There is a lot of output in this section, most of which is not necessary for constructing the dial. It is included anyway, however, since it should help in visualizing the sun's position and movement and how that translates into the dial face coordinates (DF_x ,DF_y) that can be used by themselves for constructing the dial.

Each separate table represents data for a specific solar declination. Inspection of the output will show that as watch time increases, the sun's hour angle and azimuth uniformly increase while the sun's altitude increases then decreases. Note that azimuth is measured from due north clockwise in the horizontal plane.

The direction cosines of the sun represent a unit vector which points from the origin of the 3D cartesian coordinate system toward the sun. A negative value for dz indicates the sun is below the horizon. (Note that due east and due north in the horizontal plane are positive-x and positive-y, respectively.)

A 3D dial coordinate represents a point in 3D space where a line with the direction cosines of the sun and passing through the tip of the gnomon (or through both threads in the case of a bifilar dial) intersects the dial plane.

• The coordinate system used in performing most calculations is the familiar 3D Cartesian system (i.e. XYZ axes, right-handed).
• Due east (in the horizontal plane) is the postive x-axis.
• Due north (in the horizontal plane) is the positive y-axis.
Vertical (i.e. zenith direction) is the positive z-axis .

A 2D dial coordinate represents the projection of the 3D point onto the plane of the dial. 2D coordinates (DF_x,DF_y) are the ones to be used in laying out the dial . NOTE: The coordinates (DF_x,DF_y) represent the values exported to the DXF file.

The Author

•  This program is intended to be a reasonably straightforward, interactive utility for the generation of numerical data which can then be used for the layout and construction of a variety of sundial types. It was originally intended and designed for personal use, but morphed over time into the present incarnation.

•  Because this program is written entirely in Javascript, anyone is free to download and use it external to this website.

•  The intended target audience is anyone relatively new to dialing. It is assumed that if one is interested in creating a dial with details such as altitude and azimuth lines, planetary hour lines, sidereal time, etc. this is not the utility for you. With this utility one can customize the solar calendar, and include the equation of time as well as babylonian and italian hour lines. For most folks, this will be plenty.

•  Proper useage does require a basic level of understanding on the part of the user (I'm assuming experienced dialists already have favorite or preferred "dialing software"). If you are serious about making a sundial, it is strongly recommended one spend a little time becoming familiar with the general theory and nomenclature about dials. Some possible starting points may be found at Additional Help .

•  If you are a person who prefers reading "instructions", begin with Getting Started . If your modus operandi is to jump right in, you can start with either Dial Setup (to change the settings to your particular locale) or Display Dial , which will generate the "default" dial (a horizontal dial with a "polar" gnomon located in southwest Missouri).

•  Every effort has been made to ensure the output of this program is accurate, but no warranty is either expressed or implied. Users accept full responsibility for the accuracy and reliability of any sundial they construct using data provided by this utility.

•  It is something of a "work in progress", so if you have questions, a suggestion, or want to report a bug, I can be contacted at: bill -AT- jamesriverstudio -DOT- com .

© 2014 Bill Horst

Layout/Construction Data
The output of these functions provide the data necessary for dial construction.

DXF File

The output of this function is a plain ASCII text file the structure of which is recognizable by CAD programs. The visible elements in the dial SVG viewport are converted to LINE, TEXT and POLYLINE elements and written to layers reflecting the different types of paths displayed (e.g. hour lines, calendar paths, hours 'til sunset, horizon, etc.). It is left to the user to assign line-weight/type, color, etc.

SVG File

The output of this function is an XML/SVG document which can be opened in Inkscape for the purpose printing your sundial layout to exact scale (this eliminates having to plot points by hand and is easier for most people than trying to use the DXF file in conjunction with a CAD program). Inkscape is FREE software which runs on almost every conceivable computer (i.e. Mac, Linux, Windows, etc). Even if you don't want to learn to use the application in general, it can still be used for the purpose of printing your sundial with only minor effort on your part by following these instructions .


Data is given in familiar (x,y) coordinate form. Values are relative to the dial origin.

Polar *

When a dial center exists, data is given in polar coordinate form (r,θ). Values are relative to the dial center, with θ measured counter-clockwise from what would constitute the positive x-direction, and ranging from 0° → 360°. Strictly speaking, all of this data is derived from the cartesian data, but this output is an attempt to save the interested user intermediate steps that might prove tedious.

Import DXF File

This function does not export data, rather, it scans a DXF file and attempts to render LINE and POLYLINE elements to SVG path elements underneath the dial on display. It may be used to directly compare the output from this utility against DXF output from other dial programs.

* Note that in the case of analemmatic dials, all layout data is presented together, so it doesn't matter which button you click to display the information.

Analemmatic Dial Data

•  The data is presented in both cartesian and polar form. The relative simplicity of the layout allows packaging everything together.

2D Dial Coordinates

...under development...

Polar Layout Data

• For dials with reasonbly positioned dial centers (always the case for polar styles), using polar data is quick and easy. For a particular hour angle, a tape measure can be positioned at the dial center and stretched along the appropriate angle (theta ) which then allows one to rapidly marked the radial positions corresponding to the associated declinations.

• The angular measure, theta, is given in the range 0° → 360° to eliminate any ambiguity regarding proper orientation. It is always measured counter-clockwise from the positive x-direction (i.e. horizontal, to the right, from the point of view of an observer looking toward the dial plane).


This angle, in degrees, is measured counter-clockwise from the horizontal-right (i.e. positive x-dir) and defines the orientation of the given the hour angle and time.

Equation of Time

For each hour angle displayed on the dial graphic one can separately toggle the hour line and the analemma associated with the hour line. In addition, once the analemma is displayed, one has the option for displaying individual data points for the 1st, 11th, and 22nd of each month.

The options for toggling all the hourlines/analemmas will turn off/on the display of the entire set of elements. If the state of the display is somewhat "mixed", it will choose the opposite state (i.e. all on vs. all off) which is most consistent with the current state.

If one clicks to toggle all analemmas for the first time, it may take few seconds to calculate the entire display.

Equation of Time / Analemma Layout Data

There is a lot of data in this section, but it is mostly redundant. It is done this way to maximize the number of options available when it comes to actually laying out the dial on the surface where it is to be constructed.

DF_x & DF_y
These entries are the familiar cartesian coordinates of the point on the analemma. They are measured relative to the dial origin .
R & Theta*
These entries are the familiar polar coordinates of the point on the analemma. They are measured relative to the dial center .
// Dist & |- Dist*
These two entries stand for parallel and perpendicular distance, and are measured relative to the standard hour line for the analemma in question.
The parallel distance is measured from the dial center along the standard hour line.
The perpendicular distance is measured at a 90° angle from the point on the hour angle line as determined using the parallel distance.
* For situations in which the dial center is located a long way away (i.e. ∞), these data are not calculated.

Southern (Negative) Latitudes

This utility does not currently produce results for dial located at negative latitudes.

Shadow Lines

If the physical dimensions of the dial are too large relative to the height of the gnomon, the shadow may not reach the hour markers (even though it points in the correct direction). This condition varies depending on the season (i.e. the sun's declination). The paths generated by these options plot the maximum reach of the shadow generated by the gnomon.

"3 Lines" plots shadow limits for declinations of 0 and ±23.5°.
"7 Lines" plots shadow limits for declinations of 0, ±11.5°, ±20°, and ±23.5°.

Hour Lines

In the past, some civilizations and cultures considered the start of the day, and hence the first hour of the day, to coincide with sunrise (Babylonians), while other (the Romans, or Italians) ended the day at sunset, which also meant that for counting purposes, the first hour of the new day began at sunset.

Babylonian hour lines indicate the number of hours the sun has been above the horizon, or the number of hours that have elapsed since sunrise.

Italian hour lines indicate the number of hours of sunlight left in the day, or the number of hours until sunset .

DXF File

Because this application runs inside a browser, it is somewhat limited in terms of its ability to perform routine file operations on a user's computer.

Select all the text displayed in the text window to the left and paste it into an ASCII text editor (e.g. "Notepad"), then save it on your computer giving it whatever name you choose, with a file extension of DXF (NOTE: make sure there are no blank lines at the beginning of the file).

SVG File
  • You can use this SVG file, in conjunction with Inkscape, to print an image of the sundial exactly to scale. This eliminates the tedium of having to hand-plot individual points. If you are unfamiliar with Inkscape, try this short tutorial to see how its done. If you need any hints/instructions, try clicking the headings...
  • Saving the File to Disk
  • Adjustments for Paper Size & Units
Import DXF File

This function is intended to provide a rapid method for checking the numerical results of this utility against the DXF output of other sundial calculators (noteably, ZW2000 & SONNE).

NOTE: My original intention was for this to be a temporary function, but I decided to leave it in place to allow any user with enough interest and skepticism to double-check the soundness of the calculations. If you find a discrepancy for a particular dial, please let me know.

I didn't spend a great deal of time debugging this utility; once I could reliably check both ZW2000 and SONNE my interest faded pretty rapidly, so your success in checking against DXF output from other dial calculators may or may not meet with good results.
(Results of some of my checking can be found at: .)

Dial Comparison Screenshot Here is a screenshot of a comparison between the default dial (modified to have a perpendicular gnomon)and the output from ZW2000. The plot shows standard time, standard time plus the EoT, babylonian and italian hour lines, and the solar calendar for seven declinations.

• DXF output from ZW2000 can be copied and pasted directly for dials with perpendicular gnomons. Polar gnomon dials require using "offsets" equal to the coordinates of the substyle.
• DXF output from SONNE must also employ 'offsets' to translate the drawing to line up. Its largely trial & error...good starting values are the coordinates of the SONNE dial origin, which is offset from the DXF origin (use <TAB> to place the 'focus' on the input areas).


The function takes the DXF file and attempts to render the LINE and POLYLINE elements to SVG path elements. These path elements are displayed underneath the current dial's elements and are given a larger width and bright color in order to provide contrast.

Simply paste the ASCII contents from the DXF file and click Render DXF to SVG. (NOTE: If you can't paste, try double-clicking on the input area to acquire the necessary 'focus'. Also, use <TAB> to place the 'focus' on the input areas for dx and dy.)

Cylinder Dial Type

Shepherd's Dial : Typically small and portable, one must know the day of the year in order to use this type. The gnomon is positioned to the appropriate day and then the entire cylinder is rotated to point toward the sun, which allows the time to be read.

Fixed Cylinder : This dial type has, as the name implies, a fixed cylinder (axis toward the zenith), that never rotates. The horizontal gnomon is positioned, throughout the day , toward the sun. When aligned with the sun, the shadow indicates the time of day and year ± (except for the solstices, the sun passes through a specific declination twice a year).

Shepherd Dial

The default display is for "local" time. For this selection, the position of the sun relative to the dial's meridian is symmetric for times of 11AM & 1PM, 10AM & 2PM, etc. However, if one applies a correction for either the EoT or longitude, this results in a "splitting" of lines and one will see separate curves for each time (e.g. 11AM is different from 1PM, etc.). If the correction produces a slightly greater hour angle for afternoon times, it will also produce a slightly smaller hour angle for morning times.

To distinguish between the two, morning times are drawn using a dashed line while afternoon times are drawn using a solid line. Also, in principle it should be possible to "mouseover" the different lines and generate a "tooltip" which indicates whether it is for AM or PM. (This "mouseover" functionality may not be availble on all browsers. I've had good luck with Firefox and Chrome on Windows and Linux platforms.)

Point Size / Line Weight

These functions are merely intended as a "convenience" in the event one wishes to examine the dial in closer detail. They do not alter the exported DXF file.

They alter the size of data points ('circle' elements) and line weights of the path elements on the SVG dial viewport. Making an element larger makes it easier to mouse over it and generate any associated tool tip, which displays information about the element.

Solar Calendar

These functions allow one to alter the declination values for which the solar calendar paths are drawn.

When a dial is first drawn, it is drawn using a fairly standard set of values (0°, ±11.5°, ±20°, ±23.44°) which roughly correspond to the passage of the sun from one constellation of the Zodiac to the next (around the 22nd± of each month). The paths for these values can be easily removed from the display (or restored).

User-specified custom values are also possible.

, as is toggling the entire set of paths corresponding to the first day of each calendar month (e.g. Jan 1st, Feb 1st, etc.).

Cylinder Dial Data : Shepherd

The table data is presented in a form consistent with the graphic: horizontally, the date is changing while vertically the y-coordinate (relative to the top of the cylinder) can be seen to be increasing as one moves downward toward "midday" (which will have the longest shadows). It makes for a wider table, but its more intuitive (if printing, use the "landscape" option and scale the page until the entire table fits on a single page).

Redraw Hour Lines

....under construction...

Wall Declination Calculator     ?
Length of Gnomon:

Timing Corrections:
Longitude Correction
Date Correction
Watch Correction
Total correction applied to watch reading:

HELP FILE : Wall Declination Calculator
X-AXIS Y-AXIS gnomon To Sun Shadow ( Delta-X , Delta-Y )

•  If the readings were taken during "daylight savings time", you should make this correction yourself before entering data in the "Watch" field. Note that times after 12PM need to be between 12 and 24 (e.g. 1:33:30 PM would be entered as 13:33:30).

•  Calculations involving the PZS triangle use the latitude and longitude(s) from the "Dial Setup" dialog.

•  If your watch is not synchronized with GMT, enter the correction that would need to be applied for it to read mean time (e.g. if your watch is fast, enter a negative correction, and vice versa).

Enter the time recorded directly from your watch.
The horizontal distance of the nodus' shadow from the origin.
The vertical distance of the nodus' shadow from the origin.
Local Time
This value is the recorded watch time corrected for longitude, the equation of time, and any watch corrections (i.e. in the event your watch isn't synchronized with GMT).
This is the sun's local hour angle, given in decimal degrees.
The sun's altitude calculated using the PZS triangle.
The sun's altitude calculated using the shadow coordinates and the length of the gnomon.

NOTE: Ideally, Alt1 and Alt2 should be identical.

Sun Azm
Solar azimuth calculated using PZS triangle (measure clockwise, from due north in the horizontal plane).
Wall Azm
The wall azimuth calculated using the shadow coordinates and the length of the gnomon.
Wall Decl
The wall's declination: positive values are to the west; negative to the east.
Equation Of Time

A lot of data in displayed in this table, but should be relatively easy to decipher: each calendar date throughout the year is represented in the table, and has four associated values.

( x , y ) : These values represent the actual physical coordinates of the data point as plotted on the final graph.
( eot , dec ) : These values represent the equation of time (in decimal minutes) and solar declination (decimal degrees).

Because the amount of data is large, a provision is in place to "prune" the table and remove rows the user may not be interested in printing out (just click the "[X]" beneath the day in question).

Bailey Points / Seasonal Markers

These postions represent locations, standing at which, an observer can sight along the appropriate date (from the gnomon position) and determine the direction to sunrise (or sunset) for that date. (Note that this also assumes a perfectly horizontal horizon.) Looking in the opposite direction (i.e. 180°) gives the time of sunrise (or sunset).

It is important to note that the position is not exact and actually varies slightly with solar declination. This variation, however, is relatively small compared to the overall dial size, and is represented on the dial's graphic output by the width of the box defining the location.

Using an analemmatic sundial for this purpose was first described by dialist Roger Bailey (Walking Shadow Designs).


....under development...


Longitude values must lie between 180° and -180° (inclusive).

If you live west of Greenwich, enter positive values for longitude (this also includes your time zone meridian longitude).

If you live east of Greenwich, enter negative values for longitude (this also includes your time zone meridian longitude).

Help File Template