orbix.observatory.keepout#
Sun/Earth keepout zone checks.
Determines whether a target star is observable based on angular separation
from bright solar system bodies. Port of the keepout logic from
EXOSIMS.Prototypes.Observatory.keepout, simplified to Sun + Earth (the
Moon is dropped as negligible against the L2 geometry; see is_observable).
Functions#
|
Normalize vector to unit length. |
|
Angular separation between two direction vectors (radians). |
|
Unit vector toward a target in heliocentric ecliptic frame. |
|
Angle between a solar system body and a target as seen from the observatory. |
|
Check if a target is observable (outside all keepout zones). |
Module Contents#
- orbix.observatory.keepout._unit_vector(v)[source]#
Normalize vector to unit length.
- Parameters:
v (jax.numpy.ndarray)
- Return type:
jax.numpy.ndarray
- orbix.observatory.keepout._angular_sep(v1, v2)[source]#
Angular separation between two direction vectors (radians).
- Parameters:
v1 (jax.numpy.ndarray)
v2 (jax.numpy.ndarray)
- Return type:
- orbix.observatory.keepout._target_ecliptic_dir(ra_rad, dec_rad, mjd)[source]#
Unit vector toward a target in heliocentric ecliptic frame.
- orbix.observatory.keepout.body_angle(obs_pos_eclip, body_pos_eclip, ra_rad, dec_rad, mjd)[source]#
Angle between a solar system body and a target as seen from the observatory.
- Parameters:
- Returns:
Angular separation in radians.
- Return type:
- orbix.observatory.keepout.is_observable(obs_pos_eclip, ra_rad, dec_rad, mjd, ko_sun_min_deg=45.0, ko_sun_max_deg=180.0, ko_earth_min_deg=0.0, ko_earth_max_deg=180.0)[source]#
Check if a target is observable (outside all keepout zones).
- Parameters:
obs_pos_eclip (jax.numpy.ndarray) – Observatory heliocentric ecliptic position (AU), shape
(3,).ra_rad (float) – Target right ascension in radians.
dec_rad (float) – Target declination in radians.
mjd (float) – Modified Julian Date.
ko_sun_min_deg (float) – Minimum Sun keepout angle (degrees).
ko_sun_max_deg (float) – Maximum Sun keepout angle (degrees).
ko_earth_min_deg (float) – Minimum Earth keepout angle (degrees).
ko_earth_max_deg (float) – Maximum Earth keepout angle (degrees).
- Returns:
True if the target is observable, False if it falls in a keepout zone.
- Return type:
jaxtyping.Array