v1.2.0-rc5 #104
attipaci
announced in
Announcements
v1.2.0-rc5
#104
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Fixed
Fixes to GCC version checking for macros.
Fixed dummy
readeph()
implementation inreadeph0.c
, and the use ofDEFAULT_READEPH
inconfig.mk
.readeph0.c
is not linked by default, and was not linked in prior releases either.Added
Redshifted motion handling #57: New generic redshift-handling functions
novas_v2z()
,novas_z2v()
.Redshifted motion handling #57, Add make_redshifted_cat_entry() function #102: New
make_redshifted_cat_entry()
andmake_redshifted_object()
to simplify the creation of distant catalog sources that are characterized with a redshift measure rather than a radial velocity value.Redshift utilities #58: New functions to calculate and apply additional gravitational redshift corrections for light that originates near massive gravitating bodies (other than major planets, or Sun or Moon), or for observers located near massive gravitating bodies (other than the Sun and Earth). The added functions are
grav_redshift()
,redhift_vrad()
,unredshift_vrad()
,novas_z_add()
, andnovas_z_inv()
.Add support for CALCEPH #83: CALCEPH integration:
novas_use_calceph()
and/ornovas_use_calceph_planets()
to specify and use ephemeris data via CALCEPH for Solar-system sources in general, and for major planets specifically; andnovas_calceph_use_ids()
to specify whetherobject.number
inNOVAS_EPHEM_OBJECT
type objects is a NAIF ID (default) or else a CALCEPH ID number of the Solar-system body. These functions are provided by thelibsolsys-calceph.so[.1]
and/or.a
plugin libraries, which are built contingent on theCALCEPH_SUPPORT
variable being set to 1 prior to the build. The build of the plugin module requires an accessible installation of the CALCEPH development files (C headers and unversioned static or shared libraries depending on the needs of the build).Add support for NAIF CSPICE #86: NAIF CSPICE integration:
novas_use_cspice()
,novas_use_cspice_planets()
,novas_use_cspice_ephem()
to use the NAIF CSPICE library for all Solar-system sources, major planets only, or for other bodies only.NOVAS_EPHEM_OBJECTS
should use NAIF IDs with CSPICE (or else -1 for name-based lookup). Also providescspice_add_kernel()
andcspice_remove_kernel()
functions for convenience to manage the set of active kernels (Further CSPICE support, improved error handling #89). These functions are provided by thelibsolsys-cspice.so[.1]
and/or.a
plugin libraries, which are built contingent on theCSPICE_SUPPORT
variable being set to 1 prior to the build. The build of the plugin module requires an accessible installation of the CSPICE development files (C headers and unversioned static or shared libraries depending on the needs of the build).Add novas_planet_for_name() #87: Added
novas_planet_for_name()
function to return the NOVAS planet ID for a given (case insensitive) name.NOVAS-NAIF conversions for major planets (and Sun, Moon, SSB):
novas_to_naif_planet()
(planet centers),novas_to_dexxx_planet()
(mixed planet center/barycenter for DExxx ephemeris files), and the inversenaif_to_novas_planet()
.Added
get_planet_provider()
andget_planet_provider_hp()
functions for convenience to return thesolarsystem()
/solarsystem_hp()
type custom planet ephemeris provider functions currently configured, so they may be used directly, outside ofephemeris()
calls.Add make install target #93: Now supporting
make install
withprefix
andDESTDIR
support (e.g.make prefix="/opt" install
to install under/opt
, and/ormake DESTDIR="/tmp/stage" install
to stage install under/tmp/stage
). You can also set other standard directory variables, as prescribed by the GNU standard to further customize the install locations.Add orbital elements processing #95, Orbitals continued #98: Added support for using orbital elements.
object.type
can now be set toNOVAS_ORBITAL_OBJECT
, whose orbit can be defined by the set ofnovas_orbital
, relative to anovas_orbital_system
. You can initialize anobject
with a set of orbital elements usingmake_orbital_object()
, and for planetary satellite orbits you might usenovas_set_orbsys_pole()
. For orbital objects,ephemeris()
will call on the newnovas_orbit_posvel()
to calculate positions. While orbital elements do not always yield precise positions, they can for shorter periods, provided that the orbital elements are up-to-date. For example, the Minor Planer Center (MPC) publishes accurate orbital elements for all known asteroids and comets regularly. For newly discovered objects, this may be the only and/or most accurate information available anywhere.EMB and Pluto Barycenter #97: Added
NOVAS_EMB
(Earth-Moon Barycenter) andNOVAS_PLUTO_BARYCENTER
toenum novas_planets
to distinguish from the planet center in calculations.Orbitals continued #98: Added
gcrs_to_tod()
/tod_to_gcrs()
andgcrs_to_mod()
/mod_to_gcrs()
vector conversion functions for convenience.Added various
object
initializer macros innovas.h
for the major planets, Sun, Moon, and barycenters, e.g.NOVAS_EARTH_INIT
orNOVAS_SSB_INIT
. These wrap the parametricNOVAS_PLANET_INIT(num, name)
macro, and can be used to simplify the initialization of NOVASobject
s.Added more physical unit constants to
novas.h
and a corresponding section in the README on how these may be used to convert to/from NOVAS conventional quantities.SuperNOVAS headers now include each other as system-headers, not local headers. This is unlikely to affect anything really but it is more proper for an installation of the library, and works with our own
Makefile
too.Added 'Coordinate Systems and Conversions' flowchart to
README
.Added a GNU standard documentation targets to
Makefile
.Added
infer
make target for running Facebook'sinfer
static analysis tool.Added missing error tracing in
nutation()
.Added
README.md
Figure 1, to clarify relation of coordinate systems and (Super)NOVAS function to convert vectors among them.Changed
Orbital elements based calculations #96: Changed
object
structure to includenovas_orbital
forNOVAS_ORBITAL_OBJECT
types. To keep ABI compatibility to earlier SuperNOVAS releases,make_object()
will not initialize the new.orbit
field unlesstype
is set toNOVAS_ORBITAL_OBJECT
(which was not available before).EMB and Pluto Barycenter #97: Updated
NOVAS_PLANETS
,NOVAS_PLANET_NAMES_INIT
, andNOVAS_RMASS_INIT
macros to include the added planet constants.make check
now runs both static analysis by cppcheck (newanalysis
target) and regression tests (test
target), in closer conformance to GNU Makefile standards.Added
-g
to defaultCFLAGS
as a matter of GNU best practice.Static library is now named
ibsupernovas.a
, which is symlinked tolibnovas.a
for back compatibility.readeph0.c
moved toexamples/
. It's a dummy legacy NOVAS C implementation that is not really needed in SuperNOVAS.Various small tweaks to Makefiles.
Updated
README.md
documentation.This discussion was created from the release v1.2.0-rc5.
Beta Was this translation helpful? Give feedback.
All reactions