An existing product called PG Orbit (a mobile PostgreSQL client) creates a naming conflict. pg_orrery — a database orrery built from Keplerian parameters and SQL instead of brass gears. Build system: control file, Makefile, Dockerfile, docker init script. C source: GUC prefix, PG_FUNCTION_INFO_V1 symbol, header guards, ereport prefixes, comments across ~30 files including vendored SGP4. SQL: all 5 install/migration scripts, function name pg_orrery_ephemeris_info. Tests: 9 SQL suites, 8 expected outputs, standalone DE reader test. Documentation: CLAUDE.md, README.md, DESIGN.md, Starlight site infra, 36 MDX pages, OG renderer, logo SVG, docker-compose, agent threads. All 13 regression suites pass. Docs site builds (37 pages).
72 lines
2.5 KiB
C
72 lines
2.5 KiB
C
/************************************************************************
|
|
|
|
The TASS 1.7 theory of the Saturnian satellites including HYPERION
|
|
by Alain VIENNE and Luc DURIEZ can be found at
|
|
ftp://ftp.imcce.fr/pub/ephem/satel/tass17
|
|
|
|
I (Johannes Gajdosik) have just taken the Fortran code and data
|
|
obtained from above and rearranged it into this piece of software.
|
|
|
|
I can neither allow nor forbid the usage of the TASS 1.7 theory.
|
|
The copyright notice below covers not the work of Alain VIENNE and Luc DURIEZ
|
|
but just my work, that is the compilation of the TASS 1.7 theory
|
|
into the software supplied in this file.
|
|
|
|
|
|
Copyright (c) 2005 Johannes Gajdosik
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a
|
|
copy of this software and associated documentation files (the "Software"),
|
|
to deal in the Software without restriction, including without limitation
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
and/or sell copies of the Software, and to permit persons to whom the
|
|
Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included
|
|
in all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
|
|
Adapted for pg_orrery: removed static mutable state for thread safety
|
|
(PostgreSQL PARALLEL SAFE).
|
|
|
|
****************************************************************/
|
|
|
|
#ifndef PG_ORRERY_TASS17_H
|
|
#define PG_ORRERY_TASS17_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define TASS17_MIMAS 0
|
|
#define TASS17_ENCELADUS 1
|
|
#define TASS17_TETHYS 2
|
|
#define TASS17_DIONE 3
|
|
#define TASS17_RHEA 4
|
|
#define TASS17_TITAN 5
|
|
#define TASS17_HYPERION 7
|
|
#define TASS17_IAPETUS 6
|
|
|
|
/*
|
|
* Compute Saturn moon position and velocity in VSOP87 ecliptic J2000
|
|
* coordinates, relative to Saturn center, in AU and AU/day.
|
|
*
|
|
* body: 0-7 (see defines above; note Hyperion=7, Iapetus=6)
|
|
* xyz[3]: output position (AU)
|
|
* xyzdot[3]: output velocity (AU/day), may be NULL
|
|
*/
|
|
void GetTass17Coor(double jd, int body, double *xyz, double *xyzdot);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|