Looking for the latest version? Download ephcom-3.0.0.tar.gz (278.6 kB)
Home / te_gen
Name Modified Size Downloads / Week Status
Parent folder
Totals: 3 Items   320.6 kB 3
README.release 2013-01-15 160.8 kB 11 weekly downloads
te_gen-2.0.0.tar.gz 2013-01-15 159.3 kB 11 weekly downloads
te_gen-2.0.0.tar.gz.asc 2013-01-15 490 Bytes 11 weekly downloads
The te_gen-2.0.0 software package for generating time ephemerides from information supplied by planetary ephemerides has been released. Planetary ephemerides (such as those published by the JPL and INPOP groups and which can be accessed by the recently released ephcom-3.0.0 software that is a companion project to te_gen) represent mankind's best knowledge of the motions of all major solar system objects. Time ephemerides 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 "te_gen" development effort is a subproject of the Time Ephemerides project (http://timeephem.sourceforge.net) and is a revival of the software (now designated as te_gen-1.0.0) released as a companion to the paper by Irwin and Fukushima (1999, http://articles.adsabs.harvard.edu/full/1999A&amp;A...348..642I). That paper provides useful scientific background for calculations of time ephemerides, and work is in progress on a research note that updates Section 2 of that paper consistent with IAU definitions introduced since 1999. (http://timeephem.sf.net will link to that research note when it is completed.) David Howells, a developer with outstanding skills and an interest in chronology, was recruited by Alan W. Irwin to the Time Ephemerides project last year. David's primary focus since joining the project has been on developing many improvements to ephcom that have culminated in the recent ephcom-3.0.0 release. Those improvements have also considerably helped the te_gen project since te_gen relies on ephcom to interpolate information necessary for the time-ephemeris calculation from planetary ephemerides, and ephcom can be used to manipulate (e.g., convert from ascii to binary form) and interpolate (i.e., provide results at a given time from the binary form of ephemerides) time-ephemeris results produced by te_gen. David has also helped directly with the te_gen-2.0.0 release by strongly participating in the testing effort for that software. David and Alan would like to give a big vote of thanks to Arjen Markus who spent many hours release testing te_gen-2.0.0 (and ephcom-3.0.0) on MINGW/MSYS and MSVC/ifort MS Windows platforms that were not accessible to us. Alan would like to thank Hervé Manche of the INPOP group for facilitating detailed comparisons with results from that group's implementation of time-ephemeris integral calculation which were useful for debugging the O(c^{-4}) corrections to the 1999 calculation of that integral that have been implemented for te_gen-2.0.0. The most important changes in this release relative to te_gen-1.0.0 (released in 1999) are as follows: * WARNING. Although the inner details of the implementation remain similar to the 1999 version of this software, how this software is named and organized into a library and how utilities link to that library has been completely changed since the 1999 effort. So it is highly recommended that the users should use the new CMake-based build system for te_gen to build and test this software, and users should follow the man pages for the te_gen_header and te_gen_chebyshev utilities or follow what the test system does to generate time ephemerides for themselves. * The license for te_gen has been changed from GPL to LGPL. * A new CMake-based build system has been implemented. This new build system allows users to build, install, and test te_gen on Linux with the gcc and gfortran compilers, on Windows with either the MinGW gcc or gfortran compilers or the MSVC/ifort compilers, and (in principle) on Mac OS X with the gcc and gfortran compilers. Many of the tests configured by the build system (in the build-tree and also automatically duplicated in the installed examples tree) takes advantage of the Python bindings for PLplot and ephcom-3.0.0 to use configured python scripts to plot residuals between time-ephemeris integral results calculated by te_gen-2.0.0, te_gen-1.0.0, and the INPOP group. * The te_gen code now has a Fortran 95 interface which automatically checks whether users are calling the Fortran routines with the correct number and kind of arguments. This is a substantial improvement to the previous Fortran 77 interface in 1999 which (by Fortran 77 definition) had no such checks. * The new version of the code is a factor of three faster than the 1999 version because at any specified time the required planetary ephemeris data are all interpolated with one efficient call (to the Fortran 95 version of ephcom_interpolate_list in ephcom-3.0.0) rather than an inefficient series of calls for each major body in the solar system to dpleph in the JPL legacy Fortran code for interpolating ephemerides (or its equivalent in the deprecated Fortran API for ephcom-3.0.0). When this software efficiency improvement is combined with the hardware improvement for PC's since 1999, long time ephemerides such as TE406 which used to take ~30 hours to compute, now only require ~10 minutes (!) to compute. * The te_gen source code has been substantially cleaned up. * The slope correction for the time-ephemeris integral (or mathematically equivalent subtraction of a constant from the time-ephemeris integrand) is now done using a method with better numerical properties than the method used in 1999. The result is a small reduction in floating-point noise in the time-ephemeris integral results that are generated by te_gen. * The new version of te_gen code can now be used to generate time ephemerides from INPOP planetary ephemerides (as well as JPL planetary ephemerides). * The new version of the code includes O(c^{-4}) corrections to the time-ephemeris integral results and corresponding corrections to the time-ephemeris vector results produced by te_gen. The time-ephemeris integral can be used to determine general relativistic clock corrections at geocentre, and the time ephemeris vector can be used to help correct those geocentric results to observing locations anywhere near the geocentre using the first term of a Taylor series. (For more details see the research note that when completed will be linked from http://timeephem.sf.net.) * The documentation of te_gen-2.0.0 is substantially improved compared to the 1999 version. This release includes substantial documentation of the library API via doxygen and documentation of the te_gen utilities via hand-crafted man pages. For details of all te_gen-2.0.0 changes since the release of te_gen-1.0.0 please consult the ChangeLog.release file. Details of the ephcom-3.0.0 and te_gen-2.0.0 tests: Because te_gen depends so strongly on ephcom, the ephcom-3.0.0 and te_gen-2.0.0 releases were tested together. These releases have 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. These releases have 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 test suites for both ephcom-3.0.0 and te_gen-2.0.0 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. The above combined tests check many aspects of the ephcom-3.0.0 and te_gen-2.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 Windows users who use MinGW-4.7.0 or later 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. This implies those interpolation routines were only tested for the case when time-ephemeris integral results were returned with units of days (and with no units for the dimensionless time derivative of that quantity), and time-ephemeris vector results were returned with units of AU/day (or AU/day^2 for the time derivative of that quantity). Non-zero control values which allow possibilities of time units of seconds rather than days and/or distance units of kilometres rather than astronomical units in the returned interpolated quantities appear to work but have only had minimal testing. We believe that test coverage for ephcom-3.0.0 and te_gen-2.0.0 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 both ephcom-3.0.0 and te_gen-2.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 try ephcom-3.0.0 and te_gen-2.0.0 and report back issues (if any) to us so we can fix them. DETAILED CHANGELOG FOR THIS RELEASE ------------------------------------------------------------------------ r853 | airwin | 2013-01-14 17:26:32 -0800 (Mon, 14 Jan 2013) | 2 lines Changed paths: A /trunk/time_ephemerides/te_gen/README.release Commit final version of release notes for te_gen-2.0.0. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r843 | airwin | 2013-01-09 14:35:47 -0800 (Wed, 09 Jan 2013) | 13 lines Changed paths: M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh List out binary planetary ephemerides that have been installed by ephcom and which are a prerequisite for this script to work correctly. Tweak spacing of output. Tested by Alan W. Irwin <airwin@users.sourceforge.net> using recent comprehensive (14 planetary ephemerides tested, 14 time ephemerides generated from those planetary ephemerides, and those 14 time ephemerides tested) Linux test of ephcom (which used the ephcom version of make_tarball.sh) and te_gen (which used this updated script, the te_gen version of make_tarball.sh). ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r840 | airwin | 2013-01-08 04:13:05 -0800 (Tue, 08 Jan 2013) | 14 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake M /trunk/time_ephemerides/te_gen/installed_CMakeLists.txt.in Make test targets work for installed examples for te_gen. The results are good. For example, postscript residual plots generated in the installed examples tree as the result of running individual test targets or the test_everything target there are identical (except for date, as expected) with the equivalent plots made in the build tree. I have not bothered to implement the residual plot comparison with my 1999 work in the installed examples tree because that is a pretty specialized comparison largely of interest only to me and which is already available to me in the build tree. But that is the only restriction I am aware of on the tests currently available in the installed examples tree. ------------------------------------------------------------------------ r839 | airwin | 2013-01-08 04:01:30 -0800 (Tue, 08 Jan 2013) | 5 lines Changed paths: M /trunk/time_ephemerides/te_gen/utils/CMakeLists.txt Incorporate utilities into the cmake modules describing te_gen. This allows projects that include those modules to use the te_gen utilities as imported targets which is quite useful (e.g., for the test target approach). ------------------------------------------------------------------------ r837 | airwin | 2013-01-08 03:57:57 -0800 (Tue, 08 Jan 2013) | 8 lines Changed paths: M /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh Use "svn export" to copy local directory changes _that are under svn control_ into 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). Uncomment tests of the installed example tree. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r835 | airwin | 2013-01-07 23:40:06 -0800 (Mon, 07 Jan 2013) | 4 lines Changed paths: A /trunk/time_ephemerides/te_gen/scripts/wine_scripts A /trunk/time_ephemerides/te_gen/scripts/wine_scripts/README.wine_scripts A /trunk/time_ephemerides/te_gen/scripts/wine_scripts/build_msys_te_gen.wine_sh A /trunk/time_ephemerides/te_gen/scripts/wine_scripts/set_mingw_msys_path.wine_sh (from /trunk/jpl_ephemerides/ephcom2/scripts/wine_scripts/set_mingw_msys_path.wine_sh:833) A /trunk/time_ephemerides/te_gen/scripts/wine_scripts/set_msys_te_gen.wine_sh Commit scripts that are useful for building, testing, and installing te_gen on a MinGW/MSYS/Wine platform. However, the scripts should also be fine for the MinGW/MSYS/MS Windows platform as well. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r829 | airwin | 2013-01-05 01:59:59 -0800 (Sat, 05 Jan 2013) | 18 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake Reorganize build-tree tests as a preliminary step before implementation of testing the installed examples. Set CORE_BUILD variable to true for the build-tree case. Move finding the directory lists where ephemerides resides from the top-level CMakeLists.txt to ephemeris_test.cmake. Within the latter file, use a separate loop for creating binary time ephemerides for CORE_BUILD true (since for the install tree case those binary ephemerides will just be installed and won't have to be created). Tested by Alan W. Irwin <airwin@users.sourceforge.net> using the test_everything and install targets with a limited number of ephemerides (two JPL ephemerides and all the INPOP ephemerides). ------------------------------------------------------------------------ r827 | airwin | 2013-01-03 21:00:38 -0800 (Thu, 03 Jan 2013) | 3 lines Changed paths: A /trunk/time_ephemerides/te_gen/examples/f95/README.te_gen_examples Implement a README file explaining the test motivation (and scientific background in some cases) for the te_gen/examples/f95 examples. ------------------------------------------------------------------------ r826 | airwin | 2013-01-03 17:21:55 -0800 (Thu, 03 Jan 2013) | 2 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f Tweak commentary. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r823 | airwin | 2013-01-03 10:02:36 -0800 (Thu, 03 Jan 2013) | 11 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt By default don't bother with the lapack/library search or build the linear_lsf library or the test_linear_lsf or semimajor_axes applications that depend on that library. test_linear_lsf just checks that the library works, and semimajor_axes simply calculates mean semimajor axes for the planets to compare with explanatory supplement results for the same quantities. This last test is an extremely minor test that is normally not worth the bother so substantially simplify (since this removes a dependency on lapack/blas) ordinary builds and tests by turning all this OFF by default. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r815 | airwin | 2012-12-30 19:13:12 -0800 (Sun, 30 Dec 2012) | 17 lines Changed paths: M /trunk/time_ephemerides/te_gen/utils/convert_inpop_ascii_time_ephemeris_main.f The INPOP group have "since inpop10a" (according to a private communication from Hervé Manche of that group) moved to using a normalization of the integrand of their time-ephemeris integral that is exactly consistent with IAU definitions. The te_gen integrand of the time-ephemeris integral is also exactly consistent with IAU definitions although a different multiplier and zero-point are defined then in the INPOP definition. The actual change in INPOP definition from what was used for inpop08a, etc. is essentially negligible, but being exactly (rather than approximately) consistent with the IAU definitions is worth it from the didactic point of view. Adjust the transformation between time-ephemeris integral results generated by INPOP software and te_gen according to the new INPOP definition. Update the commentary within this utility to be consistent with this new transformation on the INPOP results. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r813 | airwin | 2012-12-30 17:02:43 -0800 (Sun, 30 Dec 2012) | 4 lines Changed paths: M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt Dropped installation of doxygen-generated man pages describing the te_gen API. ------------------------------------------------------------------------ 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++. ------------------------------------------------------------------------ r802 | airwin | 2012-12-26 23:36:19 -0800 (Wed, 26 Dec 2012) | 4 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/te_gen_mingw.def vdc_calc ==> vector_calc to be consistent with previously revised name of the corresponding subroutine. This fix solves a Wine build error. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r796 | airwin | 2012-12-23 02:37:51 -0800 (Sun, 23 Dec 2012) | 8 lines Changed paths: M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake Use the generator expression $<TARGET_FILE:ephcom_command> to refer to ephcom utility commands since those all correspond to imported targets. Also, add the ephcom utility commands to the list of file dependencies as is necessary when using generator expressions. ------------------------------------------------------------------------ r795 | airwin | 2012-12-23 02:32:20 -0800 (Sun, 23 Dec 2012) | 2 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt Fix CMAKE_MODULE_PATH logic. ------------------------------------------------------------------------ r794 | airwin | 2012-12-23 02:26:54 -0800 (Sun, 23 Dec 2012) | 5 lines Changed paths: A /trunk/time_ephemerides/te_gen/scripts A /trunk/time_ephemerides/te_gen/scripts/make_tarball.sh Initial commit of script to make a te_gen tarball. Much of the logic has been copied from the similar ephcom script. The result appears to work with no issues. ------------------------------------------------------------------------ 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. ------------------------------------------------------------------------ r791 | airwin | 2012-12-22 17:36:07 -0800 (Sat, 22 Dec 2012) | 9 lines Changed paths: M /trunk/time_ephemerides/te_gen/installed_CMakeLists.txt.in Replace lame test system for the install tree by a message that it is not implemented yet. After the forthcoming release a proper test system for the install tree should be implemented following what was done for ephcom, e.g., using ephemeris_tests.cmake to configure a test system for either the build tree or install tree depending on the value of CORE_BUILD. ------------------------------------------------------------------------ r780 | airwin | 2012-12-19 13:08:06 -0800 (Wed, 19 Dec 2012) | 8 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f M /trunk/time_ephemerides/te_gen/src/tt_derivative.f Use stdout rather than stderr for debug_printout output in tt_derivative. Use stderr (rather than stdout) for diagnostic output from the main routine of print_te_gen_integrand_components so it is kept separate from the debug_printout output of tt_derivative. ------------------------------------------------------------------------ r779 | airwin | 2012-12-19 12:50:34 -0800 (Wed, 19 Dec 2012) | 27 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/ephem_constants.f Correct the value of gm(EPHCOM_EARTH) returned by ephem_constants so it contains the GM value for the Earth rather than the counter-intuitive GM value for the Earth + Moon. This change to gm(ephcom_EARTH) fixes issues with both tt_derivative and vector_calc where it has always been assumed that gm(EPHCOM_EARTH) contains the GM value for the Earth alone consistent with intuition. This bug fix changes the beta_6 and beta_8 components printed out by print_te_gen_integrand_components in roughly the third figure. These components are the only ones that depend on the assumed Earth mass. As a result of this bug fix, the output from print_te_gen_integrand_components now agrees satisfactorily with similarly formatted output produced for a comparison by Hervé Manche of the INPOP group. The beta_8 components now agree to 14 figures and the beta_6 components agree to 6 figures. (I ascribe this discrepancy to the Newton approximation used for the acceleration terms that are required to calculate beta_6.) Because beta_6 is relatively small compared to other beta components, the sum of the beta components now agrees with the corresponding INPOP group result to 11 figures. This agreement is satisfactory since beta is such a small correction to alpha. In sum, as a result of this bug fix te_gen and the INPOP implementation now show satisfactory agreement for all alpha and beta components of the integrand of the time-ephemeris integral. ------------------------------------------------------------------------ r778 | airwin | 2012-12-19 11:34:07 -0800 (Wed, 19 Dec 2012) | 2 lines Changed paths: M /trunk/time_ephemerides/te_gen/doc/html/te_gen_integral_test.html M /trunk/time_ephemerides/te_gen/doc/man/te_gen_integral_test.1 JPL ephemeris ==> planetary ephemeris. ------------------------------------------------------------------------ r777 | airwin | 2012-12-18 19:14:45 -0800 (Tue, 18 Dec 2012) | 5 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/tt_derivative.f Rationalize programming logic by converting to units of meters and seconds in just one place rather than on the fly. Also make some of the logic of the if statements a little clearer. ------------------------------------------------------------------------ r776 | airwin | 2012-12-18 19:11:51 -0800 (Tue, 18 Dec 2012) | 2 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f Properly account for the case where the startjd is not integral. ------------------------------------------------------------------------ r772 | airwin | 2012-12-14 12:30:01 -0800 (Fri, 14 Dec 2012) | 16 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f Specify ipn correctly. Change to using Julian date logic rather than Julian year logic. Change to using command arguments to specify all input rather than a mixture of stdin and command arguments as before. The command examples/f95/print_te_gen_integrand_components \ ~/time_ephemeris/HEAD/inpop/inpop10b/inpop10b_TDB_m1000_p1000_bigendian/inpop10b_TDB_m1000_p1000_bigendian.dat \ 2420864 2424881.75 12 gave exactly the same result as I sent a long time ago to Hervé Manche ------------------------------------------------------------------------ r771 | airwin | 2012-12-12 22:13:58 -0800 (Wed, 12 Dec 2012) | 27 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/vector_calc.f Add post-Newtonian terms to the Earth velocity to form the complete time-ephemeris vector. This implementation was thoroughly tested with te_gen_integral_test for the ipn = 1 (Earth velocity alone with post-Newtonian form of Earth acceleration as the derivative), 2 (post-Newtonian correction to Earth velocity alone and the time derivative of that correction alone), and 3 (combination of Earth Velocity and post-Newtonian correction + time derivative of same) cases. The ipn=2 result was good to ~1.e-7 in max residual/max value. This post-Newtonian correction to the Earth velocity to form the time-ephemeris vector is already small so this relative residual corresponds to a negligible effect on the final location-dependent term in TCB-TCG. The ipn = 1 and 3 results are essentially indistinguishable (as expected from the above argument) and show relative residuals (max residual/max value) of ~2e-9 (incorrectly stated as 3e-9 in a previous commit message) for the integral test of those quantities. I ascribe these residuals to missing figure effects since a back-of-the-envelope calculation of those indicates they should be the order of ~1e-9. Note the maximum location-dependent term at the surface of the Earth is ~0.02*1.e-4. So 2e-9 of that corresponds to a maximum error of 4.e-15 seconds or completely negligible. ------------------------------------------------------------------------ r770 | airwin | 2012-12-12 21:54:38 -0800 (Wed, 12 Dec 2012) | 7 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/te_gen_integral_test_main.f M /trunk/time_ephemerides/te_gen/utils/te_gen_chebyshev_main.f Straighten out errors in the robust revision of input (or default) tstart and tstop so that the revised tstart and tstop values are always within the epoch range and corresponding to the start and stop of exact time intervals of the ephemeris (where the time intervals are considered closed at the start and open at the end except for the last time interval which is closed at start and end). ------------------------------------------------------------------------ r769 | airwin | 2012-12-09 14:58:34 -0800 (Sun, 09 Dec 2012) | 12 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/vector_calc.f Add post-Newtonian terms to Earth acceleration. This improves the relative residuals (max residual/max value) for the integral test of that quantity from ~3e-7 to ~3e-9. I ascribe this result to missing figure effects since a back-of-the-envelope calculation of those indicates they should be the order of ~1e-9. Note the maximum location-dependent term at the surface of the Earth is ~0.02*1.e-4. So 3e-9 of that corresponds to a maximum error of 6e-15 seconds or completely negligible. ------------------------------------------------------------------------ r768 | airwin | 2012-12-09 14:41:17 -0800 (Sun, 09 Dec 2012) | 6 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/te_gen_integral_test_main.f EPHCOM_TE ==> EPHCOM_TEI EPHCOM_VE ==> EPHCOM_TEV Also use correct normalization for time-ephemeris vector (TEV) quantities that are being tested using integration. ------------------------------------------------------------------------ r767 | airwin | 2012-12-09 14:38:20 -0800 (Sun, 09 Dec 2012) | 3 lines Changed paths: M /trunk/time_ephemerides/te_gen/residual_plot.py.in M /trunk/time_ephemerides/te_gen/utils/te_gen_testfile_generate_main.f EPHCOM_TE ==> EPHCOM_TEI EPHCOM_VE ==> EPHCOM_TEV ------------------------------------------------------------------------ r766 | airwin | 2012-12-09 14:36:27 -0800 (Sun, 09 Dec 2012) | 2 lines Changed paths: M /trunk/time_ephemerides/te_gen/utils/te_gen_chebyshev_main.f Tweak error message. ------------------------------------------------------------------------ r762 | airwin | 2012-12-04 10:51:18 -0800 (Tue, 04 Dec 2012) | 20 lines Changed paths: M /trunk/time_ephemerides/te_gen/doc/html/te_gen_integral_test.html M /trunk/time_ephemerides/te_gen/doc/man/te_gen_integral_test.1 M /trunk/time_ephemerides/te_gen/examples/f95/te_gen_integral_test_main.f M /trunk/time_ephemerides/te_gen/src/interface.f D /trunk/time_ephemerides/te_gen/src/vdc_calc.f A /trunk/time_ephemerides/te_gen/src/vector_calc.f (from /trunk/time_ephemerides/te_gen/src/vdc_calc.f:750) M /trunk/time_ephemerides/te_gen/src/write_ascii_header.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 Rename vdc_calc to vector_calc, and change all documentation files, internal commentary, and array names to be consistent with the idea that vector_calc returns the time-ephemeris vector (the vector that is dotted with the observer location displacement vector relative to geocentre to form the location-dependent part of TCB-TCG) and its time derivative. N.B. The quantities returned by vector_calc continue to be v_E/c and its time derivative (approximated by the Newtonian acceleration of the Earth/c). So the returned quantities are an approximation to the time-ephemeris vector, and a further approximation to the time derivative of that vector in dimensionless units. So the external documenation and internal commentary (including doxygen commentary) anticipates when vector_calc returns the time-ephemeris vector up to and including all terms of O(c^{-2}) (i.e., v_E + a PPN correction in units of km/day), and its near-exact time derivative. ------------------------------------------------------------------------ r761 | airwin | 2012-12-04 10:29:43 -0800 (Tue, 04 Dec 2012) | 5 lines Changed paths: M /trunk/time_ephemerides/te_gen/examples/f95/CMakeLists.txt Fix up error in last commit which did not have an include_directories command to access the correct included Fortran source (in one case) and corrt Fortran 95 modules (in all cases). ------------------------------------------------------------------------ r758 | airwin | 2012-11-29 13:22:15 -0800 (Thu, 29 Nov 2012) | 11 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake A /trunk/time_ephemerides/te_gen/examples/CMakeLists.txt A /trunk/time_ephemerides/te_gen/examples/f95/CMakeLists.txt A /trunk/time_ephemerides/te_gen/examples/f95/post_newtonian_approximation_main.f (from /trunk/time_ephemerides/te_gen/src/post_newtonian_calc.f:681) A /trunk/time_ephemerides/te_gen/examples/f95/print_te_gen_integrand_components_main.f (from /trunk/time_ephemerides/te_gen/src/print_te_gen_integrand_components_main.f:750) A /trunk/time_ephemerides/te_gen/examples/f95/semimajor_axes.out (from /trunk/time_ephemerides/te_gen/src/semimajor_axes.out:728) A /trunk/time_ephemerides/te_gen/examples/f95/semimajor_axes_main.f (from /trunk/time_ephemerides/te_gen/src/semimajor_axes_main.f:750) A /trunk/time_ephemerides/te_gen/examples/f95/te_gen_integral_test_main.f (from /trunk/time_ephemerides/te_gen/src/te_gen_integral_test_main.f:750) A /trunk/time_ephemerides/te_gen/examples/f95/test_asteroids_main.f (from /trunk/time_ephemerides/te_gen/src/test_asteroids_main.f:750) A /trunk/time_ephemerides/te_gen/examples/f95/test_linear_lsf_main.f (from /trunk/time_ephemerides/te_gen/src/test_linear_lsf_main.f:750) A /trunk/time_ephemerides/te_gen/examples/f95/test_orbit.out (from /trunk/time_ephemerides/te_gen/src/test_orbit.out:727) A /trunk/time_ephemerides/te_gen/examples/f95/test_orbit_main.f (from /trunk/time_ephemerides/te_gen/src/test_orbit_main.f:750) M /trunk/time_ephemerides/te_gen/src/CMakeLists.txt D /trunk/time_ephemerides/te_gen/src/post_newtonian_calc.f D /trunk/time_ephemerides/te_gen/src/print_te_gen_integrand_components_main.f D /trunk/time_ephemerides/te_gen/src/semimajor_axes.out D /trunk/time_ephemerides/te_gen/src/semimajor_axes_main.f D /trunk/time_ephemerides/te_gen/src/te_gen_integral_test_main.f D /trunk/time_ephemerides/te_gen/src/test_asteroids_main.f D /trunk/time_ephemerides/te_gen/src/test_linear_lsf_main.f D /trunk/time_ephemerides/te_gen/src/test_orbit.out D /trunk/time_ephemerides/te_gen/src/test_orbit_main.f Move Fortran source code examples and tests from te_gen/src to te_gen/examples/f95. Some of these examples don't even link to the te_gen library. Instead, they might give approximate results as a comparison for what te_gen calculates exactly. The post_newtonian_approximation app (renamed from post_newtonian_calc) is an example of this, where it just calculates an approximation for the mean slope effect of the post-Newtonian correction to the time-ephemeris integral. ------------------------------------------------------------------------ r757 | airwin | 2012-11-29 13:12:42 -0800 (Thu, 29 Nov 2012) | 4 lines Changed paths: M /trunk/time_ephemerides/te_gen/versions.cmake Create soversion and version for (internal) linear_lsf library just to treat that library in a way that is consistent with the other libraries. ------------------------------------------------------------------------ r751 | airwin | 2012-11-20 15:25:33 -0800 (Tue, 20 Nov 2012) | 2 lines Changed paths: A /trunk/time_ephemerides/te_gen/examples/f95/post_newtonian_approximation.out Expected output from post_newtonian_approximation. ------------------------------------------------------------------------ r750 | airwin | 2012-11-20 13:58:24 -0800 (Tue, 20 Nov 2012) | 4 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt M /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake M /trunk/time_ephemerides/te_gen/installed_CMakeLists.txt.in 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/print_te_gen_integrand_components_main.f M /trunk/time_ephemerides/te_gen/src/semimajor_axes_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_dot_product.f M /trunk/time_ephemerides/te_gen/src/te_gen_integral_test_main.f M /trunk/time_ephemerides/te_gen/src/test_asteroids_main.f M /trunk/time_ephemerides/te_gen/src/test_linear_lsf_main.f M /trunk/time_ephemerides/te_gen/src/test_orbit_main.f M /trunk/time_ephemerides/te_gen/src/tt_derivative.f M /trunk/time_ephemerides/te_gen/src/vdc_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 Update licensing terms for te_gen to be either version 2.1 of the License, or (at user option) any later version of the LGPL. ------------------------------------------------------------------------ r749 | airwin | 2012-11-20 13:54:04 -0800 (Tue, 20 Nov 2012) | 2 lines Changed paths: D /trunk/time_ephemerides/te_gen/src/LICENSE.txt Remove redundant LICENSE.txt in the src tree. ------------------------------------------------------------------------ r745 | airwin | 2012-11-20 12:24:23 -0800 (Tue, 20 Nov 2012) | 2 lines Changed paths: A /trunk/time_ephemerides/te_gen/LICENSE.txt Add LGPL version 2.1 licensing text to te_gen source tree. ------------------------------------------------------------------------ r744 | airwin | 2012-11-19 22:34:26 -0800 (Mon, 19 Nov 2012) | 12 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt A /trunk/time_ephemerides/te_gen/install_locations.cmake M /trunk/time_ephemerides/te_gen/src/CMakeLists.txt A /trunk/time_ephemerides/te_gen/versions.cmake Create install_locations.cmake and versions.cmake as module files to be included from the top-level CMakeLists.txt file for the te_gen project. install_locations sets all the install locations. All version numbers are collected in versions.cmake. Reviewed all those numbers and updated them for this forthcoming release (except for trailing "-rc1" on package version number which will need to be dropped just before the release). ------------------------------------------------------------------------ r742 | airwin | 2012-11-19 21:25:53 -0800 (Mon, 19 Nov 2012) | 3 lines Changed paths: 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 Output usage messages when the number of command line arguments is incorrect. ------------------------------------------------------------------------ r741 | airwin | 2012-11-19 19:03:08 -0800 (Mon, 19 Nov 2012) | 8 lines Changed paths: M /trunk/time_ephemerides/te_gen/doc/CMakeLists.txt A /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 A /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 Update all existing man pages and add a man page for the convert_inpop_ascii_time_ephemeris command. Drop the te_gen_integral_test man page from installation since that executable is just a test example for te_gen developers and not a te_gen utility that is much use to users. ------------------------------------------------------------------------ r739 | airwin | 2012-11-19 11:30:51 -0800 (Mon, 19 Nov 2012) | 15 lines Changed paths: M /trunk/time_ephemerides/te_gen/CMakeLists.txt A /trunk/time_ephemerides/te_gen/ephemeris_tests.cmake A /trunk/time_ephemerides/te_gen/examples A /trunk/time_ephemerides/te_gen/examples/f95 A /trunk/time_ephemerides/te_gen/residual_plot.py.in (from /trunk/time_ephemerides/te_gen/src/residual_plot.py.in:681) M /trunk/time_ephemerides/te_gen/src/CMakeLists.txt D /trunk/time_ephemerides/te_gen/src/convert_inpop_ascii_time_ephemeris_main.f D /trunk/time_ephemerides/te_gen/src/residual_plot.py.in D /trunk/time_ephemerides/te_gen/src/te_gen_chebyshev_main.f D /trunk/time_ephemerides/te_gen/src/te_gen_header_main.f D /trunk/time_ephemerides/te_gen/src/te_gen_testfile_generate_main.f A /trunk/time_ephemerides/te_gen/utils A /trunk/time_ephemerides/te_gen/utils/CMakeLists.txt A /trunk/time_ephemerides/te_gen/utils/convert_inpop_ascii_time_ephemeris_main.f (from /trunk/time_ephemerides/te_gen/src/convert_inpop_ascii_time_ephemeris_main.f:733) A /trunk/time_ephemerides/te_gen/utils/te_gen_chebyshev_main.f (from /trunk/time_ephemerides/te_gen/src/te_gen_chebyshev_main.f:732) A /trunk/time_ephemerides/te_gen/utils/te_gen_header_main.f (from /trunk/time_ephemerides/te_gen/src/te_gen_header_main.f:733) A /trunk/time_ephemerides/te_gen/utils/te_gen_testfile_generate_main.f (from /trunk/time_ephemerides/te_gen/src/te_gen_testfile_generate_main.f:733) Reorganize te_gen build system into a larger number of simpler components which should be easier to maintain in the future. ephemeris_tests.cmake contains all the tests that were previously in src/CMakeLists.txt. The utils directory contains the te_gen utilities required to generate time ephemerides and convert INPOP ascii time ephemerides to JPL ascii form. examples and examples/f95 are currently just placeholder directories, but soon the test executables still built in src should be moved to examples/f95. ------------------------------------------------------------------------ r734 | airwin | 2012-11-16 15:58:09 -0800 (Fri, 16 Nov 2012) | 14 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/te_gen_mingw.def Update this definitions file to be consistent with the new Fortran 95 API for the te_gen library. Tested by: Alan W. Irwin <airwin@users.sourceforge.net> using the test_everything and install targets as well as a graphical comparison of current time-ephemeris residual plots with previous residual plots for both JPL and INPOP ephemerides. These tests were done just on a CMake-2.8.10/MinGW-4.7.0/MSYS(latest)/Wine-1.5.16_patched platform since this define file only affects Windows platforms. Note the recent te_gen changes to a Fortran 95 interface have already been tested on Linux, but this test was the first for those change on a Wine platform. ------------------------------------------------------------------------ r733 | airwin | 2012-11-16 12:34:27 -0800 (Fri, 16 Nov 2012) | 11 lines Changed paths: M /trunk/time_ephemerides/te_gen/src/convert_inpop_ascii_time_ephemeris_main.f M /trunk/time_ephemerides/te_gen/src/ephem_constants.f M /trunk/time_ephemerides/te_gen/src/lower_case.f M /trunk/time_ephemerides/te_gen/src/te_gen_header_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_testfile_generate_main.f M /trunk/time_ephemerides/te_gen/src/tt_derivative.f Drop the extra length argument from the lower_case function and use the length of the input string for the length of the returned string instead. Thanks to Arjen Markus for this idea. Tested by: Alan W. Irwin <airwin@users.sourceforge.net> using the test_everything and install targets as well as a graphical comparison of current time-ephemeris residual plots with previous residual plots for both JPL and INPOP ephemerides. These tests were done just on a Linux platform. ------------------------------------------------------------------------ r732 | airwin | 2012-11-16 11:56:13 -0800 (Fri, 16 Nov 2012) | 34 lines Changed paths: 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/chebfit.f M /trunk/time_ephemerides/te_gen/src/convert_inpop_ascii_time_ephemeris_main.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 A /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/lower_case.f M /trunk/time_ephemerides/te_gen/src/orbit.f M /trunk/time_ephemerides/te_gen/src/print_te_gen_integrand_components_main.f M /trunk/time_ephemerides/te_gen/src/semimajor_axes_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_chebyshev_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_dot_product.f M /trunk/time_ephemerides/te_gen/src/te_gen_header_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_integral_test_main.f M /trunk/time_ephemerides/te_gen/src/te_gen_testf
Source: README.release, updated 2013-01-15