ERA Software System

ERA stands for “Ephemeris Research in Astronomy”. Its main applications are: production of the fundamental ephemeris of the Solar System bodies EPM (Pitjeva, Pitjev, 2014); numerical motion theories of natural satellites (Kosmodamiansky and Poroshina, 2014); astronomical yearbooks (Glebova et al., 2015); various fundamental research related to the dynamics of the Solar System (Pitjeva, Pitjev, 2013).

The core of the ERA system is the implementation of a domain-specific language called SLON. Most tasks that are being done within the system are put in the form of a program code in the SLON language. Most astronomical data (observations, parameters of models, etc) is being kept in the form of tables.

ERA has been in usage and constant development since late 1980-s (Krasinsky et al. 1988). It has undergone a major rework in 2015 (Pavlov, Skripnichenko, 2015).

The system can be presented as consisting of two parts: the scientific part and the technical part.

The scientific part is the following set of astronomical algorithms, exposed to the user as native constructs of the SLON language:

  • Reductions of astronomical observations (optical, radar ranging, laser ranging). That includes implementation of IERS Conventions (2010) for: precession and nutation models, IERS EOP corrections, solid tide models, tectonic plate models, tropospheric delay models, relativistic corrections, and other models;
  • Analytical theories for satellites of outer planets and rotation of Mars; coefficients of gravitational potential of Earth, Moon and planets, other known models of Solar system bodies;
  • Adams–Bashforth-Moulton numerical integrator.
  • Equations of forces for integrating the motion of: asteroids, satellite systems, whole Solar system including TT-TDB and lunar libration;
  • Calculation of partial derivatives of astronomical observables with respect to different parameters, such as: orbital elements of Earth or observed body, station coordinates, initial position and libration angles (for Moon), rotation parameters (for Mars), solar corona parameters, masses of perturbing bodies, and many others;
  • Weighted least squares method for determining the corrections to the parameters.

The technical part consists of the following components, merged into an integrated environment based on the Racket programming platform:

  • SLON language parser and interpreter (compiler in the reworked implementation);
  • Text editor for the SLON programs;
  • Graph plotter;
  • Access to numerical theories of celestial bodies presented in the form of Chebyshev expansions;
  • Math library;
  • Viewer and editor of tables with special support for astronomical data.