Releases: dahlend/kete
v2.1.6
[v2.1.6]
Added
- Added a new numerical integrator based on Picard-Chebyshev integration. This
integrator has only been added to the rust backend at this point, until more
testing can be done and it be made available on the frontend. - Saving
SimultaneousStatesto parquet files can now optionally include a column
containing the TDB JD of when the state information was last updated. This allows
users to selectively update state vectors only when necessary. - Added multi-core propagation support to rust backend.
- Added
kete_statsas a new rust crate, moving some of the fitting and statistics
tools that have been in kete into their own crate. This is in support for some
upcoming changes, and is being used as a test case for breaking up kete into smaller
crates for easier consumption in the rust ecosystem.
Changed
- Rewrite of NEATM and FRM internal models, remove support for saving files related
to thermal and optical models. - Throughout the rust code,
Timeis being enforced as inputs for functions instead
of acceptingf64in a large number of places. - Updated SPHEREx SPICE kernel to include orbit through Dec 10, 2025.
Fixed
- Fixed epoch times in PCK Type 2 frames that were not being converted correctly.
- Fixed bug in the non-gravitational model constructor for dust, where the default
value for converting from diameter to beta values was missing a 1e-3. This only
impacted when dust models were constructed using the diameter input.
v2.1.5
v.2.1.4
v2.1.3
[v2.1.3]
Added
- Added support for MPC Extended Packed Provisional designations.
- Added plotting tool for annotating orbits on a fits file.
Changed
kete.spice.get_statenow accepts MPC Observatory codes as well.- WISE SPICE kernel download location moved.
Fixed
- Plotting no longer rescales the image in place.
- Plotting now works with integer valued data.
- Plotting correctly displays the names of the coordinate frame used.
v2.1.2
[v2.1.2]
Added
- Added GAIA TAP server to kete's TAP functionality.
- Added phase correction model for comet dust.
Fixed
- Next solar noon calculation fixed to always be the future noon.
Changes
- Loading WISE FoVs optimized, at least 5x faster for already downloaded data.
v2.1.1
v2.1.0
[v2.1.0]
Added
- Added support for SPHEREx public data, this includes a custom constructed SPICE
kernel. - Added support for computing sunrise and sunset times at any location on Earth.
- Added support for approximate earth location computation, to enable precovery work
on frames from before 1972.
Changed
- Moved name lookups for SPICE and Observatory codes to the rust backend. This speeds
up lookup of states in python by about a factor of 2. - Renamed
wgs_84.rstoearth.rsand moved Earth related computations into it.
Fixed
HorizonsPropertiessampling and queries to horizons is more robust to unexpected
responses from the Horizons service.
v2.0.0
[v2.0.0]
This version introduces significant rewrites to the rust core of kete.
Includes complete rewrite of the internal representation of coordinate frames, a new
internal rust class for Vectors, and how SPICE files are parsed.
Unfortunately the above changes break any binary saved files which were previously
saved by kete. Files can still be saved as binary, but the formats with the old version
are not compatible any more.
Also included in this version are quality of life changes, for example state vectors
now expose all of the underlying orbital elements directly. Queries to services such
as IRSA are now cached by default and will recover if the same query is submitted.
Added
- Added support for PTF fields of view for all public data. PTF operated from 2009 to
2018, however data is only publicly available through early 2015. - Generalized TAP queries to support queries to the Canadian Astronomy Data Centre
(CADC). - Added initial support for SPICE SCLK text kernels, allowing the conversion of
spacecraft formatted time strings tokete.Timeobjects. Conversion matches cSPICE
to near numerical precision limits. - Added initial support for SPICE CK binary kernels, allowing conversion of instrument
coordinate frames to equatorial frame and back. - Exposed orbital element values on Python State objects, instead of having to convert
the state first to anCometaryElementsobject.
Changed
- Saving files to any binary format will no longer be guaranteed to be compatible in
future versions. If a file is saved by a particular version of kete, it may only be
compatible for that version. - Restructured frames of reference throughout the core rust code. This is a significant
breaking change, which introduces new objects into the kete_core code. The biggest
changes are that frames of reference are now individual classes which implement a new
traitsInertialFrameandNonInertialFrame, and removes the previous Enum for
frames. As a result of this, there is a new classVector<T>which has been added as
well, which must be of typeInertialFrame. Numerous places throughout the code now
use theseVectorclasses, which guarantees the reference frames are preserved
without manually performing a check for matching frames.Statenow use reference
frames as well, andSimultaneousStatesandFOVobjects now all use
State<Equatorial>as the base representation of the states of the objects. - Significant rewrite of reading SPICE files, there are now wrapper view types to the
for SPK and PCK. - Field of Views as downloaded from IRSA are now saved as parquet files. This enables
them to be backward compatible if there are future changes to FOV, States, or Vector
definitions. This is a breaking change for previously downloaded FOV files, and these
may be deleted. - Moved plotting tools out of
kete.irsaintokete.plot. - Generalized
kete.irsatools tokete.tap, and added cached query support. Queries
to any TAP service are now cached by default, and re-running the query will restore
the existing results by default. - Moved
kete.mpc.table_to_statesintokete.conversion.table_to_states. - Renamed
kete.wise.fetch_wise_fovstokete.wise.fetch_fovs. - Renamed
kete.ztf.fetch_ztf_fovstokete.ztf.fetch_fovs. - Moved RA/DEC string parsing to rust backend.
- Many functions in python now support passing one or a list of objects, for example,
kete.propagate_n_bodycan now be passed single or multiple states, and will return
the correct type back. - Parsing and packing of MPC Designations was re-written and moved out of Python.
- Reduced threshold for hyperbolic orbits to
|ecc - 1| < 1e-4from1e-3. - Improved accuracy for Apophis example by included non-gravitational forces.
Fixed
- Fixed support for
MPCObservationparsing of MPC files, this regression was
due to upstream changes at the MPC in their formats. - Parsing some non-gravitational forces from JPL Horizons was not correctly resolving
parameter names, this is now fixed.
v1.1.0
[v1.1.0]
Announcement: Author of Kete (Dar Dahlen) has left IPAC Caltech to begin a PhD at
TU Braunschweig in Germany. Kete has been forked from the public copy maintained by
Caltech, and future development of this fork will occur as a personal project.
Changed
- SPICE kernels were removed for the repository, and now automatically download on
first use.