Mirrors

This site has a European mirror at http://www.mirrorservice.org/sites/www.moshier.net/. Please try that if you experience slow downloading speed.
Also, for Cephes files you can try one of the Netlib mirrors listed
at http://www.netlib.org/bib/mirrors.html.

Ephemerides

AA200 reads astronomical ephemerides, in the data format
produced by Jet Propulsion Laboratory, and reduces the barycentric
coordinates to printouts of geocentric and topocentric place.
Specific configurations for the DE406 CD-ROM from Willmann-Bell,
DE431, DE430, DE421, DE408, DE406, DE405, DE404, DE403, DE400, DE245,
DE200, DE102, and DE118I.ZIP ephemerides are supplied. The ephemeris
data files themselves are not supplied; get them from Willmann-Bell or
from JPL's ftp site. Answers for DE200 from this program should agree
with Astronomical Almanac tabulations from about 1984 onward.
Additionally, the program can reduce star catalogue positions given
in either the FK4 or FK5 system. It can also find positions from
heliocentric orbital elements. Source code listings in C language
are supplied with Visual Studio 2012, other Microsoft, Borland,
Linux and Unix build scripts. The archive includes a Win32 executable
program configured for the DE430 ephemeris. Support for NAIF .BSP file
data structure has been added to accommodate DE408, DE421, DE430 and
DE431. Latest update 2014-03-09.

C program computes ephemerides of Sun, Moon, planets, comets, and
stars using rigorous reduction methods from the _Astronomical
Almanac_ and related sources. Includes PLAN404 series (see below)
for positions of the planets, and a long-term extension of modern
Lunar theory for the Moon's position. Reads ASCII file catalogues of
stars and orbital elements. Displays all adjustments as it finds
local azimuth and elevation, rise and set times, etc. Windows or
MSDOS (Microsoft and Borland), Unix, VAX make files. Archive
includes Windows executable program. Latest update 2017-06-17.

This program has been "Debianized" and made available in
Debian and Ubuntu Linux together with an aa (1) Unix manual page.
See http://packages.debian.org/testing/science/astronomical-almanac

N-body numerical integration of the Moon and planets uses
either 80-bit extended real or 64-bit arithmetic. Physics model
includes oblateness of the Earth and Moon, Earth tides, Lunar
librations, relativity corrections, and 5 asteroids. With 80-bit
support it reproduces the Jet Propulsion Laboratory's DE200
ephemeris to an extremely high precision. C source program tested on
Windows, MSDOS, VAX, Sun, 680x0. Version de118i-2 works with the
gcc-3.4 compiler. It also has build scripts for Microsoft Visual C++
and Borland C++ Builder. Extra user-defined bodies, such as asteroids,
can be included. Last rev: 2004-05-13

This archive contains trigonometric series for the motions of
the nine planets, adjusted for a best fit to JPL's DE404 Long (3000
B.C. to 3000 A.D) Ephemeris. The series give heliocentric ecliptic
coordinates with precision ranging from about 0.1 arc second for the
Earth to 1 arc second for Pluto. A supplied example program reads
Julian date and prints an ephemeris for all the planets referred to
the ecliptic of date. Currently recommended precession formulas
(Williams, 1994) are included. These expansions are the ones used in
aa-56.zip, above.

According to JPL's DE404 long ephemeris, in 3000 B.C. the
Moon was a large fraction of a degree away from where DE200 says it
was. This version of cmoon.c adjusts the ELP2000-85 analytical Lunar
theory of Chapront-Touze and Chapront to fit the new JPL ephemeris
on the interval from 3000 B.C. to 3000 A.D. with a precision of
about 0.1 arc minute. Note, for dates more recent than 1300 B.C. the
ephemeris in aa-56.zip (see above) is about an order of magnitude
more precise. This archive also includes a second program that
extends the ELP2000-85 analytical lunar theory to cover a 22,000-year
interval centered at J2000, based on the DE200 physics model.
Last change: 2002-07-08.

C language skeleton for incoporating Bretagnon & Simon's
planetary tables into AA.ZIP. You must purchase their book and
floppy disk from Wilmann-Bell (the book is "Planetary Programs
and Tables from -4000 to +2800") to get the tables themselves.

Cephes C and C++ language special functions math library

Cephes Mathematical Library. Latest Linux distribution, dated
6/4/00. Special functions and other goodies in C, including long
double precision routines for 68K, 386, and sparc processors. This
is the most complete distribution package of the function library
(but not the most up-to-date one). It includes these sections--
double: all functions in 64-bit double precision; single: all
available functions in 32-bit single precision; long double: all
available functions in 80-bit extended precision; 128bit: all
available functions in 128-bit long double precision; qlib: all
functions in q-type extended (44 to 106 decimal) precision, includes
a C++ class for the binary floating point arithmetic and a q-type
calculator program; c9x-complex: new C language standard C9X data
type for complex variables, header complex.h for GNU C and functions
in float complex, double complex, and long double complex
precisions. For latest versions, see the individual zip files below.

This program calculates the radiated power, integrated
between given upper and lower wavelength limits, by a Planck black
body at given temperature. Units are degrees Kelvin, watts, and
meters. NIST values of Planck and other thermodynamic constants
are used. Latest update: 2011-12-23.

C program to compute thermodynamic properties of water in
the vapor, liquid, or solid phase. Independent variables are
the temperature and either the density or the pressure. Outputs
are the pressure or density and the specific internal energy,
specific enthalpy, specific entropy, saturation pressure, and
speed of sound. The method used is the IAPWS95 formulation
recommended by the International Association for the Properties
of Water and Steam. A second program using an older method
from J. Keenan et al., _Steam Tables_, 1969, is included. A
separate program approximates the 1995 IAPWS saturation pressure
curve within 0.01% from 273.16 to 647.08 Kelvin. It also provides a
formula, distributed by Honeywell, for water vapor pressure over ice
that closely matches the data in Keenan's steam table. Latest
update: 12 May 2007.

osc is a real-time audio signal generator program. It transmits a sine wave
to the default sound device in an endless, seamless loop. Frequency (with
0.1 Hz resolution) and amplitude are specified as command line arguments.
Tested on Windows 2000, XP, Vista, and 7, and on Linux. Executables,
sources, and build scripts for MS VS2008, GNU/Linux, and Cygwin are
supplied. Last update: 19 Feb 2013.

This program creates a digital audio file that can be used to
calibrate a flutter meter. The audio signal simulates a tape recorder
that suffers from a known, well-defined percentage of sinusoidal speed
modulation. Unix, Borland, Microsoft sources.
Last update: 2005-08-09.

Hex Floats

GNU C compiler source code patch to make gcc recognize
floating-point numbers written not only in the usual decimal
notation, such as 1.55e1, but also numbers such as 0x1.fp3 written
in hexadecimal format per the ISO C99 C language standard. In that
format the 0x hex introducer and the p or P exponent field are
mandatory. The exponent is a decimal number that indicates the power
of 2 by which the significand part will be multiplied. Thus 0x1.f is
1 15/16, p3 multiplies it by 8, and the value of 0x1.fp3 is the same
as 1.55e1. The patch works with either gcc 2.8.1 or egcs. It has
been installed in current development sources of both. The feature
should appear in egcs-1.2 and gcc 2.9. Latest update 11/24/98.

C99 Pragmas

An experimental implementation of FENV_ACCESS, FP_CONTRACT,
CX_LIMITED_RANGE pragmas in C using the GNU C compiler.
All three pragmas are recognized but only FENV_ACCESS actually
has any effect on code generation. It prevents folding of floating
point constant expressions.
This version of the patch is against gcc 2.95.2. Latest update 1/2/00.