Looking for the latest version? Download ephcom-3.0.0.tar.gz (278.6 kB)
Home / ephcom
Name Modified Size Downloads / Week Status
Parent folder
Totals: 7 Items   786.5 kB 24
README.release 2013-01-12 280.6 kB 11 weekly downloads
ephcom-3.0.0.tar.gz 2013-01-12 278.6 kB 1818 weekly downloads
ephcom-3.0.0.tar.gz.asc 2013-01-12 490 Bytes 11 weekly downloads
ephcom-2.0.2.tar.gz 2011-09-14 111.2 kB 11 weekly downloads
ephcom-2.0.2.tar.gz.asc 2011-09-14 490 Bytes 11 weekly downloads
ephcom-2.0.1.tar.gz 2011-08-24 114.5 kB 11 weekly downloads
ephcom-2.0.1.tar.gz.asc 2011-08-24 490 Bytes 11 weekly downloads
The ephcom-3.0.0 software package for manipulating and interpolating planetary ephemerides and time ephemerides has been released. Planetary ephemerides (such as those published by the JPL and INPOP groups) represent mankind's best knowledge of the motions of all major solar system objects. Time ephemerides (such as those computed from planetary ephemerides by the te_gen-2.0.0 software that is about to be released) represent mankind's best knowledge of the general relativistic corrections that must be made to clocks that are located near some reference point within the solar system (e.g., some point near the Earth). Such clock corrections are required, for example, to correctly predict the independent time variable of planetary ephemerides from TT (terrestrial time). The current "ephcom" development effort is now a subproject of the Time Ephemerides software project (http://timeephem.sourceforge.net) and also a revival of the "ephcom-1.0" development effort which was released in May 2004 at ephemeris.com by Paul Hardy. The last release of the current ephcom development effort was ephcom-2.0.2. Since that release, David Howells, a developer with outstanding C and Python skills has been recruited to the Time Ephemerides project, and he has provided much of the energy for all the many changes (almost 400 commits) that have gone into this new release of ephcom. David and I would like to give a big vote of thanks to Arjen Markus who gave us lots of time-consuming testing help for ephcom-3.0.0 on various MS Windows platforms. We would also like to thank Bill Folkner of JPL for useful discussions of the best way to generalize the traditional JPL ascii and binary formats for ephemerides that would allow convenient storage and use of planetary, time, and (in theory) asteroid ephemeris data. The most important changes in this release relative to ephcom-2.0.2 are as follows: * WARNING. The names, organization, and API of all ephcom-3.0.0 libraries have been changed in a backwards incompatible way from what was available for ephcom-2.0.2. There are three C libraries called libephcomc, libephcom, and libgnulliver that are built by ephcom-3.0.0. The primary library of interest to ephcom-3.0.0 users is libephcomc. That library has a convenient high-level API whose use is demonstrated in examples/c/test_api.c and examples/c/vtransit.c. This API allows users to read names and values of ephemeris constants from the header sections of a binary ephemeris. A change for ephcom-3.0.0 are these data are returned in sorted order (by the name of the constant) to make it easier to search these array results for a particular constant value. The libephcomc API also allows users to interpolate time-dependent data that are stored in the data sections of a binary ephemeris and conveniently transform calendar dates/times to Julian dates and vice versa. libephcomc is basically a convenience wrapper for libephcom which does all the work required by the libephcomc routines using a lower-level API. The ephcom-3.0.0 utility programmes also use the low-level API of libephcom to read and write individual data blocks of binary or ascii ephemerides. libephcom calls libgnulliver to do any byteswapping that is necessary to resolve endianness issues. * The interpolation efficiency of libephcom has been greatly improved by caching required Chebyshev interpolation coefficients (and header data) in a context struct so that unnecessary rereading of such data from disks is avoided. In typical use cases where the time does not change dramatically from one interpolation to the next, this can increase the effective speed of ephcom-3.0.0 interpolation by an order of magnitude (!) compared to ephcom-2.0.2. * The API of the libgnulliver byte-swapping library has been changed. So has the way that library is used (or not) from within libephcom. The result is that ephcom-3.0.0 users generally do not have to worry about endianness issues at all! When reading a binary ephemeris file, libephcom automatically detects the endianness of the file, compares that result with the known host endianness, and only if the two are different calls libgnulliver routines to swap the bytes of the records being read from the file into the correct endian order for the host. This is a large improvement on previous ephcom releases which assumed all input binary ephemeris files were big-endian. On output libephcom writes binary ephemerides in host endian order (rather than big-endian order as in the previous ephcom releases). * The previous Fortran 77 interface that had been implemented has now been changed to a mixture of Fortran 77 (for the deprecated API) and a new Fortran 95 API that provides a direct Fortran 95 wrapper for the high-level C API provided by libephcomc. The deprecated API is the "const", "pleph", and "dpleph" API that most JPL ephemeris users are familiar with from using the legacy JPL Fortran code that has been made available for many years with the JPL ephemerides. This deprecated API should serve as a convenient drop-in replacement for the legacy JPL Fortran code without the well-known configuration and endianness inconveniences and licensing uncertainties of that code. An additional advantage of the deprecated API for ephcom-3.0.0 compared to the legacy JPL Fortran code is it returns "const" results in alphabetic order of the ephemeris constant names which makes the array results easier to search for a particular constant value. This characteristic is a result of "const" wrapping a Fortran 95 routine and ultimately a libephcomc routine that all return ephemeris constant names and values in this sorted order. The "const", "pleph", and "dpleph" API for the Fortran bindings of ephcom-3.0.0 has been deprecated because it necessarily shares a limitation of the JPL legacy Fortran code which is that the user of this API has no control over the binary ephemeris filename. Therefore, all JPL binary ephemeris files must be called "JPLEPH" when using this deprecated API. The example, examples/f95/flce_testeph.f demonstrates that the deprecated API works using calls to const and pleph. Because of this limitation of the deprecated API, those developing new Fortran applications are strongly urged to use the new Fortran 95 API as demonstrated by the calls used in examples/f95/test_api.f and examples/f95/vtransit.f. Note that one of the tests configured by our build system checks that the results from these Fortran 95 routines for the DE405 JPL ephemeris are the same as the results from the corresponding C examples. * New swig-generated bindings for libephcomc have been implemented for Python. These bindings provide a Python wrapper for the high-level C API provided by that library. See examples/python/test_api.py and examples/python/vtransit.py for examples of how to access ephemeris information from Python. Note that one of the tests configured by our build system checks that the results of these Python scripts for the DE405 JPL ephemeris are the same as the results from the corresponding C examples. * A new binary format for ephemerides has been designed and implemented to allow storage of planetary, time, and (in principle) asteroid ephemerides. This new format removes a lot of limitations of the traditional JPL binary ephemeris format. For example, the new format removes the previous limit of 400 on the number of constants in the ephemeris header (especially useful if the masses of asteroids are contained in the ephemeris constants in the header) and removes the previous limit of 6 characters for the length of the name of the constants. Also, the previous limit of 13 different index slots corresponding to a maximum of 13 kinds of data that could be stored and interpolated has been removed. So one additional index slot is reserved for the time-ephemeris integral at geocentre (a scalar quantity used to help calculate clock corrections at geocentre), and an additional index slot is reserved for the time-ephemeris vector (a three-vector which is used to help correct the geocentre clock correction to any location in the vicinity of the Earth). But in principle the binary format allows any number of index slots so, for example, many more index slots could be used to store and interpolate positions and velocities of individual asteroids. The design of both the traditional JPL binary format and the new binary format has been documented in doc/man/jpl_binary_ephemeris.5. The libephcom library reads binary ephemerides formatted with either the old or new binary format and writes binary ephemerides using the new binary format. * Some small and optional extensions to the traditional JPL ascii format for ephemerides have been designed and implemented which correspond to relaxing the same restrictions that were relaxed in the new binary format case. So the extended ascii format allows storing any data, e.g., planetary, time, or (in principle) asteroid ephemerides) that can be stored in the new binary format and vice versa. The design of both the traditional JPL ascii format and its extension have been documented in doc/man/jpl_ascii_ephemeris.5. The libephcom library reads ascii ephemerides formatted with either the traditional JPL ascii format or its extension and writes ascii ephemerides using the extended format. * The error reporting system has been changed from simply exiting from any routine where an error occurs (which can disrupt interactive applications that are using the ephcom-3.0.0 libraries) to proper error returns for each libephcomc and libephcom routine which are correctly propagated back within libephcom and libephcomc to the external application or library that called one of the routines in those two libraries. * The traditional JPL ascii and binary format specifications say nothing about the fractions used for the starting and ending Julian dates for a given data block. However, for the planetary ephemerides produced by the JPL group all such dates correspond to midnight so they are offset from an integer by exactly 0.5. In contrast, the planetary ephemerides produced by the INPOP group using the traditional JPL binary format have starting and stopping Julian dates corresponding to noon so they are offset from an integer by exactly 0.0. The software for prior releases of ephcom assumed the offset was 0.5 so could not be used to read INPOP ephemerides even published with the traditional JPL binary format. The ephcom-3.0.0 release fixes this issue and detects whether the offset is 0.5 or 0.0 and uses appropriate logic in both cases so that no floating-point noise is introduced into those start/stop Julian dates (since offsets of 0.5 and 0.0 can be exactly represented by floating-point numbers). Furthermore, logic has been implemented for both offset cases so that when a user requests interpolation at an arbitrary Julian date (represented by two 64-bit floating-point numbers), there is minimal floating-point noise introduced into those results due to potential representation issues for that number. Note a limitation of ephcom-3.0.0 logic is the offset must be exactly 0.5 or 0.0 for the starting and stopping Julian dates. On the other hand, we believe this is a theoretical issue because we are not aware of any ephemerides that deviate from this de facto standard. * The CMake logic for our test system has been substantially improved and extended for this release. For example, the CMake configuration of most of the test targets that have been implemented for the build tree is now automatically duplicated in the installed examples tree. As a result, a comprehensive test of the installed binary ephemerides and installed examples is now available. This can be done after the install by running cmake using the installed examples directory as the source tree, and running "make test_everything" afterwards. http://timeephem.sourceforge.net/ephcom.php (which is currently being prepared and which should be available a few days after the ephcom-3.0.0 release date) will have all the details. * There have been many documentation improvements for this release. The doxygen documentation of all our libraries has been improved, and the hand-crafted man pages extended to new topics such as documenting the binary and ascii formats of ephemerides (see above) and documenting the libephcomc API. * There has been a substantial number of bug fixes for this release. Many of these bugs have been found because of improvements to our test system mentioned above. Because of the good results on a number of different Linux and Windows platforms that we obtain with that test system for JPL and INPOP planetary ephemerides and the corresponding time ephemerides generated by te_gen-2.0.0 (whose calculation of the time-ephemeris integral and vector depends on quantities which are interpolated from planetary ephemerides using ephcom software), we feel confident that ephcom-3.0.0 has fewer bugs than any previous releases of ephcom despite its enhanced feature set. For details of all ephcom-3.0.0 changes since the release of ephcom-2.0.2, please consult the ChangeLog.release file. Details of the ephcom-3.0.0 (and te_gen-2.0.0) tests: This ephcom-3.0.0 release has been tested on the following Linux platforms using the gcc and gfortran compilers: Debian wheezy on x86-64 hardware; Fedora 17 on x86-64 hardware; and RHEL-6.3 on 64-bit PowerPC hardware. This release has also been tested on the following Windows platforms: MinGW compilers (gcc and gfortran) on a 32-bit Wine-1.5.19 platform built on the Debian wheezy x86-64 system; MinGW compilers on MS Windows; and MSVC/ifort compilers on MS Windows. The ephcom-3.0.0 test suite has been implemented with bash, env, tr, cat, comp, and sed. Those apps are all routinely available on Linux platforms and also are provided by MSYS for Windows platforms. So a prerequisite for all the Windows tests was that MSYS had to be installed and on the PATH. Another prerequisite of the ephcom build is Python which is routinely available on both Linux and Windows. The te_gen-2.0.0 test suite indirectly tests ephcom by interpolating planetary-ephemeris results and manipulating the generated time-ephemeris results afterwards using ephcom utilities. That test suite requires all the above prerequisites and also PLplot. (A large subset of the tests implemented by the te_gen-2.0.0 test suite uses configured Python scripts which use the Python bindings for ephcom-3.0.0 and PLplot-5.9.x to compare interpolated time ephemeris results and plot the residuals between those results as a function of time.) PLplot is readily available on Linux in source code and binary form and on Windows in source code form. On both platforms PLplot source code is readily built into binary form using the cross-platform CMake-based build system for PLplot. In practice, the ephcom-3.0.0 and te_gen-2.0.0 tests were run sequentially on all the above platforms. The above combined tests check many aspects of the ephcom-3.0.0 software. Ascii JPL ephemerides were converted to binary ephemerides and compared in detail (using ephcom_headcmp and ephcom_ephcmp) with external binary ephemerides for the same ephemeris that were produced by the legacy JPL Fortran software. Those ephcom-generated binary ephemerides were also tested (using ephcom_testeph) against the testpo.* files that JPL provides for each of its published planetary ephemerides. Time-ephemeris integral results generated with the aid of ephcom interpolation of INPOP planetary ephemeris results were graphically (with PLplot) compared with the corresponding time-ephemeris integral results generated by the independent INPOP software. For both planetary and time ephemerides, the binary ephemeris form was converted to ascii form and back to binary form again as a complete end-to-end consistency check for the ephcom_eph2asc and ephcom_asc2eph software. In all cases for the Linux platforms, and the Wine platform all these build and run-time tests gave excellent results for 8 different JPL planetary ephemerides, 6 different INPOP planetary ephemerides, and the 14 corresponding time ephemerides generated by te_gen-2.0.0. The MS Windows tests were kindly done by Arjen Markus. Unfortunately, those tests are currently limited by issues which appear to be external to ephcom-3.0.0 and te_gen-2.0.0. For example, Arjen found older versions of gfortran did not work correctly with te_gen-2.0.0 so we recommend version 4.7.0 or later which solved the issue for him. The Python bindings for PLplot and ephcom build fine for MinGW but do not build correctly for MSVC for the debug case which must be specifically avoided (for MSVC/ifort) by specifying the cmake option -DCMAKE_BUILD_TYPE=Release. For more details about this issue see http://www.miscdebris.net/plplot_wiki/index.php?title=Install_Python. Arjen also had to be careful about the method he used to put MSYS (required for convenient testing) on the PATH for MSVC/ifort, but he hasn't written up those details yet because he solved the problem for a simple test software build with MSVC alone, but adding ifort to the mix showed there were still interference issues between MSYS and ifort. Therefore, it is going to take him a while to figure out a method to allow MSYS and MSVC/ifort to both be on the PATH at the same time. Arjen was able to build and to successfully complete limited run-time tests for MinGW on MS Windows. Those limits consist of using only one planetary ephemeris and one corresponding time_ephemeris built by te_gen with the PLplot testing results dropped because of an issue in an early release candidate which has now been fixed. Because of our comprehensive testing success with MinGW on Wine, and these good but limited test results for MinGW on MS Windows, we are confident that MinGW will work well for most ephcom-3.0.0 (and te_gen-2.0.0) users. Arjen was able to confirm that a pure (without MSYS on the PATH) MSVC/ifort build completed without issues for both ephcom and te_gen, and those executables could be run by hand without any issues (by copying the libraries and executables over into the test framework generated by MinGW + MSYS, and then running that test framework). But putting MSYS on the PATH (required for convenient and comprehensive testing) is currently problematic for the MSVC/ifort case, and if some user figures that out, we would appreciate hearing about what the solution is. Test limitations: A limitation of the above tests was the interpolation tests were only done using control = 0 in the ephcom_interpolate_relative or ephcom_interpolate_list argument lists. Non-zero control values which allow possibilities other than distance units of astronomical units and time units of days in the returned interpolated quantities appear to work but have only had minimal testing. We believe that test coverage is good for gcc/gfortran on Linux platforms, and good for MinGW gcc and gfortran on Windows platforms, but other Windows compilers such as MSVC/ifort have not had adequate testing yet. Worse yet, the Mac OS X platform remains completely untested. It's possible that ephcom-3.0.0 will work right out of the box for Mac OS X since that platform and Linux are Unix platforms, and a lot of the Mac OS X Unix idiosyncrasies are taken care of by CMake's strong cross-platform support. Anyhow, we urge Mac OS X users to give ephcom-3.0.0 (and te_gen-2.0.0) a try and report back issues (if any) to us so we can fix them. ephcom-3.0.0 limitations: * ephcom-3.0.0 currently only has computer language support for C, Fortran 95, and Python. Of course, we believe everybody should have access to planetary and time ephemeris results regardless of which computer language they are using so we encourage others to develop and donate libephcomc bindings for their favourite computer languages. DETAILED CHANGELOG FOR THIS RELEASE ------------------------------------------------------------------------ r849 | airwin | 2013-01-11 23:16:57 -0800 (Fri, 11 Jan 2013) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/README.release Completed draft of detailed release notes for the forthcoming ephcom-3.0.0 release. ------------------------------------------------------------------------ r848 | airwin | 2013-01-11 03:13:04 -0800 (Fri, 11 Jan 2013) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh Properly quote CFLAGS and FFLAGS that were specified for last commit. ------------------------------------------------------------------------ r847 | airwin | 2013-01-11 03:09:45 -0800 (Fri, 11 Jan 2013) | 8 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh Tweak script to use more diagnostic gcc and gfortran options especially including the -fvisibility=hidden option for gcc which tests for any visibility issues that might affect the the Windows case. Use VERBOSE=1 on all make commands to store complete information in corresponding *.out files. ------------------------------------------------------------------------ r846 | airwin | 2013-01-11 01:59:48 -0800 (Fri, 11 Jan 2013) | 10 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/src/include/ephcomc.h Fix obvious visibility issue introduced by last commit. Only tested this fix for one case that failed without the fix on Linux (with -fvisibility=hidden) but which succeeds now with the fix. Comprehensive tests on both Linux (with -fvisibility=hidden this time) and MinGW/SYS/Wine are in progress to make sure there are no other issues introduced by the last commit. ------------------------------------------------------------------------ r845 | airwin | 2013-01-10 17:38:08 -0800 (Thu, 10 Jan 2013) | 31 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/c/ephcom_time_test.c M /trunk/jpl_ephemerides/ephcom2/src/include/ephcom.h M /trunk/jpl_ephemerides/ephcom2/src/include/ephcomc.h M /trunk/jpl_ephemerides/ephcom2/src/libs/date.c M /trunk/jpl_ephemerides/ephcom2/src/libs/ephcomc.c M /trunk/jpl_ephemerides/ephcom2/src/libs/file.c Change the names of ephcom_cal2jd and ephcom_jd2cal to ephcom_cal2jd0 and ephcom_jd2cal0 within libephcom. Implement ephcom_cal2jd and ephcom_jd2cal routines in libephcomc that are wrappers for ephcom_cal2jd0 and ephcom_jd2cal0. The advantage of this change is it simplifies linking for users of what we have called the "bindings" or "high-level" API in the past. The result is such users only have to link to libephcomc and can completely ignore libephcom. I was quite reluctant to make this change right before the ephcom-3.0.0 release. It has only occurred now because after discussing this issue in the past with David, I forgot the issue again until I was writing up the release notes for ephcom. Fortunately, although a fair number of files are touched by this change, any introduced issues caused by renaming routines should show up at build time immediately on Linux, and these changes not only pass a build test on Linux, but they also pass a two-ephemeris run-time test on Linux (which also included a corresponding te_gen build and run test). Furthermore, the advantages of simplified linking for users are fairly compelling, and this release (where we break backwards API in any case) is a much better time to introduce this API breakage than later. Note I deliberately did not replace the dual linking of libephcomc and libephcom by linking to just libephcomc for our bindings and examples. The reason is such linking changes should be carefully checked on all platforms. Of course, as a result of this conservative policy on changes to linking so close to release some of our bindings and examples for this release will be overlinked. However, that is a completely benign linking style issue that can be addressed post-release. ------------------------------------------------------------------------ r844 | airwin | 2013-01-09 14:50:06 -0800 (Wed, 09 Jan 2013) | 3 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/versions.cmake M /trunk/time_ephemerides/te_gen/versions.cmake Update VERSION to 3.0.0 for ephcom and 2.0.0 for te_gen in preparation for the ephcom-3.0.0 and te_gen-2.0.0 releases. ------------------------------------------------------------------------ r842 | airwin | 2013-01-09 14:24:32 -0800 (Wed, 09 Jan 2013) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh Tweak spacing in output from this script. ------------------------------------------------------------------------ r841 | airwin | 2013-01-08 22:03:39 -0800 (Tue, 08 Jan 2013) | 20 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/set_mingw_msys_path.wine_sh M /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/set_msys_ephcom2.wine_sh M /trunk/time_ephemerides/te_gen/scripts/wine_scripts/set_mingw_msys_path.wine_sh M /trunk/time_ephemerides/te_gen/scripts/wine_scripts/set_msys_te_gen.wine_sh Update wine source scripts to be the same as the revised ones used for the latest comprehensive (and successful) tests on Wine. The updates consist of improving the commentary, using ordinary variables rather than environment variables where possible, and confining the purpose of set_mingw_msys_path.wine_sh to just putting CMake, MinGW, and MSYS on the PATH. A bug in set_msys_te_gen.wine_sh was fixed so that PATH_NODLL was changed from an ordinary variable (which the te_gen build script did not have access to, thus clobbering the installed examples tree tests) to an environment variable. N.B. these scripts are useful for externally setting up MinGW/MSYS testing on Wine (and presumably Windows). However, they are not used internally by the build system so essentially these changes are the equivalent of documentation changes, and therefore I feel comfortable updating them this close to release. ------------------------------------------------------------------------ r838 | airwin | 2013-01-08 03:59:10 -0800 (Tue, 08 Jan 2013) | 6 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh Use "svn export" to copy local directory changes _that are under svn control_ into the tarball. That's much cleaner and a better test than using the local directory version (which could, for example, incorporate files not under svn control into the tarball). ------------------------------------------------------------------------ r836 | airwin | 2013-01-08 03:52:42 -0800 (Tue, 08 Jan 2013) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/versions.cmake M /trunk/time_ephemerides/te_gen/versions.cmake Bump VERSION consistent with RC4. ------------------------------------------------------------------------ r834 | airwin | 2013-01-07 23:23:39 -0800 (Mon, 07 Jan 2013) | 2 lines Changed paths: A /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/README.wine_scripts Explanation of these scripts and how to use them. ------------------------------------------------------------------------ r833 | airwin | 2013-01-07 22:35:56 -0800 (Mon, 07 Jan 2013) | 2 lines Changed paths: D /trunk/jpl_ephemerides/ephcom2/scripts/build_msys_ephcom2.wine_sh D /trunk/jpl_ephemerides/ephcom2/scripts/set_mingw_msys_path.wine_sh D /trunk/jpl_ephemerides/ephcom2/scripts/set_msys_ephcom2.wine_sh A /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts A /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/build_msys_ephcom2.wine_sh (from /trunk/jpl_ephemerides/ephcom2/scripts/build_msys_ephcom2.wine_sh:822) A /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/set_mingw_msys_path.wine_sh (from /trunk/jpl_ephemerides/ephcom2/scripts/set_mingw_msys_path.wine_sh:822) A /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/set_msys_ephcom2.wine_sh (from /trunk/jpl_ephemerides/ephcom2/scripts/set_msys_ephcom2.wine_sh:822) Move wine scripts to their own directory. ------------------------------------------------------------------------ r832 | airwin | 2013-01-07 22:31:40 -0800 (Mon, 07 Jan 2013) | 13 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/CMakeLists.txt M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt Previously the DESTDIR fix was not working for me. (${DESTDIR} was being replaced by nothing). Implement the correct DESTDIR fix for the INSTALL(CODE... case (according to a tip from David Cole who suggested escaping the "$" in $ENV{DESTDIR} so that the DESTDIR environment variable would be read at "make" time rather than cmake time where it is not defined for the test case below.) Tested by Alan W. Irwin <airwin@users.sourceforge.net> using the "make DESTDIR=/tmp/whatever -j4 install" command for both ephcom and te_gen. ------------------------------------------------------------------------ r831 | airwin | 2013-01-07 10:52:19 -0800 (Mon, 07 Jan 2013) | 14 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/src/utils/asc2eph.c M /trunk/jpl_ephemerides/ephcom2/src/utils/eph2asc.c M /trunk/jpl_ephemerides/ephcom2/src/utils/eph2eph.c M /trunk/jpl_ephemerides/ephcom2/src/utils/testeph.c Commit patch (version 2) from David Howells <dhowells@redhat.com>. Add some missing error handling to ephcom utility programs Add some missing error handling to ephcom utility programs. The results of some calls to the ephcom library are depended on by later calls, and if the expected stuff is not returned due to an error occurring, this can result in segmentation faults. Tested by: Alan W. Irwin <airwin@users.sourceforge.net> using the "test_everything" and "install" targets on the Linux platform for two JPL ephemerides and the full pack of INPOP ephemerides. ------------------------------------------------------------------------ r830 | airwin | 2013-01-05 15:41:40 -0800 (Sat, 05 Jan 2013) | 8 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/bindings/python/ephcomcmodule.i Apply patch from Arjen Markus <arjen.markus@deltares.nl> to sort out build issues (replace alloca by more standard malloc/free combination and declare variables at the top of code blocks) that showed up for the MSVC compiler. Thanks, Arjen! ------------------------------------------------------------------------ r828 | airwin | 2013-01-04 12:47:09 -0800 (Fri, 04 Jan 2013) | 9 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dChar.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dDouble.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_asc2eph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_cal2jd.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_close.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_concatenate.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2asc.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2eph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcoeff.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_get_coords.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_headcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_open.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_pleph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_testeph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_ascii_ephemeris.html M /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_binary_ephemeris.html M /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_ephemeris.html M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants_ctx.3 AWI commit of "[PATCH 1/2] Library manual pages" patch by David Howells <dhowells@redhat.com> which incorporates the last of his recent changes. Also update all html counterparts of the man pages to make them consistent with the totality of David's recent series of man page changes. ------------------------------------------------------------------------ r825 | airwin | 2013-01-03 11:13:01 -0800 (Thu, 03 Jan 2013) | 11 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/CMakeLists.txt M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt AWI for David Howells <dhowells@redhat.com>. For both ephcom and te_gen fix documentation installation to make sure it goes to the intended destination directory within the root directory specified on the make command line with DESTDIR= rather than / as the latter may be somewhere the build cannot write and may clobber installed system data. This is required to make it possible to build RPMs. ------------------------------------------------------------------------ r824 | airwin | 2013-01-03 10:27:00 -0800 (Thu, 03 Jan 2013) | 8 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh Determine VERSION from the value set in the versions.cmake file in the top-level directory of the appropriate ephcom or te_gen source tree. These changes remove a version maintenance issue for each of the make_tarball.sh scripts. ------------------------------------------------------------------------ r822 | airwin | 2012-12-31 22:29:17 -0800 (Mon, 31 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/versions.cmake M /trunk/time_ephemerides/te_gen/versions.cmake Bump release-candidate version number. ------------------------------------------------------------------------ r821 | airwin | 2012-12-31 17:44:36 -0800 (Mon, 31 Dec 2012) | 27 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/bindings/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/bindings/f95/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/bindings/f95/deprecated.f M /trunk/jpl_ephemerides/ephcom2/bindings/f95/ephcomf.f M /trunk/jpl_ephemerides/ephcom2/bindings/f95/ephcomfc.c M /trunk/jpl_ephemerides/ephcom2/bindings/f95/ephcomfc.h M /trunk/jpl_ephemerides/ephcom2/bindings/f95/interface.f M /trunk/jpl_ephemerides/ephcom2/bindings/python/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/bindings/python/ephcomcmodule.i M /trunk/jpl_ephemerides/ephcom2/bindings/swig_support/ephcomcapi.i M /trunk/jpl_ephemerides/ephcom2/doc/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/doc/generate_swig_documentation.py M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dChar.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dDouble.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_cal2jd.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_close.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_concatenate.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2asc.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2eph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcoeff.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_get_coords.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_headcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_open.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_pleph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_testeph.html M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dChar.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dDouble.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_cal2jd.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_close.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_concatenate.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_eph2asc.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_eph2eph.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_ephcmp.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_ephcoeff.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_get_coords.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_headcmp.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_open.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_pleph.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_testeph.1 M /trunk/jpl_ephemerides/ephcom2/ephemeris_tests.cmake M /trunk/jpl_ephemerides/ephcom2/examples/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/c/ephcom_time_test.c M /trunk/jpl_ephemerides/ephcom2/examples/c/gnulliver_swap_test.c M /trunk/jpl_ephemerides/ephcom2/examples/c/test_api.c M /trunk/jpl_ephemerides/ephcom2/examples/c/vtransit.c M /trunk/jpl_ephemerides/ephcom2/examples/f95/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/f95/test_api.f M /trunk/jpl_ephemerides/ephcom2/examples/f95/test_repeat_interpolation.f M /trunk/jpl_ephemerides/ephcom2/examples/f95/vtransit.f M /trunk/jpl_ephemerides/ephcom2/examples/python/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/python/test_api.py M /trunk/jpl_ephemerides/ephcom2/examples/python/vtransit.py M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in M /trunk/jpl_ephemerides/ephcom2/python.cmake M /trunk/jpl_ephemerides/ephcom2/scripts/ephcom_concatenate.in M /trunk/jpl_ephemerides/ephcom2/src/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/src/include/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/src/include/ephcom.h M /trunk/jpl_ephemerides/ephcom2/src/include/ephcomc.h M /trunk/jpl_ephemerides/ephcom2/src/include/gnulliver.h.in M /trunk/jpl_ephemerides/ephcom2/src/libs/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/src/libs/date.c M /trunk/jpl_ephemerides/ephcom2/src/libs/ephcom.c M /trunk/jpl_ephemerides/ephcom2/src/libs/ephcomc.c M /trunk/jpl_ephemerides/ephcom2/src/libs/error.c M /trunk/jpl_ephemerides/ephcom2/src/libs/error_private.h M /trunk/jpl_ephemerides/ephcom2/src/libs/file.c M /trunk/jpl_ephemerides/ephcom2/src/libs/gnulliver.c M /trunk/jpl_ephemerides/ephcom2/src/libs/libephcom_internal.h M /trunk/jpl_ephemerides/ephcom2/src/libs/names.c M /trunk/jpl_ephemerides/ephcom2/src/utils/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/src/utils/asc2eph.c M /trunk/jpl_ephemerides/ephcom2/src/utils/eph2asc.c M /trunk/jpl_ephemerides/ephcom2/src/utils/ephcmp.c M /trunk/jpl_ephemerides/ephcom2/src/utils/headcmp.c M /trunk/jpl_ephemerides/ephcom2/src/utils/testeph.c M /trunk/jpl_ephemerides/ephcom2/swig.cmake M /trunk/jpl_ephemerides/ephcom2/test.cmake M /trunk/jpl_ephemerides/ephcom2/test_float32_double64.c M /trunk/jpl_ephemerides/ephcom2/test_host_endianness.c M /trunk/scripts/generate_website.sh M /trunk/scripts/style_source.sh M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt M /trunk/time_ephemerides/te_gen/doc/html/convert_inpop_ascii_time_ephemeris.html M /trunk/time_ephemerides/te_gen/doc/html/te_gen_chebyshev.html M /trunk/time_ephemerides/te_gen/doc/html/te_gen_header.html M /trunk/time_ephemerides/te_gen/doc/html/te_gen_integral_test.html M /trunk/time_ephemerides/te_gen/doc/html/te_gen_testfile_generate.html M /trunk/time_ephemerides/te_gen/doc/man/convert_inpop_ascii_time_ephemeris.1 M /trunk/time_ephemerides/te_gen/doc/man/te_gen_chebyshev.1 M /trunk/time_ephemerides/te_gen/doc/man/te_gen_header.1 M /trunk/time_ephemerides/te_gen/doc/man/te_gen_integral_test.1 M /trunk/time_ephemerides/te_gen/doc/man/te_gen_testfile_generate.1 M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake M /trunk/time_ephemerides/te_gen/examples/CMakeLists.txt M /trunk/time_ephemerides/te_gen/examples/f95/CMakeLists.txt M /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f M /trunk/time_ephemerides/te_gen/examples/f95/semimajor_axes_main.f M /trunk/time_ephemerides/te_gen/examples/f95/te_gen_integral_test_main.f M /trunk/time_ephemerides/te_gen/examples/f95/test_asteroids_main.f M /trunk/time_ephemerides/te_gen/examples/f95/test_linear_lsf_main.f M /trunk/time_ephemerides/te_gen/examples/f95/test_orbit_main.f M /trunk/time_ephemerides/te_gen/installed_CMakeLists.txt.in M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh M /trunk/time_ephemerides/te_gen/src/CMakeLists.txt M /trunk/time_ephemerides/te_gen/src/asteroids.f M /trunk/time_ephemerides/te_gen/src/dpolint.f M /trunk/time_ephemerides/te_gen/src/dromb.f M /trunk/time_ephemerides/te_gen/src/dtrapzd.f M /trunk/time_ephemerides/te_gen/src/ephem_constants.f M /trunk/time_ephemerides/te_gen/src/fill_common_block.f M /trunk/time_ephemerides/te_gen/src/interface.f M /trunk/time_ephemerides/te_gen/src/kepler_solve.f M /trunk/time_ephemerides/te_gen/src/linear_lsf.f M /trunk/time_ephemerides/te_gen/src/lower_case.f M /trunk/time_ephemerides/te_gen/src/orbit.f M /trunk/time_ephemerides/te_gen/src/te_gen_dot_product.f M /trunk/time_ephemerides/te_gen/src/tt_derivative.f M /trunk/time_ephemerides/te_gen/src/vector_calc.f M /trunk/time_ephemerides/te_gen/utils/CMakeLists.txt M /trunk/time_ephemerides/te_gen/utils/convert_inpop_ascii_time_ephemeris_main.f M /trunk/time_ephemerides/te_gen/utils/te_gen_chebyshev_main.f M /trunk/time_ephemerides/te_gen/utils/te_gen_header_main.f M /trunk/time_ephemerides/te_gen/utils/te_gen_testfile_generate_main.f Copyright lines should reflect release dates rather than when the software was written. So since there haven't been releases of either ephcom or te_gen in 2012, all copyright dates of 2012 must be changed to 2013 when the forthcoming releases of ephcom and te_gen will occur (in roughly a week). Furthermore, copyright dates should ideally be discrete reflecting the exact years when releases occurred. Thus, I changed 2011-2013 ==> 2011, 2013 for all my copyright lines where that pattern occurred. For David's copyright lines (which are now uniformly dated as 2013 since he did not contribute to the 2011 release), I also attempted to always render his e-mail address consistently (with angle brackets rather than parantheses) and on the same line as "Copyright". I also fixed a few whitespace issues discovered when I wrote out the unique copyright strings that were being used with the appropriate find, xargs, grep, and sort --unique pipeline combinations. This change touched virtually all files and much of it was automated (via find commands and sed scripts). Therefore, I looked very carefully at the diff before committing to be sure most changes were on the same line as the "copyright" string, and in the few cases where that did not occur, made sure the change was exactly what I intended. ------------------------------------------------------------------------ r819 | airwin | 2012-12-31 15:42:21 -0800 (Mon, 31 Dec 2012) | 9 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/CMakeLists.txt Add additional man pages to install. Instead of using a separate loop to install each kind of man page, use one loop with logic to detect which kind of man page it is with logic to install in the appropriate man directory for that kind of man page. ------------------------------------------------------------------------ r818 | airwin | 2012-12-31 15:36:12 -0800 (Mon, 31 Dec 2012) | 11 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dChar.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dDouble.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_asc2eph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_cal2jd.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_close.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_concatenate.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2asc.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_eph2eph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_ephcoeff.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_get_coords.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_headcmp.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_open.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_pleph.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants_ctx.html M /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_testeph.html A /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_ascii_ephemeris.html A /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_binary_ephemeris.html A /trunk/jpl_ephemerides/ephcom2/doc/html/jpl_ephemeris.html Make html format of man page files (excluding symlinks) consistent with man page files using commands (invoked in the man subdirectory) similar to for name in $(find -name "*.1" -a -type f |sed "s?.1??"); \ do echo $name; man2html <$name.1 >| ../html/$name.html; done for 1, 3, 5, 7. ------------------------------------------------------------------------ r817 | airwin | 2012-12-31 10:41:14 -0800 (Mon, 31 Dec 2012) | 13 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dChar.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dDouble.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_asc2eph.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_cal2jd.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_close.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_concatenate.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_eph2asc.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_eph2eph.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_ephcmp.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_ephcoeff.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_get_coords.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_headcmp.1 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_open.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_pleph.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants_ctx.3 M /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_testeph.1 A /trunk/jpl_ephemerides/ephcom2/doc/man/jpl_ascii_ephemeris.5 A /trunk/jpl_ephemerides/ephcom2/doc/man/jpl_binary_ephemeris.5 A /trunk/jpl_ephemerides/ephcom2/doc/man/jpl_ephemeris.7 AWI for David Howells <dhowells@redhat.com>. Improve *.1 and *.3 man pages with better cross-references. Initial implementation of *.5 man pages to explain the ascii and binary-ephemeris formats used by ephcom, and a *.7 man page to give more background information on JPL ephemerides. ToDo. For the updated pages, make similar html updates, For the new pages, build system changes to install them, and create corresponding html pages. ------------------------------------------------------------------------ r816 | airwin | 2012-12-30 19:30:33 -0800 (Sun, 30 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/CMakeLists.txt M /trunk/time_ephemerides/te_gen/CMakeLists.txt Do not include files named svn-commit.tmp* in source packages. ------------------------------------------------------------------------ r814 | airwin | 2012-12-30 17:15:53 -0800 (Sun, 30 Dec 2012) | 3 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/versions.cmake M /trunk/time_ephemerides/te_gen/versions.cmake Move to completely numerical versioning scheme to describe release candidates 2 for ephcom-3.0.0 and te_gen-2.0.0. ------------------------------------------------------------------------ r812 | airwin | 2012-12-30 16:33:43 -0800 (Sun, 30 Dec 2012) | 22 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/doc/CMakeLists.txt A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dChar.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Alloc2dDouble.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Free2dChar.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_Free2dDouble.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_cal2jd.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_close.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_close_ctx.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_get_coords.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_list_ctx.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_interpolate_relative_ctx.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_jd2cal.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_open.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_open_ctx.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_pleph.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants.html A /trunk/jpl_ephemerides/ephcom2/doc/html/ephcom_read_constants_ctx.html A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dChar.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Alloc2dDouble.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Free2dChar.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_Free2dDouble.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_cal2jd.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_close.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_close_ctx.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_get_coords.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_list_ctx.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_interpolate_relative_ctx.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_jd2cal.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_open.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_open_ctx.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_pleph.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants.3 A /trunk/jpl_ephemerides/ephcom2/doc/man/ephcom_read_constants_ctx.3 Initial commit of *.3 man pages hand-crafted by David Howells <dhowells@redhat.com> to describe the ephcom "bindings" API. Added appropriate man/*.3 symlinks for the case when the man page referred to multiple function API's. Added html equivalents for the files (as opposed to symlinks) using cd man for name in $(find -name "*.3" -a -type f |sed "s?.3??"); do echo \ $name; man2html <$name.3 >| ../html/$name.html; done Added appropriate html/*.html symlinks for the case when the man page referred to multiple function API's. Dropped installation of doxygen-generated man pages describing the ephcom API, because David prefers the hand-crafted ones. Of course, we still install the doxygen-generated html files both for the ordinary install-tree install and also for the website install. ------------------------------------------------------------------------ r811 | airwin | 2012-12-29 11:21:16 -0800 (Sat, 29 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/src/utils/testeph.c Remove modification date for the file from the output. ------------------------------------------------------------------------ r810 | airwin | 2012-12-28 16:55:14 -0800 (Fri, 28 Dec 2012) | 25 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/src/libs/file.c AWI commit of two related patches by David Howells <dhowells@redhat.com>. Fix loop counting and missing error handling in ephcom_writebinary_block() ephcom_writebinary_block() should have the variable 'i' as the same size of type as filebyte and filepos. Further, ftell() can give an error which should be checked for. Fix the following warnings: /data/planet/ephcom2/src/libs/file.c: In function ‘ephcom_writebinary_header’: /data/planet/ephcom2/src/libs/file.c:1438:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat] /data/planet/ephcom2/src/libs/file.c:1592:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat] This and the previous changes by Arjen Markus Tested by: Alan W. Irwin <airwin@users.sourceforge.net> using the test_everything and install targets for both ephcom and te_gen on both Linux and Wine. These tests only involved two JPL planetary ephemerides (de200 and de405) so were limited compared to my usual comprehensive test involving large numbers of JPL and INPOP ephemerides. ------------------------------------------------------------------------ r809 | airwin | 2012-12-28 14:35:47 -0800 (Fri, 28 Dec 2012) | 10 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/bindings/f95/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/src/include/ephcom.h M /trunk/jpl_ephemerides/ephcom2/src/libs/error_private.h M /trunk/jpl_ephemerides/ephcom2/src/libs/libephcom_internal.h M /trunk/time_ephemerides/te_gen/src/CMakeLists.txt A /trunk/time_ephemerides/te_gen/src/te_gen_ifort.def AWI for Arjen Markus. Apply changes from Arjen that he found necessary to get ephcom and te_gen to build for the Intel Fortran/MSVC/C++ set of compilers on Microsoft Windows. These changes inspected for Linux/Wine issues but not tested (yet) on those platforms. Arjen is currently having trouble getting an MSYS environment (required for run-time testing) to work for Intel Fortran/MSVC/C++. ------------------------------------------------------------------------ r808 | airwin | 2012-12-27 18:30:37 -0800 (Thu, 27 Dec 2012) | 8 lines Changed paths: A /trunk/jpl_ephemerides/ephcom2/scripts/build_msys_ephcom2.wine_sh (from /trunk/jpl_ephemerides/ephcom2/scripts/msys_ephcom2.wine.sh:797) D /trunk/jpl_ephemerides/ephcom2/scripts/msys_ephcom2.wine.sh M /trunk/jpl_ephemerides/ephcom2/scripts/set_mingw_msys_path.wine_sh M /trunk/jpl_ephemerides/ephcom2/scripts/set_msys_ephcom2.wine_sh Update Wine build scripts to the latest versions. Note that build_msys_ephcom2.wine_sh is generic so it is useful for anybody. However, that generic script sources set_msys_ephcom2.wine_sh to set up some specifics (appropriate in this case to the AWI Wine platform) which in turn sources set_mingw_msys_path.wine_sh (again with specifics appropriate to the AWI Wine platform). ------------------------------------------------------------------------ r807 | airwin | 2012-12-27 18:17:48 -0800 (Thu, 27 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt Drop gnulliver_swap_test test for the Windows and not MinGW case. ------------------------------------------------------------------------ r806 | airwin | 2012-12-27 18:16:12 -0800 (Thu, 27 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/ephemeris_tests.cmake Output original de_dir_list and inpop_dir_list. ------------------------------------------------------------------------ r805 | airwin | 2012-12-27 17:44:01 -0800 (Thu, 27 Dec 2012) | 4 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/bindings/f95/CMakeLists.txt Add current source directory to the list of include directories. This _may_ fix the ifort issue that Arjen found where the #include directive was not finding ephcomf.f. ------------------------------------------------------------------------ r804 | airwin | 2012-12-27 17:34:54 -0800 (Thu, 27 Dec 2012) | 7 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/bindings/f95/CMakeLists.txt AWI for Arjen Markus. Better detection of ifort compiler. For that compiler on Windows, use -fpp rather than -cpp compiler option. ------------------------------------------------------------------------ r803 | airwin | 2012-12-27 17:26:30 -0800 (Thu, 27 Dec 2012) | 3 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/bindings/f95/ephcomf_ifort.def Update ifort define file so that it is consistent with Fortran 95 part of the interface. ------------------------------------------------------------------------ r801 | airwin | 2012-12-26 18:39:05 -0800 (Wed, 26 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/ephemeris_tests.cmake Only repeat message output de_dir_list and inpop_dir_list if they are modified. ------------------------------------------------------------------------ r800 | airwin | 2012-12-26 17:28:09 -0800 (Wed, 26 Dec 2012) | 5 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/python.cmake Implement logic to insure PYTHON_INSTDIR is a CMake path. (Previously the code gave a mixture of Windows and CMake path results for this variable on Windows which completely confused CMake for the install-tree build and test.) ------------------------------------------------------------------------ r799 | airwin | 2012-12-26 17:26:34 -0800 (Wed, 26 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in Output derived PYTHON_INSTDIR. ------------------------------------------------------------------------ r798 | airwin | 2012-12-26 15:42:27 -0800 (Wed, 26 Dec 2012) | 31 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/src/libs/file.c Use simplified and largely uniform logic everywhere for massaging header->ttl information. 1. For ascii input fill in the last part (including the linefeed read in) of the first EPHCOM_MAXTTL characters in the ttl arrays with blanks and null terminate the result using the EPHCOM_MAXTTL+1 character. 2. For ascii output take whatever is in the null-terminated ttl arrays and extend it with blanks to EPHCOM_MAXTTL characters which are null-terminated with the EPHCOM_MAXTTL+1 character. For actual ascii output trim off all the trailing blanks. 3. For binary input, take whatever is read into the null-terminated ttl arrays in the binary ephemeris and extend the ttl arrays with blanks to EPHCOM_MAXTTL characters which are null-terminated with the EPHCOM_MAXTTL+1 character. 4. For binary output, take whatever is in the null-terminated ttl arrays and extend it with blanks to EPHCOM_MAXTTL characters which are null-terminated with the EPHCOM_MAXTTL+1 character before outputting to the binary ephemeris. The result of this new largely uniform logic is two bugs have been squashed. The extraneous linefeeds inserted into Linux and Wine binary ephemerides for the first ttl record are now gone and replaced by blanks. For Wine, the extraneous extra garbage characters inserted into ascii output which occurred whenever gcc was optimized (-O1 through -O3) are now gone. ------------------------------------------------------------------------ r797 | airwin | 2012-12-23 13:33:03 -0800 (Sun, 23 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/installed_CMakeLists.txt.in Use modern idiom to determine CMake version to be output. ------------------------------------------------------------------------ r793 | airwin | 2012-12-23 02:25:14 -0800 (Sun, 23 Dec 2012) | 8 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/scripts/make_tarball.sh Update script to allow testing of INPOP ephemerides. Make version 3.0.0-RC1 (for now). Several other tweaks. The result appears to work well. ------------------------------------------------------------------------ r792 | airwin | 2012-12-23 02:21:24 -0800 (Sun, 23 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/versions.cmake M /trunk/time_ephemerides/te_gen/versions.cmake rc1 ==> RC1 in version. ------------------------------------------------------------------------ r790 | airwin | 2012-12-22 15:51:05 -0800 (Sat, 22 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/python/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in Finish implementation of tests of the installed python examples. ------------------------------------------------------------------------ r789 | airwin | 2012-12-22 15:49:21 -0800 (Sat, 22 Dec 2012) | 3 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/f95/CMakeLists.txt Fix up logic for deciding whether binary ephemeris will be available for the test at the time of the test. ------------------------------------------------------------------------ r788 | airwin | 2012-12-22 13:30:20 -0800 (Sat, 22 Dec 2012) | 3 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/f95/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in Complete the implementation of the install-tree build and test of the Fortran examples. ------------------------------------------------------------------------ r787 | airwin | 2012-12-22 13:28:37 -0800 (Sat, 22 Dec 2012) | 2 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt Tweak the CMake logic to implement C examples tests. ------------------------------------------------------------------------ r786 | airwin | 2012-12-22 13:22:56 -0800 (Sat, 22 Dec 2012) | 4 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/ephemeris_tests.cmake For custom commands that run ephcom_testeph for JPL ephemerides, add file dependency on the test file. ------------------------------------------------------------------------ r785 | airwin | 2012-12-21 22:14:28 -0800 (Fri, 21 Dec 2012) | 9 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/examples/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/c/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/f95/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/examples/python/CMakeLists.txt M /trunk/jpl_ephemerides/ephcom2/installed_CMakeLists.txt.in Add C, Fortran 95, and Python examples to the install-tree build and test system. The installed C examples build and test now with no known issues, but the f95 and python examples have just been updated in a generic way to work in the install tree and more work needs to be done on them before they will work correctly for that case. ------------------------------------------------------------------------ r784 | airwin | 2012-12-21 22:08:14 -0800 (Fri, 21 Dec 2012) | 11 lines Changed paths: M /trunk/jpl_ephemerides/ephcom2/ephemeris_tests.cmake Implement more precise handling of binary-ephemeris dependencies. If the binary-ephemeris target does not exist, it is assumed the binary ephemeris is pre-built (which occurs for the INPOP case and also for the install tree in general), and add_dependency is skipped. The previous method where add_dependency was u
Source: README.release, updated 2013-01-12

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks