Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into add_neos_visits
Browse files Browse the repository at this point in the history
  • Loading branch information
dahlend committed May 24, 2024
2 parents b10dbc3 + 9ed8191 commit a409724
Show file tree
Hide file tree
Showing 83 changed files with 1,414 additions and 1,373 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,24 +29,24 @@ jobs:
python3 -m pip install '.[dev]' -v
- name: Build Docs
run: |
(cd doc && make clean && make html && make doctest)
(cd docs && make clean && make html && make doctest)
- name: Fix permissions
run: |
chmod -c -R +rX "doc/" | while read line; do
chmod -c -R +rX "docs/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
# - name: Archive Docs
# uses: actions/upload-artifact@v2
# with:
# name: "github-pages"
# path:
# doc/html/*
# docs/html/*
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
name: "github-pages"
path:
doc/html/
docs/html/

deploy:
# Add a dependency to the build job
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ jobs:
platform_id: manylinux_x86_64
manylinux_image: manylinux2014

# MacOS x86_64
# MacOS - latest is now arm64, no longer x86_64
- os: macos-latest
python: 310
platform_id: macosx_x86_64
platform_id: macosx_arm64
- os: macos-latest
python: 311
platform_id: macosx_x86_64
platform_id: macosx_arm64
steps:
- uses: actions/checkout@v3
- name: Set up Rust
Expand Down
15 changes: 8 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,14 @@ target/*
*.lock

# Ignore built documents
doc/html
doc/doctrees
doc/auto_examples
doc/plot_directive
doc/doctest
doc/latex
doc/sg_execution_times.rst
docs/html
docs/doctrees
docs/auto_examples
docs/plot_directive
docs/doctest
docs/latex
docs/sg_execution_times.rst
docs/**/.ipynb_checkpoints
*.mod

# Ignored downloaded cached files
Expand Down
38 changes: 36 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,40 @@ 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).

## [Unreleased]

## [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` to `cache` 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.

## [0.2.1] - 2024 - 5 - 13

### Added

Expand Down Expand Up @@ -39,5 +72,6 @@ Initial Release
Along with many helpful interfaces to web tools such as JPL Horizons or IPAC's IRSA.


[Unreleased]: https://github.com/IPAC-SW/neospy/tree/main
[0.2.2]: https://github.com/IPAC-SW/neospy/tree/main
[0.2.1]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.1
[0.2.0]: https://github.com/IPAC-SW/neospy/releases/tag/v0.2.0
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

[package]
name = "_core"
version = "0.2.0"
version = "0.2.2"
edition = "2021"


Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2024, IPAC-SW
Copyright (c) 2024, Caltech IPAC

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down
4 changes: 1 addition & 3 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
include src/neospy/data/*
include src/neospy/_core*
exclude src/neospy/data/*.gz
include src/neospy/_core*
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,19 +82,19 @@ pip install sphinx sphinx_gallery autodoc
After this has been installed, the documentation can be built by running inside the
neospy directory.
``` bash
(cd doc && make html && open html/index.html&)
(cd docs && make html && open html/index.html&)
```
Once this has completed running, open the file `neospy/doc/html/index.html` for access
Once this has completed running, open the file `neospy/docs/html/index.html` for access
to the HTML documentation.

To clean the previous doc build:
To clean the previous docs build:
``` bash
(cd doc && make clean)
(cd docs && make clean)
```

Documentation tests may be run with:
``` bash
(cd doc && make doctest)
(cd docs && make doctest)
```

### Running tests
Expand All @@ -113,6 +113,17 @@ file. This is a user-friendly website representation of the code coverage.
pytest --cov-report html --cov=neospy
```

### Running Tutorials

Tutorials are computationally expensive examples which are more indicative of typical
expected use. Since these examples are so expensive to run, they are not run unless
manually performed. A convenience python script has been provided to do just this.

``` bash
cd docs
python utils.py
```

### Running Benchmarks

There are a test suite of micro-benchmarks in the rust backend of NEOSpy. These require
Expand Down
48 changes: 0 additions & 48 deletions doc/api/population.rst

This file was deleted.

6 changes: 0 additions & 6 deletions doc/api/spice.rst

This file was deleted.

6 changes: 0 additions & 6 deletions doc/api/vector.rst

This file was deleted.

Binary file removed doc/images/orbit_models_short.png
Binary file not shown.
File renamed without changes.
2 changes: 2 additions & 0 deletions doc/api/api.rst → docs/api/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ API
.. toctree::
:maxdepth: 2

cache
conversion
flux
fov
interface
observatory
population
Expand Down
8 changes: 8 additions & 0 deletions docs/api/cache.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cache
=====

Tools to interact with NEOSpy's Cache folder.

.. automodule:: neospy.cache
:members:
:inherited-members:
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 8 additions & 0 deletions docs/api/fov.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
fov
===

Field of View

.. automodule:: neospy.fov
:members:
:inherited-members:
19 changes: 6 additions & 13 deletions doc/api/interface.rst → docs/api/interface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,23 @@ Below are APIs to external organizations and web interfaces. These are provided
primarily to make it easier to fetch data from these various sources for analysis with
NEOSpy.

MPC
---
Minor Planet Center (MPC)
-------------------------

.. automodule:: neospy.mpc
:members:
:inherited-members:

IPAC
----
IPAC - IRSA
-----------

.. automodule:: neospy.irsa
:members:
:inherited-members:

Horizons
--------
JPL Horizons
------------

.. automodule:: neospy.horizons
:members:
:inherited-members:

PDS
---

.. automodule:: neospy.pds
:members:
:inherited-members:
File renamed without changes.
7 changes: 7 additions & 0 deletions docs/api/population.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
population
==========

.. automodule:: neospy.population
:members:
:inherited-members:
:no-undoc-members:
File renamed without changes.
28 changes: 28 additions & 0 deletions docs/api/spice.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
spice
=====

This is a thread-safe, read only re-implementation of a SPICE kernel interpreter.
Outputs of this exactly match the common cSPICE interpreter, but can be easily
used among an arbitrary number of cores. SPICE kernel files are loaded directly
into RAM.

.. note::

This does not use cSPICE, or any original SPICE library code.

cSPICE is difficult to use in a thread safe manner which is limiting when
performing orbit calculations on millions of objects.

Data files which are automatically included:

DE440 - A SPICE file containing the planets within a few hundred years.

BSP files are also automatically included for the 5 largest asteroids, which are
used for numerical integrations when the correct flags are set.

PCK Files which enable coordinate transformations between Earths surface and the
common inertial frames.

.. automodule:: neospy.spice
:members:
:inherited-members:
File renamed without changes.
10 changes: 10 additions & 0 deletions docs/api/vector.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
vectors/states/frames
=====================

Units used throughout NEOSpy are distance in au, and time in Days TDB scaled.

Coordinate frames match the coordinate frames used by cSPICE.

.. automodule:: neospy.vector
:members: Vector
:inherited-members:
12 changes: 6 additions & 6 deletions doc/background.rst → docs/background.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ There are several common definitions of coordinate frames in astronomy, here are
listed in order of general popularity:

- **Equatorial** - The X-Y plane is defined by the celestial equator (Earth's
Equator). The x-axis is defined pointing to the Vernal Equinox (IE: where the
Sun crosses the equator in the northward direction).
Equator). The x-axis is defined pointing to the Vernal Equinox (IE: where the
Sun crosses the equator in the northward direction).
- **Ecliptic** - The X-Y plane is defined by the plane of the Earth around the Sun,
where the x-axis is defined as the same vector as the Equatorial frame. This in
essence means that conversion between the two is a rotation around the x-axis by
some angle (more on that later).
where the x-axis is defined as the same vector as the Equatorial frame. This in
essence means that conversion between the two is a rotation around the x-axis by
some angle (more on that later).
- **Galactic** - The X-Y plane is defined to be the galactic plane, there is a
non-trivial conversion and definition for this frame.
non-trivial conversion and definition for this frame.

At first glance these definitions appear relatively precise, however they are not. The
issue is with the definition of the Vernal Equinox. As the Earth orbits the sun, its
Expand Down
File renamed without changes.
Loading

0 comments on commit a409724

Please sign in to comment.