New development cycle for JPARSEC

New development cycle for JPARSEC

The new 1.8 release series for JPARSEC can be considered a new development cycle with many changes respect to the previous version. Most of the code for astrophysical models has been moved to their corresponding applications, and an astrophysics package comes into its place with general operation on measures, spectra, and interaction with Gildas. Eventually this package could grow with time, so it seems a good idea to name it accordingly. Anyway, operations here should be common in all fields of astrophysics, and JPARSEC should not be focused on particular models. Ephemerides for double and variable stars are in the ephem.stars package, and old net and net.vo packages are both now simply vo. The packages for chart generation have been reorganized in a more intuitive way, and some ephemerides packages have been removed to keep all theories from IMCCE in the same package. I have included here the files for Elp2000 to avoid that dependency, and the same with Moshier's data, so ephemerides for any major Solar System body can be obtained with no dependency at all, by downloading the appropriate version of JPARSEC (eop.jar is still necessary when precission in the milliarcsecond level is required). I think the reduction in the number of packages (and classes) keep things much better organized, and it is also a good idea to maintain a reduced version for only ephemerides calculations, that eliminates about 40% of the complete JPARSEC library and has no compilation dependency at all.

The code contains also new features. The astronomy package contains an Astrometry class to measure coordinates in CCD/Photo images. It will be useful since WCS images assume constant values for the incrementals in RA/DEC, so its not very adequate for images with wide fields of view. FK4/FK5/ICRF/Mean dynamical frames are fully supported. IAU2006 class contains some methods to work with NPB matrices and to transform GCRS coordinates to TIRS. B1950 to J2000 transformation is very precise now up to certain limitations. JPL ephemerides are now faster, with support for DE422 as well as external files (with the possibility of reading DE406 and DE422 files for any given time). The package ephem.event has much more new code in MainEvents, that implements everything useful in Meeus's Astronomical Algorithms. MoonEvents class has also changed with the possibility of calculating events considering different definitions for their starting and ending times, so that results from other sources can be matched. Time operations can now be done with BigDecimal to improve precision. Respect to graphics, sky rendering is now much faster, as it is clearly noticeable in the applet available in the projects page or in the new 1.3 version of the OAN ephemerides server.

Documentation and code readability is better, and JPARSEC now takes advantage of enumeration classes to avoid mistakes when using the features of EphemerisElement (for instance) to select the properties of the object, since they were integer constants that could be messed up without throwing compilation errors. Testing is now an important element in JPARSEC since features should be stable and well tested. There are around 300 test cases and the number will still grow in next releases. The end of tests.txt file contains a list of limitations/inconsistencies found when comparing results with other sources. In this version some of them are fixed, and I expect to solve the rest in the future.

So what's next ?

Following months will be focused on the JPARSEC programs, since some feature can still be improved for astrophysics research. I will also improve the ephemerides server and maybe convert it into a collaborative tool. After a few months I expect to come back to continue with the library. There are still a number of things to work on:

  • Lunar librations in Moshier and JPL theories.
  • Ephemerides and sky simulation from the surface of any Solar System body, not only the Earth.
  • VO package migrated to Topcat.
  • Solar/lunar eclipse maps.
  • Calculate orbits from observations.
  • NORAD theories for artificial satellites.
  • Implement the numerical integration method by Moshier to use 'any' JPL integration method without GBs of data, and to use it for other advanced tasks …
  • New planetary rendering method (supporting shadows produced by planetary features) and 3d Solar System simulation using Java3D.

When all these features are finished I may end JPARSEC development around at version 2, and start to think about how to put it into a new production phase with a new project, but that's still a little far.

blog/jparsec1_8.txt · created: 2011/10/07 14:58 (Last modified 2011/10/17 10:29) by Tomás Alonso Albi
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki