Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.9 #1

Merged
merged 83 commits into from
Feb 18, 2024
Merged

v0.9 #1

merged 83 commits into from
Feb 18, 2024

Conversation

attipaci
Copy link
Collaborator

@attipaci attipaci commented Jan 31, 2024

Initial SuperNOVAS implementation:

Bugs fixed:

  • sidereal_time bug
  • ephem_close bug
  • antedating velocities and distances for light travel time in ephemeris()
  • bug in ira_equinox() which may return the result for the wrong type of equinox if the the 'equinox' argument was changing from 1 to 0, and back to 1 again with the date being the same.
  • accuracy bug in cio_basis(), cio_location(), ecl2equ_vec(), equ2ecl_vec(), geo_posvel(), place(), and sidereal_time(), which could return a cached value for the other accuracy if the other input parameters are the same as a prior call with different accuracy.
  • Fix multiple bugs in using cached values in cio_basis() with alternating CIO location reference systems.
  • Fix bug in equ2ecl_vec() and ecl2equ_vec() whereby a query with coord_sys = 2 (GCRS) has overwritten the
    cached mean obliquity value for coord_sys = 0 (mean equinox of date). As a result, a subsequent call with
    coord_sys = 0 and the same date as before would return the results GCRS coordinates instead of the
    requested mean equinox of date coordinates.
  • wrong use of fmod() in solsys3.c, leading to incorrect calculation of the mean anomaly for date prior to J2000, hence incorrect positions for Sun and Earth.

Additions:

  • Makefile for libs (static and shared)
  • Converted API docs to doxygen and edited as appropriate.
  • Argument checking and improved error handling
  • Added structs and functions for more unified / simplified position calculations
  • Dynamically configurable solarsystem() and ephemeris_reader implementations.
  • Added several new functions

Changes:

  • Change method signatures to use enums
  • Use const modifiers for non-output pointer arguments
  • Allow some output pointers to be NULL if not needed by the caller.
  • Streamlined code -- both more readable and also faster in many places / cases.

@attipaci attipaci self-assigned this Jan 31, 2024
@attipaci attipaci added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Jan 31, 2024
@attipaci attipaci added this to the 0.9 milestone Jan 31, 2024
@attipaci attipaci merged commit fe7c088 into main Feb 18, 2024
4 checks passed
@attipaci attipaci deleted the v0.9 branch February 18, 2024 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant