Presentation on theme: "ASI/EUMETSAT Meeting ASI Space Geodesy Center — Matera, 04-05 February 2009 S. Casotto, P. Zoccarato, A. Nardo, M. Bardella CISAS – University of Padua."— Presentation transcript:
ASI/EUMETSAT Meeting ASI Space Geodesy Center — Matera, 04-05 February 2009 S. Casotto, P. Zoccarato, A. Nardo, M. Bardella CISAS – University of Padua SWOrD SoftWare for Oceansat2 Orbit Determination
SWOrD: Software purposes Multi–satellite LEO-MEO orbit determination based on GPS measurements LEO-MEO orbit prediction Modeling and prediction of Radio Occultation (RO) events High precision reconstruction of SST velocities Adoption of HPC techniques Computation kernel separated from the process communications layer Low latency POD: Dynamic Reduced Dynamic Kinematics
ROSA ROSSA (Research and Operational Satellite and Software Activities) data flow
SWOrD: Programming paradigms Object Oriented Programming (OOP) Singleton pattern to restrict instantiation of a class to one object C++/Fortran interoperability Multi threads/OpenMP parallelization Database on RAM for input data administration based on Boost::Multiindex library GPStk: fundamental and advanced GPS processing algorithms XML input and output manipulation with data binding through Code Synthesis utility Development and debugging: Eclipse 3.1, Intel C++/Fortran compiler 11 and the software construction tool SCons
UTC: Coordinated Universal Time UT: Universal time ET: Ephemeris Time. Was used 1960-1983 TDT: Terrestrial Dynamical Time. Was used 1984-2000 TT: Terrestrial Time TAI: International Atomic Time (Temps Atomique International) GPS time = TAI - 19 seconds OOP advantages (1/2) UTC 1972 - An example: the Time_Tag class ET 1960-1983 TDT 1984-2000 TT 2001- UT1 delta-UT = UT1-UTC (max 0.9 sec) delta-T = TT-UT1 GPS 1980 -TAI 1958 - TAI-UTC Leap seconds TAI-GPS 19 s fixed TT-TAI 32.184s fixed
OOP advantages (2/2) An example of inheritance usage: the Ground Station and Satellite classes
Boost::Multiindex The Boost Multi-index Containers Library provides a class template which enables the construction of containers maintaining one or more indices with different sorting and access semantics
XML data binding CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to C++ data binding compiler
Planetary Ephemerides (JPL) Models of gravitational field and terrestrial/oceans tides (JMG3, EGM96, EG4) Ground station solutions (IGS) EOP e Leap seconds (bulletins B e C from IERS, bulletin A from USNO) Solar and geomagnetic activity indexes (NGDC) IGS products ROSA navigation data OCEANSAT2 attitude ROSA receiver multipath pattern Ancillary data required
L1 Input & Output
L2 Input & Output
Logical model Two main kinds of operational blocks: interface classes and application classes. The first called application class triggers the reading interface classes to acquire the input data. During this process the input data are manipulated to obtain a complete set of information that will be later used by the other application classes.
SWOrD contains a mathematical model of the world used to process observational data. The functional model of the system can be decomposed into several components, which are the counterpart to the physical model to be developed Functional model
Kinematic POD (1/2) There exist several kinematic orbit determination techniques based on either undifferenced, doubly-differenced or triply- differenced observables, but also on time-differenced phase observables. All of the kinematic approaches to GPS-based LEO OD, including the one adopted here, make use of the fundamental contribution of data provided by the IGS. These data include GPS SV’s orbits, clock solutions for both SV’s and ground stations, EOP and tropospheric zenith delay (TZD) solutions. All these parameters are held fixed in the solution process.
The strategy adopted in the SWOrD OD system is based on the use of a combination of pseudorange and phase observables differenced in time. The procedure is illustrated on the left Kinematic POD (2/2)