This week we interviewed Alan Irwin, the current developer of the Time Ephemerides project, a software and data bundle used to make time corrections in astronomical observations from the Earth’s view point. This is hardcore Astronomy friends! Enjoy the interview!
F4S: Please, give us a brief introduction about yourself.
I got my Ph.D in astronomy in 1978, and my research work afterwards has been primarily concerned with developing Fortran and C software to support my astronomical research. My development environments over the years have been IBM System/370, VAX minicomputers, Solaris boxes, and then Linux on PC’s from 1996 to the present. That Linux development environment has been an enormous benefit for me so I have been happy to contribute back by participating in such open-source projects as PLplot (plplot.sf.net), FreeEOS (freeeos.sf.net), and now the Time Ephemerides project (timeephem.sf.net).
F4S: What is the Time Ephemerides project?
This project (timeephem.sf.net) consists of software and associated data to help create, manipulate, and interpolate time ephemerides of the Earth. Such ephemerides are used to correct pulse arrival times from pulsars (and any other Earth-based astronomical or spacecraft observation where precise timing is critical) for the general relativistic distortion of the rate of Earth-based clocks. Such distortion is a well-known effect due to the time-varying velocity of Earth-based clocks relative to the solar system barycenter and also due to the time-varying gravitational potential at the position of such clocks due to the detailed motions of all major masses in the solar system relative to the clock location. Thus, an important prerequisite of any calculation of a time ephemeris is a JPL planetary ephemeris, which represents some of man’s best knowledge of the masses, positions and velocities of all major solar system objects.
Thus, the initial emphasis of the Time Ephemerides project has been to revive the “ephcom1″ software released by Paul Hardy at http://ephemeris.com/software in 2004 which manipulates and interpolates data from JPL planetary ephemerides. I denote that revived software as “ephcom2″, and, in fact, ephcom-2.0.2 has just been released (see http://sourceforge.net/news/?group_id=567377&id=303372). My plan for the Time Ephemeris project in the next few months is to follow up on that release with releases under the LGPL of my software to generate, manipulate, and interpolate time ephemerides with the help of ephcom-2.0.2.
F4S: Why and when did the Time Ephemerides project come to be?
I first got into the time ephemeris research field in the late 1990′s (see http://articles.adsabs.harvard.edu/full/1999A&A…348..642I). The Time Ephemerides project was organized this summer to help coordinate the task of releasing all software necessary for generating, manipulating, and interpolating time ephemerides under the LGPL in the interests of doing open science that can be easily replicated by others.
F4S: In which languages and platforms is the project developed?
Alan: The primary ephcom library is C, but ephcom-2.0.2 also includes a Fortran interface for that library which will be used by my Fortran software to generate, manipulate, and interpolate time ephemerides. The plan is to release that further software in the forthcoming months, but meanwhile the ephcom-2.0.2 release should be useful for anybody who needs the most accurate positions and velocities of solar system objects.
Although my only development environment is Linux, I am a strong advocate of software freedom regardless of platform so I like to use CMake (which has very good cross-platform support) to configure builds for all my software packages, and, for example, I went out of my way using the MinGW/MSYS/wine development platform to make sure that ephcom-2.0.2 built and gave good test results for that Windows platform. This free Windows platform success has also been kindly confirmed by my colleague Arjen Markus who showed ephcom-2.0.2 built and gave good test results on Microsoft Windows. Currently, I have no ephcom2 feedback concerning Mac OS X or other Unix platforms. Those platforms are similar to Linux so ephcom2 is likely to work for those platforms. However, if not, I will make the necessary changes so that it does. Every platform deserves easy access to the best planetary ephemeris data.
F4S: Does the Time Ephemerides project have sponsors?
F4S: How many users do you estimate the project has?
Alan: The first Time Ephemerides project release was roughly 3 weeks ago so it is still very early days, but already there have been 50 downloads of various data and software files which I feel is quite encouraging. It is obviously going to take a while for current users of the 2004 ephcom1 software at ephemeris.com and others to realize there is now good modern C and Fortran code for manipulating and interpolating the JPL ephemerides that is licensed (like Paul’s ephcom1 code) under the LGPL. But this interview will help spread the word.
F4S: Do you know where the Time Ephemerides project code is used?
Alan: Due to dedicated websites such as ephemeris.com, I am convinced that ephcom2 could become quite popular for a very wide range of users because there is a lot of popular interest in having access to the absolutely best data for lunar, solar, and planetary positions for our solar system. In contrast, I think there will be less popular interest in my planned future releases of software to generate, manipulate, and interpolate time ephemerides. However, that part of the Time Ephemerides project should be heavily used by scientists and engineers who need access to the best Earth-based clock corrections to help interpret astronomical and spacecraft observations with the highest accuracy.
F4S: How many team members does Time Ephemeris have?
Alan: One, yours truly.
F4S: How are the ephcom executables used?
Alan: In the answers below I assume the reader has followed the installation instructions for ephcom-2.0.2 at http://timeephem.sourceforge.net/ephcom2.php and also in the notation of that webpage put /path/to/ephcom2/install/prefix/directory/bin on their PATH so that all ephcom executables and scripts are accessible to them by merely typing their names.
i. Given a directory containing files making up a JPL ascii ephemeris in compressed or uncompressed form, generate the binary form of that ephemeris using the following pipelined set of commands:
ephcom_concatenate.sh $JPL_DIR | ephcom_asc2eph - - jpleph_binary
where $JPL_DIR is the location of the directory containing the JPL ascii ephemeris and jpleph_binary is the filename of the resulting binary ephemeris. See the man pages at
http://timeephem.sourceforge.net/man/ephcom_concatenate.sh.html and http://timeephem.sourceforge.net/man/ephcom_asc2eph.html for more details concerning these commands.
ii. Test the accuracy of how well the ephcom library interpolates the data in that binary ephemeris file using a test file supplied by JPL that is normally included in the JPL ascii ephemeris directory, $JPL_DIR.
ephcom_testeph jpleph_binary $JPL_DIR/testpo.$DENUM |less
where $DENUM=102, 200, 405, etc., is the number of the JPL ephemeris that you are testing.
See the man page at http://timeephem.sourceforge.net/man/ephcom_testeph.html for more details concerning this command. Also, the above command is essentially what is done by the “test_external” target mentioned at http://timeephem.sourceforge.net/ephcom2.php.
iii. See the man pages at http://timeephem.sourceforge.net/man/ephcom_eph2asc.html, http://timeephem.sourceforge.net/man/ephcom_eph2eph.html, http://timeephem.sourceforge.net/man/ephcom_headcmp.html, http://timeephem.sourceforge.net/man/ephcom_ephcmp.html, http://timeephem.sourceforge.net/man/ephcom_ephcoeff.html, and http://timeephem.sourceforge.net/man/ephcom_vtransit.html for details concerning other ephcom commands that are accessible after ephcom-2.0.2 installation.
F4S: In what areas of the Time Ephemerides software development do you currently need help?
Alan: Platform testing. For example, it would be great to receive reports of any Linux, Mac OS X, or Windows platform where build or test issues for ephcom-2.0.2 are encountered.
F4S: How can people get involved with the Time Ephemerides project?
Alan: Contact me at firstname.lastname@example.org
F4S: What features are in the roadmap?
- Implementing ephcom bindings for additional languages beyond C and Fortran using tools like SWIG. Thus, if anybody wants to have accurate lunar, solar, and planetary positions available for their favorite language, then I encourage them to implement the ephcom bindings for that language, and I would certainly welcome such patches.
- Release of software to build, manipulate, and interpolate time ephemerides.
F4S: Is there any other topic you would like our readers to know about?
Alan: My wife and I are keen organic vegetable gardeners. The food industry has many analogies with the software industry; organic gardening and farming should be a good cure for problems with the food industry like free and open software has been the cure for problems in the software industry. Organic gardeners and farmers use seeds that breed true and that are not genetically modified to depend on some corporate product. Free and open source software is available indefinitely (the revival of the ephcom software last released in 2004 is an example of that) and generally does not depend on close-sourced libraries. Organic gardening and farming give you freedom from corporate control of your food. Free and open source software give you freedom from corporate control of your software.
F4S: Where people can contact you?
Alan: My e-mail address is email@example.com.
Thanks for the opportunity to publicize the Time Ephemerides project and the latest software subproject release for that project, ephcom-2.0.2.
F4S: No, thanks to you for the interview and for your commitment to free software for Science.