Skip to content

v0.2.4

Compare
Choose a tag to compare
@dahlend dahlend released this 15 Jul 15:51
· 76 commits to main since this release
c02b0e3

[0.2.4] - 2024 - 7 - 15

Added

  • Add J2 non-spherical terms for the gravitational models of Earth and Jupiter.
  • Add non-gravitational force model for dust particles which includes the
    Poynting-Roberterson effect.
  • Added Time.year_float which converts the Time object to the Year as a float.
  • Added SimultaneousState.obs_vecs which creates vectors from the observer to the
    objects contained within the state.
  • Added NEATM tutorial which gives an overview of NEATM along with a small example.

Changed

  • Optimized SPICE kernel loading for Type 2 records, which is what DE440 is saved as.
    This means effectively all n-body propagation is now 15-20% faster than before.
  • Removed SpiceKernel as a class, lowering all its methods to the submodule level,
    see #68 for more discussion.
  • Removed Time object which was a wrapper over astropy.Time, instead making a
    custom implementation of time which is ~3-400x faster than previous.
  • Improved orbital element conversion, leading to a 2-3x speedup in two body orbit
    propagation.
  • Significant rewrite of the SPICE kernel file management, this rewrite is required
    so that future work can enable writing SPICE kernel files.
  • Moved the downloading of Horizons spice kernels from SpiceKernel to horizons.
  • Renamed all field of view checking functions to similar names: fov_static_check,
    fov_state_check, and fov_spice_check. These functions are exposed at the base
    level of neospy.
  • Moved much of the python documentation into the rust wrappers, and removed the
    remaining empty python files. Part of the rewrite involved moving and renaming many
    functions.
  • Updated nalgebra to minimum version ^0.33.0, which uses a simplified allocator.
  • Fixed minimum versions for all rust libraries.

Fixed

  • Orbital Elements now correctly computes true_anomaly, mean_anomaly,
    eccentric_anomaly, semi_major_axis, and mean_motion for parabolic and
    hyperbolic orbits.
  • Two body propagation for parabolic orbits was incorrect.
  • Typo in Observability example was leading to an incorrect Magnitude value.
  • Astropy WCS warnings are now suppressed.
  • SpiceKernels.moon_illuminated_frac now agrees with JPL Horizons, this was doing a
    geometric calculation which was correct, but with a different interpretation than
    desired.

Removed

  • Removed support for SPK Files of type 3, these should be a trivial change from type 2
    however I do not have access to a file of type 3 for testing. Because it cannot be
    validated at the moment, the code has been removed.