Astronomy programs
A list of astronomy programs I wrote


I mainly wrote that for pleasure and learning, and don’t maintain most of this code any more.
I publish it because some code can be reusable, and if I want to reuse it myself, I need to rembember that it exists !
All the code is GPL.

Much of this code was written and developed between 2000 and 2002, using works from the BDL (Bureau Des Longitudes), www.bdl.fr.
In early 2000s, the files were available to download for free from the BDL site. Since that time, they have been moved or removed, but I still have them on my local machine. So if you are looking for files or documentation, contact me and I can send you what I have.


Name Description Language Status Download Date
High precision ephemeris
JEphem Astronomical software (ephemeris computation, basic sky map).
Contains implementation of several astronomical algorithms (see below for details).
Old site still at astrosurf.com/jephem ; javadoc pages
java See details below Here 2000-2002
VSOP 87 From Jephem, src/jephem/astro/solarsystem/vsop87
High precision routines, based on the work of the Bureau des longitudes.
Implementation of VSOP87 (version A) ; port from fortran code using XEphem's code as a guide.
Also contains an implementation of planet velocities
See these pages at astrosurf.com :
- VSOP87 presentation, precision,
- VSOP87 build process (why I choosed VSOP87 A ; formulae for planet velocities),
- VSOP87 truncation (if you are interseted by a truncated version of VSOP87, also look at Meeus' Astronomical Algorithms).
- VSOP87 tests
java tested Here 2000-2002
ELP82 From Jephem, src/jephem/astro/solarsystem/ELP82.java
Calculation of the Moon coordinates with ELP-2000 82B theory.
java tested ; a bug remains Here 2001
Precession From JEphem, src/jephem/astro/MeanTrue.java
Written from a BDL theory which was at ftp://ftp.bdl.fr/pub/ephem/ref-frames/prcbld94 (broken link).
See explanations on this astrosurf.com page.
java tested Here 2001
Nutation From Jephem, src/jephem/astro/Nutation.java
Implementation of formulae found in BDL's book INTRODUCTION AUX ÉPHÉMÉRIDES ASTRONOMIQUES p 138.
Coefficients taken from nutation.c, in XEphem
java tested Here 2002
deltaT From Jephem, src/jephem/astro/spacetime/Time.java
Code to compute deltaT = TAI - UTC
java Here 2002
Pluto95 A class calculating pluto coordinates, based on the work of J. Chapront and G. Francou, Bureau des Longitudes, France.
Port from fortran to java of a work found at ftp://ftp.bdl.fr/pub/ephem/planets/pluto95 (broken link).
Gives pluto ephemeris between 1700 and 2100. As Pluto99 gives a wider range of dates, I didn't keep Pluto95.
The file to download also contains the original BDL files.
java precise tests pluto95.zip 2000
Low precision ephemeris
meeus1.c Routines based on Meeus' first book "Astronomical formulae for calculators" (third edition).
No precession, no nutation
Includes coordinate transformation form geometric heliocentric to apparent geocentic.
A friend gave me his code in pascal, so I didn't have to type the coeficients.
No precise and systematic tests ; give approximately good results for the 20th century
C approx. OK meeus1.c.zip 1997
meeus1.php PHP4 and PHP5 port of Meeus1.c
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/meeus/
PHP5 approx. OK astro-draft.zip 2002, 2005
Moon nodes Computes the date of passage of the moon through its node, for given julian day.
From Meeus, Astronomical Algorithms, 2nd edition, chap. 51.
Part of a draft astology application (not published) : approach/astronomy/solarsystem/moon/MoonNodes.php
PHP5 OK astro-draft.zip 2005
Moon phases Computation of moon phases
From Meeus, Astronomical Algorithms, 2nd edition, chap. 49.
Part of a draft astology application (not published) : approach/astronomy/solarsystem/moon/MoonPhases.php
PHP5 approx. OK astro-draft.zip 2008
Wrappers for ephemeris computation
PHP Moshier A php wrapper to Moshier's aa56 C program
A Quick and dirty program : php code calls the binary and parses the response to store it in a php array
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/moshier/aa56.php
PHP5 works astro-draft.zip 2009
PHP Swiss Ephemeris A php wrapper to Swiss ephemeris program.
A Quick and dirty program : php code calls the binary and parses the response to store it in a php array
Part of a draft astology application (not published) : approach/astronomy/solarsystem/ephemeris/sweph/Sweph.php
PHP5 works astro-draft.zip
Miscellaneous
Constellations From Jephem, src/jephem/astro/sky/Constellation.java
Arrays with names of constellations and boundaries
See this page on astrosurf.com.
java works Here 2002
3D solar system A basic soft to navigate though the solar system, developed using java3D.
Uses uniform circular movement to modelize the revolution and rotation of planets, moon and some satelites.
It was developed as a prototype for the firm for which I worked at this time. In theory, it is proprietary software : once it was obvious that this software had no commercial interest, I asked if I could put it on internet. My boss refused, so I didn't publish it, and swore to myself that I would never ever write again a single line of proprietary code related to astronomy or any field of personal interest. This firm has disappeared a long time ago, so I publish it anyway.
java works solarsystem3d.zip 2002
Position of secondary miror Computation of the dimensions and position of the secondary miror of a Newton telescope. java works See this page 2000
Documentation related to astronomy computation
Coordinate transformation A page describing the transformations to operate on coordinates, to go from ecliptic heliocentic geometric to equatorial and ecliptic apparent true geocentric
See this page on astrosurf.com.
2000
Sky map coordinates A page describing the transformations to operate on stars' equatorial coordinates (ra, dec) to obtain coordinates on a screen, when displaying sky chart.
See this page on astrosurf.com.
2000