Interactive Computer Ephemeris 0.51 (ICE) by U.S. Naval Observatory

This ancient (1980s) DOS program calculates Greenwich hour angle and declination for Sun, Moon, planets, and the navigational stars with a precision equal to that given in the Nautical Almanac. ICE is very similar to its predecessor, the Floppy Almanac, but covers a time span of almost 250 (!) years. Rising, setting, and twilight times are also provided. It further performs sight reduction (including altitude corrections) for any assumed position. Beside its navigational functions, ICE provides highly accurate ephemerides for astronomers. Results can be stored in an output file. ICE, predecessor of MICA (Multiyear Interactive Computer Almanac), is in the public domain now and no longer controlled or supported by USNO. In spite of its age and archaic user interface, ICE is a useful reference software for people writing their own computer almanacs.

Download (1 mb)

You might need a DOS emulator to run ICE nowadays. I successfully run ICE with DOSBox under Linux (Debian). DOSBox is available for other platforms as well (see

Sun and Moon Almanac 0.92 by H. Umland

This is an experimental Python 3 script which calculates the apparent geocentric coordinates of Sun and Moon at a given moment. It further calculates the dates of the nearest New Moon and Full Moon, respectively. After entering the geographic coordinates of the observer, the program displays the times of rise, set, and meridian transit of both bodies. Furthermore, the times of astronomical, nautical, and civil twilight for a given position are provided which is useful for observation planning. In addition, the program calculates altitude and azimuth of the observed body (sight reduction). The geocentric coordinates are accurate to about 1'' (Sun) and 10'' (Moon). Times of Moonrise and Moonset are accurate to about 1 minute at latitudes below 60° (N or S). At 70° latitude, the error may increase to approx. 5 minutes.
A Python 3 interpreter, Thonny for example, is required to run the program. Newer Linux distributions usually come with built-in Python 3 support (command: python3 /path_to_file/ The program has been successfully tested on Android-based tablets and smartphones with Pydroid 3 installed.

Download (12 kb)


JavaScript is a nice language for programming scientific calculators. It is fairly easy to learn and comes with a complete set of mathematical functions. The following utilities are interactive HTML documents containing JavaScript code. They have a user-friendly graphic interface and require much less space on the hard drive than stand-alone software. The programs run inside a web browser. Therefore, they do no depend on a specific operating system. They have been tested with Mozilla Firefox and Chromium. Other browsers have to be checked individually. Remember to activate JavaScript.

The programs are distributed under the terms of the GNU General Public License as published by the Free Software Foundation (see

Important notice! If you have older versions of my JavaScript almanacs, update now! Previous versions are no longer compatible with recent versions of JavaScript and yield inaccurate or even nonsense results (Frank Reed, thanks for informing me!).

Astronomical Almanac for Sun, Moon, Brighter Planets and Stars 1.06 by H. Umland & H. Müller-Krumbhaar

This is a comprehensive astronomical almanac which calculates the apparent geocentric coordinates of Sun, Moon, the four brighter planets, and 58 navigational stars during the period 1800 to 2200. It further calculates the lunar distances of said bodies. Optionally, geocentric altitude and azimuth of bodies can be calculated (sight reduction). The programm is the result of a joint project with Heiner Müller-Krumbhaar who took the trouble to import the unabridged LEA406b theory (S. M. Kudryavtsev) for the Moon and suggested a few other improvements. I am indebted to him not only for his excellent work, but also for his sound advice and the inspiring discussions we had. This version improves the precision of the lunar coordinates by a factor of 10 compared to my older almanacs which have become obsolete and are no longer maintained.

Download (522 kb)

Sight Reduction for the Sun 1.39 by H. Umland

A user-friendly sight reduction program for observations of the Sun. Includes 40-year almanac and altitude corrections. To test the program click here.

Sight Reduction for the Moon 1.06 by H. Umland

A user-friendly sight reduction program for observations of the Moon. Includes 10-year almanac and altitude corrections. To test the program click here.

Sight Reduction Calculator 1.51 by H. Umland

A compact sight reduction program. Includes altitude corrections. Requires GHA and declination from the Nautical Almanac or ICE. To test the program click here.

Fix Calculator 1.09 by H. Umland

A program calculating the point where two lines of position intersect. Replaces a graphic plot. To test the program click here.

RA to GHA Converter 1.04 by H. Umland

A utility calculating the GHA of a celestial body from right ascension and Greenwich siderial time as provided by MICA (Multiyear Interactive Computer Almanac). To test the program click here.

Sight Reduction Tables by H. Umland

An extended version of Ageton's Tables in PDF format (90 pages). Includes instructions for use and a workform template.

Download (650 kb)

A compact version of these tables (15 pages only) is also available:

Download (334 kb)

Attention! If you downloaded an older version of the file (dated before Jan 17, 2002), update it now. The old version contains a systematic error in one column of each page.

Chemistry Software


These tools are a byproduct of my previous work as an R&D manager in the chemical industry. When you work in a chemistry lab, you are confronted with a number of frequently recurring tasks, such as calculating molecular weights. Since parts of my field of work included polymers and lubricants, I was often involved in measuring and controlling viscosities. To make work easier, I wrote a couple of small javascripts that proved to be very useful and might also be of interest to other chemists and lab technicians.

Molecular Weight Calculator 1.07 by H. Umland

A JavaScript program for chemists and lab technicians. Calculates the molecular weight of a chemical substance. To test the program click here.

Temperature-Viscosity Calculator 1.02 by H. Umland

This program calculates the dynamic viscosity of a liquid at any chosen temperature if the viscosities at three other temperatures are known. It is based on a modified (more accurate) form of the Andrade equation and can be used over a wide temperature range. To test the program click here.

Viscosity Calculator 1.04 by H. Umland

This is a program for viscosity control. Sometimes you need a lubricant or plasticizer with a specified viscosity. You can make it by blending a liquid of lower viscosity with a liquid of higher viscosity. In other words, you can adjust the viscosity of a product by adding a diluent or a thickener. This program calculates the composition of a binary blend with the desired viscosity. For this purpose you need to know the viscosities of the pure components and the viscosity of a test blend of both. To test the program click here.


I provide the software on this page to you "as is" without any express or implied warranties of any kind including, but not limited to, any implied warranties of fitness for a particular purpose. I make no representations or warranties of any kind with respect to any support services I may render to you. I do not warrant that the software will meet your requirements or that the operation of the software will be uninterrupted or error-free or that the software contains no defects or errors. You assume full responsibility for the selection, possession, performance, and proper installation and use of the software and for verifying the results obtained therefrom. You, the user, are solely responsible for determining the appropriateness of this software for your use and accept full responsibility for all risks associated with its use.