Some Computer Programs
for Research in the History of
Ancient and Medieval Astronomy

By Benno van Dalen, former research associate at the Institut für Geschichte der Naturwissenschaften, Frankfurt am Main (Germany).

Contents of this page: General, Parameter Database, Sexagesimal Calculator, Calendar Conversion, Table-Analysis, Mean-Motion Tables, Links (at the moment only gives a link to my homepage). Recommended escape routes: Benno van Dalen's homepage, Description of the astronomical parameter database Params
Most recent changes to this page: In September 1999, the executables of SCTR, CALH, TA and MM were replaced by basically identical versions without the bug of TurboPascal 7 which prevented them from running on machines faster than 200 MHz. New versions 1.2 of TA and MM, with many new commands, corrections and improvements, were made available in February 1999. At the same time, a slightly modified version 2.2 of SCTR was released.


Below you will find links for downloading a number of computer programs for DOS-PC / Windows, which I hope may be useful in doing research on the history of ancient and medieval astronomy. I wrote these programs during my doctoral research at the Mathematical Institute of Utrecht University (Netherlands) and a postdoctoral fellowship of the Alexander von Humboldt Foundation which enabled me to work at the Institute for History of Science in Frankfurt am Main (Germany). Except for the database of parameter values occurring in Islamic astronomy, the programs are keyboard-driven DOS programs.

PARAMS, a database of astronomical parameters occurring in Islamic sources, developed with Delphi and CodeBase during my stay in Frankfurt am Main in 1997/1998, will in the end be available in versions for Windows 3.1 (16 bits) and Windows 95 and later (32 bits). Because of lack of time, the addition of a number of functions (such as more sophisticated queries) and the input of the remaining parameter data contained in Prof. Kennedy's handwritten file has not yet been carried out. The presently available PARAMS16 (see below) has to be considered as a test version. I hope that some future project will allow me to make the full database available, but it is still unclear when this will happen.

The sexagesimal calculator SCTR and the calendar conversion program CALH display on the screen at any time a complete overview of all available operations and include brief manuals. I hope that Windows users will appreciate them as auxiliary programs in a (relatively small) DOS window.

TA is a powerful command-line program for the input, analysis, and output of astronomical tables of Ptolemaic type. It has context-sensitive help (invoked by pressing F1) and a brief manual explaining its general principles. MM shares the manual and most of the available functions with TA, but operates especially on (pseudo-linear) mean motion tables. Since MM does not contain a context-sensitive help system, it might be recommendable to get acquainted with TA first.

All programs are available as zipped files, which you can download onto your computer by clicking the appropriate links below. No special installation is required; simply copy all files in the ZIP archives into a single directory and run the file with extension .EXE.

PARAMS (Database of parameter values
occurring in Islamic astronomical sources)

This program for Windows 3.1 / 95 / 98 presents the around 2000 values of various astronomical parameters, such as the obliquity of the ecliptic, solar, lunar and planetary mean motions, eccentricities, and epicycle radii, latitude and eclipse parameters, that Prof. E.S. Kennedy encountered in both primary and secondary sources dealing with Islamic astronomy. For every value the astronomers with which the value can be associated and precise references (with page and sometimes line numbers) to places where the value was found are given. In an Extra-Info field, additional references to sources and cross-references to related parameter values may be listed. The parameter database can be sorted using the "Greek" representation of the sexagesimal values (e.g., 365;14,48 for Ptolemy's length of the solar year) or a purely sexagesimal one (6,5,14,48 for the same value). Various types of queries allow the user to select, for instance, all parameter values associated with a particular astronomer, or all values occurring in a given primary or secondary source.
The version of PARAMS that can be downloaded through the link below is a preliminary one which still requires a lot of work. In particular, only around 400 values from Kennedy's original cardbox have been entered until now (these include all obliquity values, the solar mean motion parameters, the year lengths and the excesses of revolution). Furthermore, more complicated queries (for example, to select all values of a certain parameter found in a particular primary source) still have to be implemented. I would be very grateful for any suggestions that can make PARAMS a really useful tool for scholars working on Islamic astronomy.

SCTR (Sexagesimal Calculator)

This DOS-program implements a pocket-type calculator with the Reverse Polish system. It includes a sexagesimal calculator as well as a decimal one. Conversions between the two systems can be performed with a single keystroke and sexagesimal numbers can be shown in various forms (purely sexagesimal, in signs and degrees, with decimal integer part). Possible operations include the square root and a complete set of trigonometric functions, all performed to an accuracy of 16 sexagesimal places (19 in the decimal calculator).

CALH (Calendar conversion program)

This is a DOS program which converts conveniently between the Gregorian and Julian calendars, Julian Day Numbers, and around 10 calendars found in medieval Islamic astronomical sources. These include common ones such as the Hijra, Yazdigird, and Seleucid calendars as well as more exotic ones such as the Maliki and Chinese-Uighur. After a date has been specified in any of these calendars, the corresponding dates in all other calendars and the day of the week are displayed on a single screen. By pressing a single key one can then move a day, week, month, year, decade, or century backwards or forwards. With function keys one can jump to New Year of the present year or to the epoch of the present calendar. Up to 10 dates can be kept in memory for later usage and the number of days between any two dates can be conveniently counted.
A very similar program CALM includes a number of calendars used in more recent times. Besides the Gregorian and Julian calendars, these are the Muslim, Jewish, Coptic, French revolutionary, and Iranian Hijri-i Shamsî calendars. CALM does not come with a separate manual and does not have all the advanced possibilities that CALH offers.

TA (Table-Analysis)

In TA, astronomical tables of Ptolemaic type can be conveniently entered, analysed and printed. Little less than one hundred types of tables can be treated automatically, including tables for trigonometric functions, spherical astronomical functions (declination, right and oblique ascension, etc.), the equation of time, solar, lunar and planetary equations, planetary latitudes, eclipses, etc.
Tables of many of these types can be entered by giving certain tabular values and then correcting the predicted remaining values with presses of the + or - or numerical keys. Two versions of each tabular value can be kept, called "manuscript" and "corrected". The tables can be saved in files with extension .ZIJ and can be shown on the screen and written to text files in various formats, including LaTeX.
Among the available commands for analysing astronomical tables are: calculation of tabular differences; checking of symmetry; estimation of parameters with least squares, least number of errors criterion, Fourier estimation, or direct calculation from 1, 2 or 3 tabular values. Various functions have been implemented that can be used to check the statistical conditions for the application of the various estimators. Arbitrary types of tables can be calculated with the command TC (Table-Calculator) and various types of first- and second order interpolation in given tables can be simulated.
A new version 1.2 of TA was released in February 1999. It includes not only corrections of mistakes, but also various improvements in the way in which data are entered and new commands, such as SE for displaying the scribal errors in a table, LB for displaying the external zijes in a whole directory branch, and CV for copying a range of values from one table into another. Seven new types of functions (all related to planetary equations) were added and the context-sensitive help system was updated completely. A new manual is not yet available, but the file TACHANGE.TXT lists all changes in versions 1.1 and 1.2 of TA.

MM (Mean-Motion tables)

The program MM (in full: Very Useful Program for Analysing Mean Motion Tables) is very similar to TA but operates exclusively on mean motion tables. A convenient way of entering the various subtables of a mean motion table (collected, extended and single years, months, days, etc.) is provided, which even gives the possibility to change the specification of the table while the tabular values are entered. This is particularly useful for manuscripts with many scribal errors, from which the precise specifications may not be reliably extracted at once.
The entered mean motion tables may be saved in files with extension .MMT and can be recomputed, compared, and printed on the screen. The underlying mean motion parameters can be estimated in one of several ways, of which the Least Number of Errors criterion, which finds the parameter values for which a recomputation contains the least number of differences with the entered table, is usually the most accurate.
MM differs from TA in particular in the internal representation of the sexagesimal tabular values. Whereas TA uses a 10-byte decimal representation, MM actually saves all numbers sexagesimally and carries out all necessary calculations with an accuracy of up to 12 sexagesimal digits. The peculiar structure of mean motion tables, whose subtables may or may not be based on the same parameter value and whose tabular values are almost always given modulo 360 (i.e., complete rotations are left out) was the other mean reason to make TA and MM two separate programs.
A new version 1.2 of MM was released in February 1999. Besides some corrections of mistakes, it contains many improvements in the way in which data are entered and new commands, such as CA (Calculate Almanac) for calculating mean motion positions from a given table for a set of dates to be specified, SE for displaying the scribal errors in a table, and LB for displaying the external zijes in a whole directory branch. The Maliki (or Jalali) calendar, a true solar calendar based on the vernal equinox, was added to the set of calendars handled by MM and more general forms of the Julian and Byzantine calendars were implemented. A new manual is not available, but the file MMCHANGE.TXT lists all changes in versions 1.1 and 1.2 of MM.


Last modification: January 3, 2011.