Releases: Caltech-IPAC/kete
Releases · Caltech-IPAC/kete
v1.0.4
[v1.0.4]
Added
- Added support for saving and loading
SimultaneousStates
as Parquet files.
Changed
- Horizons orbit table query now includes, M1/2, K1/2, PC, and rotation period.
Fixed
- NEOS Chip size calculation was slightly incorrect with regard to the placement of the
gaps between the chips. - NEOS FOV rotation was being calculated in the ecliptic frame, whereas images will be
in the equatorial frame. Rotation is now defaulting to the equatorial frame.
v1.0.3
[v1.0.3]
Added
- Added support for loading orbit information from JPL Horizons.
- Added more complete testing for light delay computations in the various FOV checks.
- Added quality of life function to
SimultaneousState
for computing the RA/Dec along
with the projected on sky rates of motion.
Changed
- Changed the return signature for
fov_static_check
, this now returns indices of
the inputs, instead of the original inputs themselves.
Fixed
- Sampling of JPL Horizons orbit fits was slightly off, and appears to be fixed by
assuming that the epoch time of the covariance fits is in UTC. This assumption is
now included in the covariance matrix sampling. This is different than their other
data products. - Field of View checks for SPK checks was not returning the correct light delayed time,
it was returning the position/velocity at the observed position, but the time was
the instantaneous time.
Removed
- Removed several polar coordinate transformations in the rust backend which were all
equivalent variations of latitude/longitude conversions. Nothing in the Python was
impacted.
v1.0.2
This release is small bump primarily to add support for Python 3.13.
[v1.0.2]
Added
- Added Python 3.13 to the built packages.
- Added
sample
to theHorizonsProperties
object, allowing sampling of the orbit's
uncertainty. - Added support for time delayed non-gravitational forces, as is found a number of
comets in JPL Horizons.
v1.0.1
This is a minor release, it primarily adds python 3.9 to the prebuilt binaries.
[v1.0.1]
Added
- Added worked example of calculating if an object is an Earth Trojan.
- Add Earth obliquity calculation.
- Exposed WGS84 coordinate conversions in the python frontend.
Fixed
- Epoch and Perihelion time conversion when loading JPL Horizons covariance matrices was
not being done for UTC to TDB, leading to small residuals in covariance sampling.
v1.0.0
Initial Public Release!
Kete is a tool to predict observations of solar system objects. It is designed to allow simulations of years of all-sky surveys, though it can readily be used to predict the location of single objects over the course of a single night.
The documentation may be found here.
The changelog since the last release:
[v1.0.0]
Added
- Added final SPICE kernels for the WISE mission, it now contains all positions from
all phases of operation. There is a gap for the years it was not operating. - Updated WISE mission phases to reflect the final data products about to be released.
- Updated ZTF for the current release 22.
- Added
kete.RectangleFOV.from_wcs
, allowing the construction of a FOV from a given
Astropy WCS object. - Added
kete.conversion.bin_data
, which allows for binning matrix data such as images. - Added tutorial showing precovery of an asteroid from a 1950's glass plate observation
done at the Palomar Observatory. - Added sun-shield rotation calculation for NEO Surveyor.
- All FOV's now have the
.jd()
method which returns the JD of the observer state.
Changed
- Building FOVs from corners, now will flip the corner ordering if the final FOV is
pointing in the opposite direction of the input corners. This means Rectangle FOVs
cannot be defined from corners with on sky angles greater than 180 degrees.
Fixed
- Orbital elements calculations for True Anomaly and Eccentric Anomaly were numerically
unstable with nearly parabolic orbits. - Time scaling bugs when loading times from both Horizons and the MPC were fixed, these
were causing offsets of about a minute in the loaded states. However it was shifting
both the perihelion time and the epoch time by the same amount, leading to only minor
effective errors. - Fixed a time offset in the FOV's downloaded from IRSA WISE/NEOWISE. They were offset
by 4.4 seconds. - Fixed rotation approximation in WISE/NEOWISE field of views which was causing a small
percentage of objects to not be found during FOV checks when they were close to the
edge of the field. - Constant for the sqrt of GMS was incorrect by a small amount, this value was fixed.
- IRSA username/password options are now being passed through correctly in WISE.
Removed
- Removed
plot_frame
from ZTF, as a better version of this is available in kete.irsa. - Removed
cache_WISE_frame
andfetch_WISE_frame
deprecated functions in WISE.
v0.3.0
Renamed project to Kete.
[0.3.0] - 2024 - 8 - 28
Added
- Added an Omni-Directional Field of View.
- Added a "getting started" example.
Changed
- Renamed the project to Kete.
- Optimized the
moid
computation, improving performance by over 30x.
Fixed
- Field of View checks for states was optimized for multi-core processing on millions
of objects, leading to huge speed gains for large queries. - Fixed a bug where saving lists of SimultaneousStates had a bug where field of view
information was not being saved correctly. - Fixed incompatibility with older versions of the rust compiler, working back to
at least v1.75.0
v0.2.5
[0.2.5] - 2024 - 8 - 12
Added
- Added support for long term integrations, on the scale of less than a mega-year.
- Added clear deprecation tooling, which helps indicate how to update neospy when a
function's signature changes or is removed. - Added default plotting tools for fits files, which make decent scaling guesses for
ZTF and WISE frames. This includes annotation and zooming functions.
Changed
- Cached files are now zipped if possible after download.
- Cached WISE frames are sorted by folders by the last 2 digits of the scan id, this
helps when downloading thousands of frames. - Combined
fetch_WISE_frame
andcache_WISE_frame
functions intofetch_frame
. - Renamed
cached_gzip_json_download
todownload_json
. - Renamed
cached_file_download
todownload_file
. - Optimizations to SPICE kernel queries leading to a 20% speedup in orbit propagation,
along with >43% speedup in state queries from the spice kernels. Speedup from orbit
propagation comes directly from the spice kernel optimization. - Moved python wrappers over propagation into the rust backend entirely.
- Simplified polymorphic support in the rust wrappers, removing some intermediate
objects which were over-complicating the interface. - Refactored the computation of gravitational forces, improving maintainability.
Fixed
- Fixed documentation on Time which was not being displayed correctly in python.
Removed
cached_zip_download
was deprecated, this was automatically unzipping folders.
v0.2.4
[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 theTime
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
tohorizons
. - Renamed all field of view checking functions to similar names:
fov_static_check
,
fov_state_check
, andfov_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
, andmean_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.
v0.2.3
[0.2.3] - 2024 - 6 - 12
Added
- Added computation for Tisserand's Parameter.
- Added support for NEOS Visit FOVs, which are joint FOVs containing 4 rectangles.
- Added python interface to WISE Color Correction functions.
- Added support for querying static sky sources in FOVs.
- SpiceKernels can now load SPK files directly, without needing the files to be in the
cache. - SpiceKernels now supports displaying the contents of the headers of SPk/PCK files.
- SpiceKernels can now return the available loaded SPK segments of an object.
Changed
- Renamed "HorizonsCovariance" to "Covariance" and generalized it to support both
cometary and cartesian representations. - Made api more consistent for conversion to State objects by renaming all instances of
.as_state
to.state
. - Improved performance of integration and propagation by about 10%.
- Restructured the Rust FOVs to be organized by observatory.
- Renamed
SpiceKernels.cache_kernel_reload
tokernel_reload
and changed it's args.
Fixed
- Astropy will no longer warning about deprecated WCS header values for NEOWISE images.
v0.2.2
[0.2.2] - 2024 - 5 - 20
Added
- Added support for downloading ZTF full fields FOV information into the neospy cache.
- Added simple lookup for observatory ecliptic state using MPC observatory codes.
- Added 'Tutorials' to the documentation, these are larger worked examples which do not
build at the same time as the standard docs. They are designed to be examples which
take significant compute, and may run for many minutes. - Added Tutorials for 'KONA' and 'WISE Precovery'.
Changed
- Moved population definitions to the base level and renamed it
population
. - Changed references to diameters in the broken power law sampler.
- FOV propagation tests now return a flatten list of states.
- Renamed
data
tocache
to more accurately represent its function.
Fixed
- Coordinate frame conversion was resulting in incorrect coordinate positions when
passing Equatorial based frames to some FOV related functions. Specifically it was
failing to convert the Equatorial frame to Ecliptic frame before performing orbit
calculations.
Removed
- Removed construction of populations entirely.
- Removed folder for
population
, the remaining contents were moved up to the base
level of the package. - Removed PDS related tools.