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

The computer database PARAMS is based on the hand-written parameter file of Islamic astronomy kept by Prof. E.S. Kennedy. It was programmed in Delphi and CodeBase by Benno van Dalen during a stay at the Institute for History of Science in Frankfurt am Main (Germany) sponsored by the Alexander von Humboldt Foundation. 

Contents of this page: General background of the parameter database, Files, Commands, Fields, To do, Links (general). Recommended escape routes: Benno van Dalen's homepage, Description of Benno van Dalen's computer programs 
Most recent changes to this page: some minor editorial changes were made in September 1998. 

General background
of the parameter database

Among Islamic works on mathematics and astronomy, a particularly important category is that of zîjes, astronomical handbooks with explanatory text and mathematical tables for the computation of planetary positions, times of eclipses, rising and setting times, astrological functions, etc.

Whereas some early zîjes were based on Indian planetary theory, most later ones made use of the geometrical planetary models laid out by the Greek astronomer Ptolemy (Alexandria, second century) in his Almagest. Muslim astronomers carried out extensive observational programs in order to update and improve Ptolemy's astronomical constants (parameters), such as the obliquity of the ecliptic, the mean motion, ecentricity and epicycle radius of the sun, moon and planets, the inclination of the lunar and planetary orbits, and the apparent diameters of the sun, moon, and shadow of the earth (for the calculation of eclipses). On the basis of the results, the Muslim astronomers calculated Ptolemy's tables anew. At the same time the accuracy of the tabular values increased due to improvements in the methods of computing the trigonometrical functions which lie at the basis of most computations occurring in zîjes.

More than 200 different zîjes, of which over 100 are extant, were written in Arabic, Persian and various other languages. In many cases manuscripts of extant zîjes provide little explicit information about the historical and technical background of their contents. Often we find in a single manuscript tables from completely different sources without an indication of their origin. In order to establish the sources for such tables, a comparison of their mathematical characteristics has turned out to be very useful. Such a comparison in the first place involves the underlying astronomical parameters, which vary significantly among Muslim astronomers from different periods and regions. In many cases, a given set of parameters can be considered to be typical for a certain astronomer or group of astronomers. After the underlying parameters have been determined, the exact method of computation of a table (algorithm used, rounding level at intermediate steps of the computation, use of auxiliary tables, etc.) may be analysed to obtain more detailed information.

Because of the importance of the determination of astronomical parameters underlying tables in Islamic astronomical handbooks for the investigation of the origin of material in such works, E.S. Kennedy started a parameter file for Islamic astronomy in the 1950s. The idea for such a file he received from O. Neugebauer, who kept a similar file containing, in particular, Babylonian and Indian astronomical parameters.

Kennedy's parameter file by now consists of approximately 3000 small hand-written cards, each containing a numerical value that was found in a zîj or other Islamic primary source concerned with astronomy or in the secondary literature about zîjes. Along with the numerical values, the cards contain information about the sources from which the values were taken and references to related values. Kennedy systematically included parameters found in a fairly high number of important primary sources as well as much of the relevant secondary literature.

Only two physical copies of the parameter file exist: the original of Prof. Kennedy, who is now retired in Princeton, USA, and a photocopy with some new additions under the care of Prof. D.A. King at the Institute for History of Science in Frankfurt am Main, Germany. During a research project in Frankfurt am Main, sponsored by the Alexander von Humboldt Foundation from September 1997 to February 1998, a preliminary computer version of Kennedy's parameter file was developed by Benno van Dalen. It is this preliminary version that is introduced on this page. 


The program PARAMS consists of a single executable PARAMS.EXE and a CodeBase library file C4DLL.DLL, which is copyright protected but may be distributed together with the executable (for the precise conditions, see the file LICENSE.TXT, in which "licensee" refers to the developer of PARAMS and "sublicensee" to the users of the program).
The PARAMS database actually consists of the following six separate databases: The advantage of this set-up is that changes to entries for associated astronomers, primary sources and secondary sources can be made independently from the entries for the parameter values themselves. For instance, if a typo in the name of an astronomer is corrected, the correction will at once be visible in all parameter entries associated with that astronomer. Or, once the specification of a primary source has been entered, it can be accessed by selecting it with the mouse from a so-called combobox list without having to type a single letter.

For each of the six databases listed above you will need two files, one with extension .DBF, the actual database file, and one with extension .MDX, the index file which contains all sorting information. A so-called memo file PARAMS.DBT contains the extra information saved with each parameter value. If one of the thirteen files described above is not present, the program PARAMS will not be able to execute properly. The files are all in DBASE format, which means that it should also be possible to access them directly from DBASE (version 4.0 or later). However, in that case you yourself will be responsible for various functions that are normally performed by the program PARAMS, such as entering the sexagesimal form of the parameter values correctly and maintaining the links between the six databases.

To get started, copy all 16 files contained in PARAMS16.ZIP into a single directory (suggested name: Params or, in Windows 95, Parameters) and execute PARAMS.EXE, if desired after linking it to an icon on the desktop. The main screen of the PARAMS program will then display the complete data for a single parameter value. You may try out the combobox lists and other ways of entering and modifying data after switching to Edit Mode (select Options, Edit Mode). However, note that in PARAMS, as in most database programs, changes to entries are saved automatically whenever you switch to a different entry or perform a query, search, or other command. Click on the Undo key (or type Alt-U) to undo any changes you have made. 


Contents of this section: Basic database operations, Editing records, GoTo, Query, Sorting, Other commands

Basic database operations

Many database programs provide some type of "navigator", a set of buttons with which the user can step through the database and perform other basic operations such as undoing changes, deleting and undeleting records, and adding or duplicating records. In all six databases which can be accessed within PARAMS the navigator is set up vertically on the right of the screen. Each button indicates a certain operation, which you can perform by clicking on the button, pressing the RETURN key when it is selected, or pressing its accelerator key (or hot key) Alt-X, where X stands for the first, underlined letter of the command name as indicated on the button. The scroll bar on the right of the navigator is intended to indicate the place of the current parameter entry within the whole database or the current selection, but its operation has not yet been implemented, partially because it would be too slow on 486 machines.

The ten navigator buttons in PARAMS provide the following functions:

Editing Records

When you start PARAMS, the program is in View Mode (indicated in the title of each window). If you want to make changes to existing records, you have to switch to Edit Mode by toggling the menu item Options, Edit Mode. Alternatively, you may use the commands Add and Copy (see above under Basic database commands), which will automatically switch to Edit Mode in order to allow you to edit a new record.

In Edit Mode you can use the TAB key or a limited number of accelerator keys to move between the various fields for each database (see below for a complete description of these fields). In some fields, such as Confidence, Ref, and Extra Info you may type any text you like. In many other fields, however, the validity of the text you type will be checked. In the Parameter Value field, for instance, you have to enter a correct sexagesimal number; input such as 1s30, 0;60 and 100,25 will not be accepted.

The fields Method and Entered By provide a so-called combobox list, indicated by the small boxed arrow on the right side of the field. You may select a value from the list by clicking on the arrow or pressing the down-arrow and up-arrow keys repeatedly. For these two fields the validity of the input is not (yet) checked: you may also enter other values than those in the lists.

For the remaining fields with a combobox list, Parameter Type, Associated Astronomer, Primary Source - Title, and Secondary Source - Title, the situation is different. The easiest way to specify input for these fields is again to select it from the combobox lists. Since these lists are quite long, a combination of some key strokes with a click on the boxed arrow or a press of the down-arrow key usually provides the quickest way of finding the desired data. For instance, to enter the Khâqânî Zîj, you may select the Primary Sources - Title field and type Kh followed by a single press of the down-arrow key (in other cases, some more presses may be needed).

If the text you want to enter is not present in the combobox list, you can simply type it in the edit box. When you have finished the whole record and try to save it, PARAMS will let you know that it has not been able to find the text you typed and will give you the possibility to add it to the database concerned. In the case of a new astronomer, you will thus be able to specify its location and time, for a primary or secondary source you can enter its author using another combobox list and the library information or publication data in any format you like. Once you have thus updated the underlying databases, the new record in the main parameter database can finally be saved to disk.

From the above you will understand that if you want to modify the entry for a parameter type, astronomer, or primary or secondary source, you will have to go to the respective databases rather than making the changes in the main window. In the latter case PARAMS will assume that you want to add a new entry rather than only modify an existing one. In order to open the underlying databases, select them from the Databases menu. 


In each of the six databases accessible through PARAMS you can use the command GoTo (click on the GoTo button or type ALT-G) to jump to a record of your choice. In the main parameter database you will be asked to type a parameter value, which, for the time being, has to be in the format of the Parameter Value field, i.e. with a semicolon at the place of the sexagesimal point (cf. the complete field descriptions below). In the other databases you may select the entry you want to go to from a combobox list. Note that it is not necessary to enter the complete search specification: if you type "0;59,8,19", the first Parameter Value starting with those characters will be selected, also if it has a larger number of sexagesimals. In the Primary Sources and Secondary Sources database, GoTo lets you only specify the title of the source; if you want to move to a certain source by specifying its author, you may use a query (see below). 


The command Query, available in the main database as well as in the Primary Sources and the Secondary Sources database, lets you select all entries in these databases with a particular parameter type, associated astronomer, historical author (i.e., author of primary source), title of primary source, modern author (i.e., author of secondary source), or title of secondary source. Thus it is possible to select all values of the obliquity of the ecliptic contained in the complete database, all entries which were taken from Caussin's edition of the introduction of the Hâkimî Zîj, or all parameter values associated with .Habash al-.Hâsib.

Performing a query is very easy: in the main database you select the field you want to base your selection on from the Queries menu. Here Historical Authors stands for the author of the primary source, Modern Authors for the author of the secondary source. In the Primary Sources and the Secondary Sources database you click on the Query Button (or press Alt-Q). In each case the Query window appears and allows you to type the name or title you want to select or to draw it from a combobox list. After clicking on OK (or typing RETURN or Alt-O) the specified selection will be made and its first record displayed. Note that the title of the window now indicates that you are in Query Mode.

You can step through your selection as you would through the whole database. You can even perform a GoTo without losing the selection: after the record you want to go to has been displayed, the next move brings you back in your selection. If you want to have access to the complete database again, you need to «undo the query» by selecting Queries, Undo Query or pressing Alt-G again and checking the "Undo Query" check box in the Query window. Later you can retrieve your selection by calling "Repeat Query" in the same way as "Undo". 


As is explained in more detail in the field description below, the main parameter database can be sorted in at least two ways. As a default, the contents of the Parameter Value field, i.e. the Greek representation of the parameter with decimal integer part, semicolon for the sexagesimal point, and sexagesimal fractional part, is used for sorting the parameter entries. By toggling the Sort, Use Parameter Sort Key menu item, the sorting method can be changed to use the Parameter Sort Key field, i.e. a purely sexagesimal representation without semicolon. The latter is particularly convenient if you do not know the type of the parameter you have encountered and hence the place of its semicolon. The following table shows the effect of the two different ways of sorting on a small set of six arbitrary parameter values:
        Parameter Value Sort          Parameter Sort Key Sort 
         0; 0, 0, 4,21

         0;59, 8,21   






           6, 5,15,47



The menu item Sort, Complete Sort Specifications also allows you to select the respective keys of all six databases for sorting the entries. In general such a key sort corresponds to the order in which the entries have been added to the database. Except when entering large amounts of data while constantly checking existing entries for references and overlaps, key sort will not be particularly useful for the general user. 

Other commands


The data for every single parameter value are displayed in the following fields on the main screen of PARAMS:
  1. Parameter Type: the type of the parameter. By pulling down the parameter type combobox list (in order to be able to do that, you need to be in Edit mode), you can select one of the names of the parameter types entered in the separate database PARTYPES. In order to modify these names, you will have to select Databases, Parameter Types; if you modify a name in the Parameter Type field of the main screen, PARAMS will assume that you want to add a new name to the PARTYPES database instead of modifying an existing one.

  2. All names of planetary parameters start with the name of the planet concerned ("Solar ..." and "Lunar ..." for the sun and the moon), lengths of certain periods with "Length of ...", etc. Mean motions have been entered per day as well as in Arabic and Persian years. Base positions of the planetary motions have been entered for the Hijra and Yazdigird epochs. Types that occur very rarely (e.g. planetary base positions for a date not equal to the epoch of the Hijra or Yazdigird calendar) are entered as "Other" and are fully described in the Extra Info field.
  3. Parameter Value: the parameter value in so-called Greek notation, i.e. with a decimal integer part and sexagesimal fractional part. The sexagesimal point is denoted by a semicolon, sexagesimal digits are separated by commas. You may enter the contents of this field in any sexagesimal format you like: 5,59;45,44 and 11s29;45,44 will both automatically be converted to the Greek form 359;45,44.
  4. Parameter Sort Key: the parameter value in a place-independent, purely sexagesimal notation. This field will be filled in automatically whenever an entry with a new parameter value is saved to disk. For instance, a Parameter Value 359;45,44 will appear in the Parameter Sort Key field as 5,59,45,44. This system, used by Kennedy in his original parameter file and in the parameter indexes of many of his publications, has the advantage that parameter values of unknown type can be looked up without knowing the place of the sexagesimal point. As a default, PARAMS uses the Parameter Value field for sorting the parameter database. By toggling Sort, Use Parameter Sort Key the field used for sorting can be changed to the Parameter Sort Key field (see also above under Sorting). You can see the effect of the two different ways of sorting by stepping through the database with the commands Next (Alt-N) and Previous (Alt-P), described above under Basic database operations. For the time being, the GoTo commands (see above) only operate with Parameter Values and not yet with Parameter Sort Keys.
  5. Method: the method by which the Parameter Value was obtained. In principle, the following abbreviations are used in this field:
  6. Confidence: the (numerical) confidence that can be placed in the Parameter Value. This entry usually gives an interval around the Parameter Value, where the last digit of the Confidence field agrees with the last digit of the Parameter Value. Thus a value 0;59,8,20 with confidence ±1,20 indicates the interval of values from 0;59,7,0 to 0;59,9,40. The interpretation of the Confidence field depends on the contents of the Method field as follows:
  7. Associated Astronomer: the name of an astronomer to which the Parameter Value concerned is explicitly attributed in a primary or secondary source. The names of a large number of medieval astronomers can be drawn from the combobox list. You may open the ASTRONOM database (select Databases, Astronomers) to see which astronomers have been entered and, if desired, to make modifications to the astronomer data.

  8. All long vowels in Arabic and Persian names have been entered as ANSI characters â, î and û. In case an Arabic letter requires a dot under it in the transliteration, this dot has been placed in front of the letter, e.g. .h and .s. I have as much as possible used the forms of the names that are most common, e.g. al-Bîrûnî, .Habash al-Hâsib, Abû al-Wafâ´, Ibn Yûnus. As a result, some congestion of names takes place under al-, Ibn, Abû, etc. Special entries have been added for parameters that cannot be attached to a particular astronomer. Examples are: "Babylonian tradition", "Shâh tradition", and "Modern value".
    Note that in the current version of PARAMS long vowels and dotted letters are not alphabetically ordered as would be preferable: names starting with a dot (e.g., .Habash al-.Hâsib) appear at the very beginning, names starting with a `ayn or a long vowel (e.g., Âryabha.ta) at the end of the alphabetical listing.
  9. Location: the place where the Associated Astronomer worked. The contents of this field change automatically depending on the entered astronomer. You can only edit the contents of the Location field in the ASTRONOM database (select Databases, Astronomer).
  10. Time: the period in which the Associated Astronomer lived or worked. The contents of this field change automatically depending on the entered astronomer. You can only edit the contents of the Time field in the ASTRONOM database (select Databases, Astronomer). If known, the dates of birth and death are indicated in the form "1393-1449". Unusual abbreviations include obs. for "made observations in".
  11. Primary Source - Title: the title of a primary source in which the Parameter Value occurs or from which it can be derived. Names of zîjes containing the word "Zîj" are given in an "English form", such as "Shâmil Zîj" or "Sanjufînî Zîj". Other titles are given in a transliteration of the Arabic or Persian, leaving out initial words like "Kitâb". If necessary, an indication between brackets specifies the source more closely, e.g. "Îlkhânî Zîj (London)" and "Îlkhânî Zîj (Paris)" for two different manuscripts of al-.Tûsî's work.

  12. You can select a previously entered primary source from the combobox list. In order to modify existing entries for a primary source (title, author, or shelfmark), you will have to open the SOURCES1 database (select Databases, Primary Sources).
  13. Primary Source - Author: the author of the primary source from which the Parameter Value was taken. The contents of this field change automatically depending on the entered primary source. You can only edit the contents of the Primary Source - Author field in the ASTRONOM database (select Databases, Astronomer). The changes you make there will be visible in the Associated Astronomer as well as in the Primary Source - Author fields, since both draw their data from ASTRONOM.
  14. Primary Source - Shelfmark: the library and shelfmark information of the primary source from which the Parameter Value was taken. The contents of this field change automatically depending on the entered primary source. You can only edit the contents of the Primary Source - Shelfmark field in the SOURCES1 database (select Databases, Primary Sources).
  15. Primary Source - Ref: the folio number and other useful information for finding the precise place where the parameter occurs in the primary source.
  16. Secondary Source - Title: the title of a secondary source in which the Parameter Value occurs or from which it can be derived. I have always used complete titles, even though this means that a large number appears under "The ..." and various under "The astronomical ...". This still seemed preferable to abbreviated forms, which are clear for well-known works, but not for less important ones. Abbreviated forms have been used for additional references in the Extra Info field (see below). You can select a previously entered secondary source from the combobox list. In order to modify existing entries for a secondary source (title, author, or publication data), you will have to open the SOURCES2 database (select Databases, Secondary Sources).
  17. Secondary Source - Author: the author of the secondary source from which the Parameter Value was taken. The contents of this field change automatically depending on the entered secondary source. Note that in case of a publication with two or more authors only the first author has been entered. You can only edit the contents of the Secondary Source - Author field in the AUTHORS database (select Databases, Modern Authors).
  18. Secondary Source - Published: the place and year of publication of a book, or journal name, volume number, year, and pages for an article. Journal names have generally been entered as abbreviations, of which VdNG for the Vierteljahrsschrift der Naturforschenden Gesellschaft Zürich probably is one of the less obvious ones. The contents of the Published field change automatically depending on the entered Secondary source. You can only edit the contents of the Secondary Source - Published field in the SOURCES2 database (select Databases, Secondary Sources).
  19. Secondary Source - Ref: the page number and other useful information for finding the precise place where the parameter occurs in the secondary source.
  20. Extra Info: all relevant additional information concerning the Parameter Value and its sources. This field is often used to indicate additional astronomers using the Parameter Value and additional primary and secondary sources that contain the value. Furthermore, relations with other parameters will be given, such as the value from which a given parameter was derived or other values which can be derived from it. Common examples for this type of relations are mean motions which are given per day as well as in an Arabic or Persian year.
  21. Key: an internal number attached to each new entry. Normally you will not deal with the key, although it can be used to sort the database, in which case the parameters are arranged in the order in which they were added.
  22. Entered by: the initials of the person responsible for the data of the parameter. In most cases, this is ESK (E.S. Kennedy). Other abbreviations include BvD (Benno van Dalen), DAK (D.A. King), and MCa (Margarita Castells). If you add entries of your own, you may here insert your initials instead of the default ESK. This may be useful, for instance, when exchanging newly added entries, facilities for which will be provided in later versions of PARAMS.
  23. Date: the date of the last modification of the entry. This is entered and adjusted automatically whenever you add or change an entry.
Note that the relation between the parameter information in the various fields is not always the same. For instance, if a parameter is associated with a certain astronomer, the mention of that astronomer may occur in the primary or the secondary source or even in another source indicated in the Extra Info field. Sometimes the primary and secondary sources refer to a manuscript and edition of the same work, in other cases they may be completely unrelated and even deal with astronomers from different regions and periods. Although this way of entering the data may occasionally lead to some confusion, it seemed preferable as far as efficiency and search (query) possibilities are concerned. If needed, additional explanations of the relation between parameter value and sources are given in the Extra Info field. 

To Do

The current version of PARAMS is a preliminary one and still needs a large number of improvements and additions. The To Do list contains at least the following items:
  1. Addition of the remaining parameter data.
  2. Context-sensitive help system and all help commands.
  3. Additional queries: combined queries (for example, select all obliquity values listed in the .Hâkimî Zîj of Ibn Yûnus), query on library / shelfmark information of a primary source.
  4. Possibility to write all data fields of the selected parameters to an ASCII file.
  5. Provisions for the use of multiple copies of PARAMS at the same time. At the moment it is save to use one copy for editing and one or more others for look-ups, but some safety has to be provided in particular for simultaneously adding records in two different copies.


Last modification: January 3, 2011.