v1.4.0 #195
Closed
attipaci
announced in
Announcements
v1.4.0
#195
Replies: 1 comment
-
|
1.4.0 is now available for RPM-based Linux distros also. See https://packages.fedoraproject.org/pkgs/supernovas/. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Feature release, with critical bug fixes.
Fixed
CRITICAL
novas_make_transform()bug #188: Critical bug innovas_make_transform()since inception in v1.1. Compound transforms were calculated using matrix products in the wrong commutation order (successive transforms were multiplied from the right instead of from the left). Very embarrasing indeed, and somehow it went unnoticed with the testing suite also (even more embarrassing...).Incomplete legacy polar wobble correction #183: IERS Earth orientation corrections set via
cel_pole()were not taken into account for true obliquity and the equation of equinoxes ine_tilt(). This was a bug since v1.0. The bug only affected the old (pre IAU 2006) ways of incorporating polar offsets into TOD coordinates, at the sub-arcsec level. Note, than even with the old method, it is now preferrable to apply such offsets withwobble()for the PEF / TIRS to ITRS (and reverse) conversions instead.Missing wobble corrections in frame-based calculations #184: The frame based approach introduced in v1.1 has ommitted applying polar wobble corrections for transforming between the TIRS) / PEF and ITRS, and vice versa. This resulted in an error at the sub-arcsec level for celestial to ITRS / horizontal (or reverse) calculations, when IERS Earth orientation parameters were explicitly set.
cel2ter()/ter2cel()wobble corrections for xp=yp=0 #187: The NOVAS C 3.1 implementation ofcel2ter()/ter2cel()was such that if bothxpandypparameters were zero, then no wobble correction was applied, not even for the TIO location (s') when converting between CIRS and ITRS. The error from this omission is very small, at just a few μas (micro-acrseconds) within a couple of centuries of J2000.Tiny
wobble()error in TIRS / PEF -> ITRS conversion #190: Reversewobble()(ITRS to TIRS/PEF) had wrong 2nd order corrections, resulting in negligible errors below 0.1 μas (micro-arcseconds) typically.Use full struct names when embedding for C++ namespace. #193: C++ namespace conflict in
novas_framedeclaration. Fixed by declaring and using named structure types instead of the conflictingtypedefaliases.Added
Add novas_time_gst() / novas_time_lst() convenience functions #172: Added
novas_time_gst()andnovas_time_lst()convenience functions to calculate the Greenwich (apparent) Sidereal Time (GST / GaST) and Local (apparent) Sidereal Time (LST / LaST) for a given astrometric time (and observer location) more easily.Add IAU/SOFA refraction model implementation #173: Added our own implementation of the wavelength-dependent IAU refraction model as
novas_wave_refraction(), which is based on the SOFAiauRefco()function. The wavelength for which the refraction is calculated can be set bynovas_refract_wavelength(). By default 550 nm (0.55 μm) is assumed.Add approximate orbital models for major planets, EMB, and Moon. #176:
novas_make_planet_orbit()to generate Keplerian orbital elements for the major planets (sans Earth), and the Earth-Moon Barycenter (EMB), based on Standish & Williams 1992. In most cases such orbitals can provide arcmin-level precisions, especially for current dates.Add approximate orbital models for major planets, EMB, and Moon. #176:
novas_make_moon_orbit()to generate geocentric Keplerian orbital elements for the Moon using the Chapront et al. 2002 model.Add approximate orbital models for major planets, EMB, and Moon. #176:
novas_approx_heliocentric()andnovas_approx_sky_pos()to calculate approximate heliocentric ICRS and observable apparent positions, respectively, for the major planets (including Earth), and Moon and the Earth-Moon Barycenter, using the orbital models mentioned above.Add approximate orbital models for major planets, EMB, and Moon. #176:
novas_moon_phase()andnovas_next_moon_phase()to calculate the Moon's apparent phase or the date/time when it reaches a specific phase, respectively, using the Keplerian orbitals for the E-M Barycenter by Standish & Williams 1992, and the geocentric orbitals of the Moon by Chapront et al. 2002.Add approximate orbital models for major planets, EMB, and Moon. #176:
novas_orbital_native_posvel()to calculate orbital positions in the native system, in which the orbital is defined (e.g. ecliptic coordinates for planetary orbits).Add novas_day_of_week() and novas_day_of_year() functions. #177: Added
novas_day_of_week()andnovas_day_of_year()functions to convert JD dates to a 1-based day of week index, or to a day of the year in the calendar of choice.Add NOVAS_TIRS and NOVAS_ITRS to enum novas_reference_system #185: Added
NOVAS_TIRSandNOVAS_ITRStoenum novas_reference_systems. All frame-based functions now support these. Legacyplace()and its variants support TIRS but not ITRS (because of the lack of information available to the legacy calls), while Keplerian orbitals may not be be defined in either TIRS or ITRS since these Earth co-rotating systems are not inertial systems.New
enum novas_refraction_modelvalues. #186: AddedNOVAS_RADIO_REFRACTIONandNOVAS_WAVE_REFRACTIONtoenum novas_refraction_model, for referencing the Berman & Rockwell 1976 radio-wave model, or the IAU / SOFA wavelength-dependent model, respectively.Add
tt2tdb_hp()andtt2tdb_fp()functions #191: Addedtt2tdb_hp()(high-precision) andtt2tdb_fp()(flexible-precision) functions for calculating the TDB-TT time difference (in seconds), with up to 0.1 μs accuracy based on Fairhead & Bretagnon 1990.Comparison example to astropy #194: Added documentation under
resources/for a side-by-side example comparison with astropy.Changed
Add IAU/SOFA refraction model implementation #173: Added parameter range checking to
refract()function andnovas_radio_refraction()model. If called with weather parameters or an elevation angle outside of reasonable values,NaNwill be returned anderrnowill be set toEINVAL.IAU2006 nutation update #181: Changed
nutation_angles()to apply P03 model rescaling to IAU2000 nutation angles to provide 'IAU2006' values (see Capitaine et al. 2005). The same rescaling has been adopted by SOFA also.New
enum novas_refraction_modelvalues. #186: Tweaked error handling in atmospheric refraction functions (inrefract.c).NOVAS_RMASS_INIT(innovas.h) and LG (intimescale.c) values updated with DE440 data (Park et al. 2021).Moved some functions around between source files.
Deprecated
cel_pole()function andEPS_COR/PSI_CORglobal variables, which provided support for the old (now disfavored) way of incorporating Earth orientation parameters as corrections into the true equator and equinox of date. The preferred way to incorpotate Earth orientation corrections is to use dx,dy offsets relative to the IAU2006 precession-nutation model only when transforming between the Terrestrial Intermediate Reference System (TIRS) or Pseudo Earth-Fixed (PEF) system and the International Terrestrial Reference System (ITRS), and vice versa.This discussion was created from the release v1.4.0.
Beta Was this translation helpful? Give feedback.
All reactions