Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 14 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [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 respository, and now automatically download on
first use.

## [v1.0.8]

Expand All @@ -24,7 +34,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
kernel. This section has been re-added to the WISE kernel, which should now contain
all phases of operation with the best orbit knowledge available.


## [v1.0.7]

### Added
Expand All @@ -42,7 +51,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- WGS84 conversion between ECEF and Lat/Lon/Alt was missing a square-root causing a
small offset (typically 10s to 100s of meters). This has been fixed.


## [v1.0.6]

### Added
Expand All @@ -64,7 +72,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated the WISE spice kernels, which improves accuracy significantly for the final 2
years of WISE/NEOWISE.


## [v1.0.5]

### Added
Expand All @@ -84,7 +91,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed a text case-sensitivity but on Horizons parameter parsing.
- Thermal model example had function arguments out of order.


## [v1.0.4]

### Added
Expand All @@ -102,7 +108,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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]

### Added
Expand Down Expand Up @@ -133,7 +138,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
equivalent variations of latitude/longitude conversions. Nothing in the Python was
impacted.


## [v1.0.2]

### Added
Expand All @@ -157,7 +161,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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]

### Added
Expand Down Expand Up @@ -201,7 +204,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Removed `plot_frame` from ZTF, as a better version of this is available in kete.irsa.
- Removed `cache_WISE_frame` and `fetch_WISE_frame` deprecated functions in WISE.


## [0.3.0] - 2024 - 8 - 28

### Added
Expand All @@ -223,7 +225,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed incompatibility with older versions of the rust compiler, working back to
at least v1.75.0


## [0.2.5] - 2024 - 8 - 12

### Added
Expand Down Expand Up @@ -258,14 +259,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- `cached_zip_download` was deprecated, this was automatically unzipping folders.


## [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.
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.
Expand Down Expand Up @@ -311,7 +311,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
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.


## [0.2.3] - 2024 - 6 - 12

### Added
Expand Down Expand Up @@ -339,7 +338,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Astropy will no longer warning about deprecated WCS header values for NEOWISE images.


## [0.2.2] - 2024 - 5 - 20

### Added
Expand Down Expand Up @@ -372,8 +370,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
level of the package.
- Removed PDS related tools.


## [0.2.1] - 2024 - 5 - 13
## [0.2.1] - 2024 - 5 - 13

### Added

Expand All @@ -394,18 +391,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Removed main belt construction tools, out of scope and not accurate enough.
- Removed redundant MPC name resolver function.


## [0.2.0] - 2024-3-16
## [0.2.0] - 2024-3-16

Initial Release

- Initial version release of kete!
- kete's primary goal is to enable simulations of NEOs, however it also supports any
- kete's primary goal is to enable simulations of NEOs, however it also supports any
asteroid or comet. Included are n-body orbit propagation tools, thermal and optical
modeling, tools for computing what minor planets can be seen by an observer.
Along with many helpful interfaces to web tools such as JPL Horizons or IPAC's IRSA.


[Unreleased]: https://github.com/IPAC-SW/kete/tree/main
[1.0.7]: https://github.com/IPAC-SW/kete/releases/tag/v1.0.7
[1.0.6]: https://github.com/IPAC-SW/kete/releases/tag/v1.0.6
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@

[package]
name = "_core"
version = "1.0.7"
version = "1.1.0"
edition = "2021"
readme = "README.md"
license = "BSD-3-Clause"
keywords = ["physics", "simulation", "astronomy"]

[dependencies]
kete_core = { version = "*", path = "src/kete_core", features=["pyo3", "polars"]}
pyo3 = { version = "^0.23.4", features = ["extension-module"] }
pyo3 = { version = "^0.24.1", features = ["extension-module"] }
serde = { version = "^1.0.203", features = ["derive"] }
nalgebra = {version = "^0.33.0"}
itertools = "^0.14.0"
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Kete

![Github Actions](https://github.com/IPAC-SW/kete/actions/workflows/test-lint.yml/badge.svg?branch=main)
![Github Actions](https://github.com/Caltech-IPAC/kete/actions/workflows/test-lint.yml/badge.svg?branch=main)
[![DOI](https://zenodo.org/badge/787588564.svg)](https://zenodo.org/badge/latestdoi/787588564)

The repository for Kete, Solar System Survey Simulation Software.
Expand All @@ -9,8 +9,10 @@ for Cetaceans (Whales).

## Note:

Original maintainer (Dar Dahlen) is beginning a PhD and will no longer be performing
maintenance, as he is no longer affiliated with CalTech.
The original version of this repo was developed at Caltech IPAC. This is a fork of that repo
where the work will continue as a personal project. Work done while at IPAC is of course owned
by Caltech, but all future work will have well marked as owned by Dar Dahlen & future contributors.
License will remain as BSD-3 Clause to simplify things.

## Introduction

Expand Down
76 changes: 39 additions & 37 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,73 +1,75 @@
[project]
name = "kete"
version = "1.0.8"
version = "1.1.0"
description = "Kete Asteroid Survey Tools"
readme = "README.md"
authors = [{name = "Dar Dahlen", email = "ddahlen@ipac.caltech.edu"},
{name = "Joe Masiero", email = "jmasiero@ipac.caltech.edu"},
]
license = {text = "BSD"}
authors = [
{ name = "Dar Dahlen", email = "ddahlen@ipac.caltech.edu" },
{ name = "Joe Masiero", email = "jmasiero@ipac.caltech.edu" },
]
license = { text = "BSD" }
requires-python = ">=3.9"
classifiers=["Programming Language :: Python :: 3"]
dependencies = ["astropy>=5.3.4",
"matplotlib",
"matplotlib-label-lines",
"numpy>=1.24",
"pandas",
"requests",
"scipy",
]
classifiers = ["Programming Language :: Python :: 3"]
dependencies = [
"astropy>=5.3.4",
"matplotlib",
"matplotlib-label-lines",
"numpy>=1.24",
"pandas",
"requests",
"scipy",
]

[project.urls]
homepage = "https://github.com/IPAC-SW/kete"
homepage = "https://github.com/Caltech-IPAC/kete"

[build-system]
requires = ["maturin>=1.0",
"wheel",
]
requires = ["maturin>=1.0", "wheel"]
build-backend = "maturin"

[tool.maturin]
python-source = "src"
module-name = "kete._core"

[project.optional-dependencies]
dev = ["black>=23.1.0",
"pytest",
"pytest-cov",
"sphinx",
"autodoc",
"sphinx-gallery",
"mypy",
"types-requests",
"sphinx_rtd_theme",
dev = [
"black>=23.1.0",
"pytest",
"pytest-cov",
"sphinx",
"autodoc",
"sphinx-gallery",
"mypy",
"types-requests",
"sphinx_rtd_theme",
"click",
]
docs = ["sphinx",
]
docs = [
"sphinx",
"autodoc",
"sphinx-gallery",
"sphinx_rtd_theme",
"click",
"pytz",
]
]

# Options for pytest
[tool.pytest.ini_options]
testpaths = ["src/tests"]
markers = [
"horizons: run JPL Horizons tests, requires an internet connection.",
]
markers = ["horizons: run JPL Horizons tests, requires an internet connection."]
# filterwarnings = "error"

# Options for the coverage report.
[tool.coverage.run]
omit = ["*/kete/mpc.py",
omit = [
"*/kete/mpc.py",
"*/kete/irsa.py",
"*/kete/wise.py",
"*/kete/ztf.py",
"*/kete/horizons.py",
"*/kete/data/*",
"*/examples/*",]
"*/examples/*",
]

# See https://github.com/psf/black/blob/main/pyproject.toml for more details
[tool.black]
Expand All @@ -83,8 +85,8 @@ exclude = '''
'''

[tool.pylint.imports]
ignored-modules=["_core", "kete._core"]
ignored-modules = ["_core", "kete._core"]

[tool.mypy]
plugins = "numpy.typing.mypy_plugin"
ignore_missing_imports = true
ignore_missing_imports = true
17 changes: 11 additions & 6 deletions src/examples/plot_comet.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,6 @@ def plot_syndyne(wcs, state, fov, beta, back_days=90, day_step=1, **kwargs):
shape = wcs.array_shape
pix = []
for x, y in zip(*wcs.world_to_pixel_values(ras, decs)):
if not np.isfinite(x) or not np.isfinite(y):
continue
pix.append([x, y])
plt.xlim(0, shape[0])
plt.ylim(0, shape[1])
Expand Down Expand Up @@ -161,8 +159,6 @@ def plot_synchrone(
shape = wcs.array_shape
pix = []
for x, y in zip(*wcs.world_to_pixel_values(ras, decs)):
if not np.isfinite(x) or not np.isfinite(y):
continue
pix.append([x, y])
plt.xlim(0, shape[0])
plt.ylim(0, shape[1])
Expand Down Expand Up @@ -203,7 +199,16 @@ def plot_synchrone(
# plot synchrones
for days in [-10, -15, -20, -25]:
plot_synchrone(
wcs, vis[0], fov, days, 0.1, ls="--", c=(0, 0.5, 1), lw=0.6, label=str(days)
wcs,
vis[0],
fov,
days,
0.2,
ls="--",
c=(0, 0.5, 1),
lw=0.6,
label=str(days),
beta_steps=2000,
)
plot_synchrone(wcs, vis[0], fov, -5, 0.8, ls="--", c=(0, 0.5, 1), lw=0.6, label=-5)

Expand Down Expand Up @@ -251,7 +256,7 @@ def plot_synchrone(
label_pos = [line._x[idx], 0 - offset]
ha = "center"
va = "bottom"
elif edge == 3:
else:
label_pos = [line._x[idx], shape[0] + offset]
ha = "center"
va = "top"
Expand Down
Loading
Loading