Predicting occultations for a spacecraft
The default call of the prediction()
function will predict stellar occultations for ground-based observers where the occultation parameters calculated are referred to the geocenter. Predicting for a specific observer or a spacecraft is as simple as passing the observer in the parameter reference_center
of the prediction function.
We must be careful, though. When predicting for the geocenter
we add the radius of the Earth, the radius of the body and the uncertainty of the body’s ephemeris as the radius of search. For a specific observer, the radius of the Earth is not included. Because of this, it might be necessary to give a larger radius and/or a smaller time step for the prediction function. This is important because the coordinates of the ephemeris and star are directly compared in the first iteration for faster
identification of potential events, then the occultation parameters are calculated precisely.
In this example, we will predict stellar occultations by Chariklo that could have been observed by the New Horizons in the year 2013, during its transit between Jupiter and Pluto.
[1]:
from sora import Body, Spacecraft
from sora.prediction import prediction
SORA version: 0.2
[2]:
# Defining the occulting body
chariklo = Body(name='Chariklo', ephem=['10199_Chariklo_nima_v19.bsp', 'de438.bsp'])
print(chariklo)
Obtaining data for Chariklo from SBDB
###############################################################################
10199 Chariklo (1997 CU26)
###############################################################################
Object Orbital Class: Centaur
Spectral Type:
SMASS: D [Reference: EAR-A-5-DDR-TAXONOMY-V4.0]
Relatively featureless spectrum with very steep red slope.
Discovered 1997-Feb-15 by Spacewatch at Kitt Peak
Physical parameters:
Diameter:
302 +/- 30 km
Reference: Earth, Moon, and Planets, v. 89, Issue 1, p. 117-134 (2002),
Rotation:
7.004 +/- 0 h
Reference: LCDB (Rev. 2020-October); Warner et al., 2009, [Result based on less than full coverage, so that the period may be wrong by 30 percent or so.] REFERENCE LIST:[Fornasier, S.; Lazzaro, D.; Alvarez-Candal, A.; Snodgrass, C.; et al. (2014) Astron. Astrophys. 568, L11.], [Leiva, R.; Sicardy, B.; Camargo, J.I.B.; Desmars, J.; et al. (2017) Astron. J. 154, A159.]
Absolute Magnitude:
6.7 +/- 0 mag
Reference: MPO452314,
Albedo:
0.045 +/- 0.01
Reference: Earth, Moon, and Planets, v. 89, Issue 1, p. 117-134 (2002),
----------- Ephemeris -----------
EphemKernel: 10199_CHARIKLO_NIMA_V19/DE438 (SPKID=2010199)
Ephem Error: RA*cosDEC: 0.000 arcsec; DEC: 0.000 arcsec
Offset applied: RA*cosDEC: 0.0000 arcsec; DEC: 0.0000 arcsec
[3]:
# Defining the New Horizons as an Observer.
# The kernel has the path of the spacecraft from 2012-12-31T23:58:52.816 up to 2014-12-08T05:12:10.384
# Another option is to use the JPL/Horizons web service making ephem='horizons'
nh = Spacecraft(name='New Horizons', spkid='-98', ephem=['nh_recon_od117_v01.bsp'])
[4]:
# Prediction of stellar occultations by Chariklo for the year 2013 as observed by the New Horizons.
# The time step of the ephemeris is 10s and the radius of search is 600 km for the quick search.
# The full period of search was split in 12 division to avoid overflow of memory caused by the ephemeris
# and to avoid download stars for a large region of sky.
pred = prediction(body=chariklo, time_beg='2013-01-01 00:00', time_end='2014-01-01 00:00',
radius=600, step=10, divs=12, reference_center=nh)
Ephemeris was split in 12 parts for better search of stars
Searching occultations in part 1/12
Generating Ephemeris between 2013-01-01 00:00:00.000 and 2013-01-31 09:59:50.000 ...
Downloading stars ...
1741 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 2/12
Generating Ephemeris between 2013-01-31 10:00:00.000 and 2013-03-02 19:59:50.000 ...
Downloading stars ...
1749 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 3/12
Generating Ephemeris between 2013-03-02 20:00:00.000 and 2013-04-02 05:59:50.000 ...
Downloading stars ...
1701 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 4/12
Generating Ephemeris between 2013-04-02 06:00:00.000 and 2013-05-02 15:59:50.000 ...
Downloading stars ...
1647 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 5/12
Generating Ephemeris between 2013-05-02 16:00:00.000 and 2013-06-02 01:59:50.000 ...
Downloading stars ...
1733 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 6/12
Generating Ephemeris between 2013-06-02 02:00:00.000 and 2013-07-02 11:59:50.000 ...
Downloading stars ...
1636 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 7/12
Generating Ephemeris between 2013-07-02 12:00:00.000 and 2013-08-01 21:59:50.000 ...
Downloading stars ...
1741 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 8/12
Generating Ephemeris between 2013-08-01 22:00:00.000 and 2013-09-01 07:59:50.000 ...
Downloading stars ...
1781 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 9/12
Generating Ephemeris between 2013-09-01 08:00:00.000 and 2013-10-01 17:59:50.000 ...
Downloading stars ...
1908 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 10/12
Generating Ephemeris between 2013-10-01 18:00:00.000 and 2013-11-01 03:59:50.000 ...
Downloading stars ...
1718 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 11/12
Generating Ephemeris between 2013-11-01 04:00:00.000 and 2013-12-01 13:59:50.000 ...
Downloading stars ...
1749 Gaia-EDR3 stars downloaded
Identifying occultations ...
Searching occultations in part 12/12
Generating Ephemeris between 2013-12-01 14:00:00.000 and 2013-12-31 23:59:50.000 ...
Downloading stars ...
1798 Gaia-EDR3 stars downloaded
Identifying occultations ...
3 occultations found.
[5]:
# printing prediction table
pred.pprint_all()
Epoch ICRS Star Coord at Epoch Geocentric Object Position C/A P/A Vel Dist G G* long loct M-G-T S-G-T Gaia-EDR3 Source ID
arcsec deg km / s AU mag mag deg hh:mm deg deg
----------------------- ------------------------------ ------------------------------ ------ ------ ------ ------- ------ ------ ---- ----- ----- ----- -------------------
2013-05-08 08:56:11.580 08 14 06.33337 +00 44 18.72873 08 14 06.33419 +00 44 18.74317 0.019 40.42 -8.01 15.717 18.527 17.533 123 17:08 97 79 3089568957554344960
2013-07-13 13:37:48.260 08 10 44.43129 +01 27 22.86678 08 10 44.43275 +01 27 22.89235 0.034 40.52 -7.99 15.978 17.950 16.954 347 12:44 47 22 3089856131952198272
2013-10-12 00:03:14.560 08 06 15.00058 +02 25 00.19559 08 06 14.99944 +02 25 00.17579 0.026 220.61 -7.96 16.347 15.812 14.811 100 06:43 161 76 3090959839765902336
The column Geocentric Object Position
gives the object position for the observer, not the geocenter. It is maintained like this for backward compatibility, but it will be fixed in SORAv1.0.
There were 3 stellar occultations by Chariklo that could have been observed by New Horizons in 2013.
The plots of maps in SORA is still projected for an occultation on Earth. Plots for a spacecraft may be implemented in the future.