diff --git a/README.md b/README.md index f639402b..6a16c3f7 100644 --- a/README.md +++ b/README.md @@ -190,18 +190,16 @@ the necessary variables in the shell prior to invoking `make`. For example: application dynamically via `set_planet_provider()`. - You can enable integration with the [CALCEPH](https://www.imcce.fr/recherche/equipes/asd/calceph/) C library, by - setting `CALCEPH_SUPPORT = 1` in `config.mk` or in the shell prior to the build. When enabled it will build - `libsolsys-calceph.so[.1]` and/or `.a` supplemental libraries, depending on the build target. The build of the - modules requires an accessible installation of the CALCEPH development files (C headers and unversioned static or - shared libraries depending on the needs of the build). + setting `CALCEPH_SUPPORT = 1` in `config.mk` or in the shell prior to the build. The build will require an + accessible installation of the CALCEPH development files (C headers and unversioned static or shared libraries + depending on the needs of the build). - You can enable integration with the [NAIF CSPICE Toolkit](https://naif.jpl.nasa.gov/naif/toolkit.html), by setting - `CSPICE_SUPPORT = 1` in `config.mk` or in the shell prior to the build. When enabled it will build - `libsolsys-cspice.so[.1]` and/or `.a` supplemental libraries, depending on the build target. The build of the - modules requires an accessible installation of the CSPICE development files (C headers, under a `cspice/` - sub-folder in the header search path, and unversioned static or shared libraries depending on the needs of the - build). You might want to check out the [Smithsonian/cspice-sharedlib](https://github.com/Smithsonian/cspice-sharedlib) - repository for building CSPICE as a shared library. + `CSPICE_SUPPORT = 1` in `config.mk` or in the shell prior to the build. The build will require an accessible + installation of the CSPICE development files (C headers, under a `cspice/` sub-folder in the header search path, + and unversioned static or shared libraries depending on the needs of the build). You might want to check out the + [Smithsonian/cspice-sharedlib](https://github.com/Smithsonian/cspice-sharedlib) repository for building CSPICE as a + shared library. - Choose which stock planetary calculator module (if any) should provide a default `solarsystem()` implementation for `ephemeris()` calls by setting `DEFAULT_SOLSYS` to 1 -- 3 for `solsys1.c` trough `solsys3.c`, respectively. If you @@ -210,14 +208,14 @@ the necessary variables in the shell prior to invoking `make`. For example: - You may also specify the source file that will provide a `readeph()` implementation, by setting `DEFAULT_READEPH`. (The default setting uses the dummy `readeph0.c` which simply returns an error). Note, that a `readeph()` - implementation is a relic of NOVAS C and not always necessary. You can provide a superior ephemeris reader + implementation is a relic of NOVAS C and not generally needed. You can provide a superior ephemeris reader implementation at runtime via the `set_ephem_provider()` call or equivalent (e.g. `novas_use_calceph()` or `novas_use_cspice()`, if they are available). - - If you want to use the CIO locator binary file for `cio_location()`, you can specify the path to the CIO locator - file (e.g. `/usr/local/share/supernovas/CIO_RA.TXT`) on your system e.g. by setting the `CIO_LOCATOR_FILE` shell - variable prior to calling `make`. (The CIO locator file is not necessary for the functioning of the library, - unless you specifically require CIO positions relative to GCRS.) + - If you want to use a CIO locator file for `cio_location()`, you can specify the path to the CIO locator file (e.g. + `/usr/local/share/supernovas/CIO_RA.TXT`) on your system e.g. by setting the `CIO_LOCATOR_FILE` shell variable + prior to calling `make`. (The CIO locator file is not necessary for the functioning of the library, unless you + specifically require CIO positions relative to GCRS.) - If your compiler does not support the C11 standard and it is not GCC >=3.3, but provides some non-standard support for declaring thread-local variables, you may want to pass the keyword to use to declare variables as @@ -249,7 +247,7 @@ instead, you can: $ sudo make prefix="/opt" install ``` -Or, to stage the installation under a 'build root' first: +Or, to stage the installation (to `/usr`) under a 'build root': ```bash $ make DESTDIR="/tmp/stage" install @@ -379,6 +377,10 @@ In NOVAS, the barycentric BCRS and the geocentric GCRS systems are effectively s positions and for velocities, in any reference system, is determined by the `observer` location in the vicinity of Earth (at the geocenter, on the surface, or in Earth orbit). +| ![SuperNOVAS coordinate systems and conversions](https://github.com/Smithsonian/SuperNOVAS/tree/main/resources/SuperNOVAS-systems.png) | +|:--:| +| __Figure 1.__ *SuperNOVAS Coordinate Systems and Conversions*. Bold face routines and shaded boxes indicate systems and functions available in NOVAS C also. All other systems and functions are available in SuperNOVAS only. | + SuperNOVAS __v1.1__ has introduced a new, more intuitive, more elegant, and more efficient approach for calculating astrometric positions of celestial objects. The guide below is geared towards this new method. However, the original NOVAS C approach remains viable also (albeit often less efficient). You may find an equivalent example usage diff --git a/resources/SuperNOVAS-systems.dia b/resources/SuperNOVAS-systems.dia new file mode 100644 index 00000000..26b9a7ca Binary files /dev/null and b/resources/SuperNOVAS-systems.dia differ diff --git a/resources/SuperNOVAS-systems.png b/resources/SuperNOVAS-systems.png new file mode 100644 index 00000000..205d561a Binary files /dev/null and b/resources/SuperNOVAS-systems.png differ