Institut de Mécanique Céleste et de Calcul des Éphémérides (IMCCE) Solar System Services (astroquery.imcce/astroquery.solarsystem.imcce)¶
Overview¶
IMCCE provides a number of Solar System-related services, two of which are currently implemented here:
SkyBoT: search for and identify Solar System objects that are present in a given area of the sky at a given time
Miriade: ephemerides service
Use cases for both services are detailed below.
SkyBot - Solar System Body Identification Service¶
Cone Search¶
astroquery.imcce.SkybotClass provides an interface to the cone search offered by SkyBoT.
A simple cone search for Solar System objects in a circular field looks like this:
>>> from astroquery.imcce import Skybot
>>> from astropy.coordinates import SkyCoord
>>> from astropy.time import Time
>>> import astropy.units as u
>>> field = SkyCoord(0*u.deg, 0*u.deg)
>>> epoch = Time('2019-05-29 21:42', format='iso')
>>> results = Skybot.cone_search(field, 5*u.arcmin, epoch)
>>> results.pprint(max_width=80)
Number Name RA ... vy vz epoch
deg ... AU / d AU / d d
------ ---------- -------------------- ... ----------- ----------- ---------
-- 2012 BO42 0.019414999999999998 ... 0.009345668 0.005003011 2458630.0
516566 2007 DH36 0.005546249999999999 ... 0.00855646 0.002875928 2458630.0
-- 2019 SS82 359.9931945833333 ... 0.009809784 0.004636687 2458630.0
163149 2002 CV106 359.98692374999996 ... 0.009078104 0.00267749 2458630.0
cone_search produces a
QTable object with the properties of all Solar System
bodies that are present in the cone at the given epoch.
The required input arguments for
cone_search are the center coordinates
of the cone, its radius, as well as the epoch of the
observation. Field center coordinates coo should be provided as a
SkyCoord object, the radius of the cone rad
should be provided as a Quantity object. Note that
the maximum cone radius is limited to 10 degrees by the SkyBoT
service. The epoch of the observation should be provided as
Time object.
The following optional parameters are available:
location: the location of the observer on Earth using the official list of IAU codes. If no location is provided, the center of the Earth is used as location.position_error: the maximum positional uncertainty of each body at the given epoch. This option can be used to improve the reliability of associations with detected sources in the field. If not provided, the maximum positional uncertainty of 120 arcsec is used.find_planets,find_asteroids,find_comets: these flags control what types of Solar System objects are identified. By default, each of the flags isTrue.
For diagnostic purposes, the query payload or raw response from the
service can be returned instead of the parsed results using the flags
get_query_payload and get_raw_response, respectively.
The resulting QTable contains all available
information provided by SkyBoT with corresponding units. The following
properties are obtained:
Column Name |
Definition |
|---|---|
|
Target Number ( |
|
Target Name (str) |
|
Target RA (J2000, deg, float) |
|
Target declination (J2000, deg, float) |
|
Target dynamical/physical type (str) |
|
Target apparent brightness (V-band, mag, float) |
|
Positional uncertainty (arcsec, float) |
|
Angular distance of target from cone center (arcsec, float) |
|
RA rate of motion (arcsec/hr, float) |
|
Declination rate of motion (arcsec/hr, float) |
|
Geocentric distance of target (au, float) |
|
Heliocentric distance of target (au, float) |
|
Solar phase angle (deg, float) |
|
Solar elongation angle (deg, float) |
|
Target equatorial vector x (au, float) |
|
Target equatorial vector y (au, float) |
|
Target equatorial vector z (au, float) |
|
Target velocity vector x (au/d, float) |
|
Target velocity vector y (au/d, float) |
|
Target velocity vector z (au/d, float) |
|
Ephemerides epoch (JD, float) |
Miriade - Ephemeris Service¶
The Miriade service enable the query of Solar System object ephemerides.
The most minimalistic get_ephemerides
query looks like this:
>>> from astroquery.imcce import Miriade
>>> Miriade.get_ephemerides('Ceres')
<Table length=1>
target epoch RA ... DEC_rate delta_rate
d deg ... arcsec / min km / s
str20 float64 float64 ... float64 float64
------ -------------------- ------------------ ... ------------ ------------
Ceres 2459914.7406457304 178.71843708333333 ... -0.18976 -21.5458636
This query will return ephemerides for asteroid Ceres, for the current
epoch, and for a geocentric location. The query output is formatted as
a Table.
Ephemerides Queries¶
Miriade queries are highly customizable.
Epochs and Location¶
get_ephemerides is able to query a
range of epochs starting at epoch epoch in steps of epoch_step
for a total of epoch_nsteps. epoch has to be provided as a
Time object, a float (interpreted as Julian Date), or
a string (interpreted as iso date YYYY-MM-DD HH-MM-SS). Time steps
epoch_step are provided as string that consist of a floating point
number followed by a single character: d refers to days, h to
hours, m to minutes, s to seconds; e.g., '1.23d' defines a
time step of 1.23 days. epoch_nsteps defines the number of steps
between the individual ephemerides. By default, epoch_nsteps = 1,
which means that only a single epoch epoch will be queried.
Consider the following example, which queries ephemerides for asteroid Pallas over an entire year with a time step of 1 day:
>>> from astroquery.imcce import Miriade
>>> Miriade.get_ephemerides('Pallas', epoch='2019-01-01',
... epoch_step='1d', epoch_nsteps=365)
<Table length=365>
target epoch RA ... DEC_rate delta_rate
d deg ... arcsec / min km / s
str20 float64 float64 ... float64 float64
------ -------------------- ------------------ ... ------------ ------------
Pallas 2458484.5 200.58653041666665 ... 0.15854 -19.3678426
Pallas 2458485.5 200.92696041666662 ... 0.16727 -19.4137911
Pallas 2458486.5 201.2641308333333 ... 0.17613 -19.4552654
Pallas 2458487.5 201.59797541666663 ... 0.18511 -19.4921119
Pallas 2458488.5 201.92842624999997 ... 0.19421 -19.5241979
... ... ... ... ... ...
Pallas 2458844.5 261.5083995833333 ... 0.029542 -2.5107101
Pallas 2458845.5 261.8853333333333 ... 0.034077 -2.7290984
Pallas 2458846.5 262.26158625 ... 0.038612 -2.9467484
Pallas 2458847.5 262.63713083333334 ... 0.043144 -3.1635878
Pallas 2458848.5 263.01193875 ... 0.047672 -3.3795661
The observer location is defined through the location keyword,
expecting a string containing the official IAU observatory code, a
spacecraft name, or a set of coordinates (see the Miriade manual for
details).
Coordinate Types¶
The Miriade system offers
a range of different coordinate types - sets of coordinates and
properties that can be queried. In agreement with the Miriade webform
query, the coordinate type in
get_ephemerides is defined through
an integer value. For a full discussion of the different coordinate
types we refer to this section of the
Miriade website. The keyword coordtype controls which set of
coordinates and properties are queried.
Here, we list the different coordinates and properties as returned by
get_ephemerides for the different
coordinate types available (the item numbers refer to the integer code
to be provided to the keyword coordtype to use these sets) :
Spherical coordinates (default):
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
RATarget RA at
ephtype(deg, float)
DECTarget declination at
ephtype(deg, float)
deltaDistance from observer (au, float)
delta_rateRate in observer distance (km/s, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
RAcosD_rateRate of motion in RA * cos(DEC) (arcsec/min, float)
DEC_rateRate of motion in DEC (arcsec/min, float)
Rectangular coordinates:
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
deltaDistance from observer (au, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
xX position state vector (au, float)
yY position state vector (au, float)
zZ position state vector (au, float)
vxX velocity state vector (au/d, float)
vyY velocity state vector (au/d, float)
vzZ velocity state vector (au/d, float)
rvRadial velocity (km/s, float)
heldistTarget heliocentric distance (au, float)
x_hX heliocentric position vector (au, float)
y_hY heliocentric position vector (au, float)
z_hZ heliocentric position vector (au, float)
vx_hX heliocentric vel. vector (au/d, float)
vy_hY heliocentric vel. vector (au/d, float)
vz_hZ heliocentric vel. vector (au/d, float)
Local coordinates:
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
AZTarget azimuth (deg, float)
ELTarget elevation (deg, float)
deltaDistance from observer (au, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
Hour angle coordinates:
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
DECTarget declination at
ephtype(deg)
deltaDistance from observer (au, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
hourangleTarget hour angle (deg, float)
dedicated to observations:
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
DECTarget declination at
ephtype(deg)
RAJ2000Target RA at J2000 (deg, float)
DECJ2000Target declination at J2000 (deg, float)
AZTarget azimuth (deg, float)
ELTarget elevation (deg, float)
deltaDistance from observer (au, float)
delta_rateRate in observer distance (km/s, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
RAcosD_rateRate of motion in RA * cos(DEC) (arcsec/min, float)
DEC_rateRate of motion in DEC (arcsec/min, float)
heldistTarget heliocentric distance (au, float)
hourangleTarget hour angle (deg, float)
siderealtimeLocal sidereal time (hr, float)
refractionAtmospheric refraction (arcsec, float)
airmassTarget airmass (float)
posuncPositional uncertainty (arcsec, float)
dedicated to AO observations:
Column Name
Definition
targetTarget name (str)
epochEphemerides epoch (JD, float)
RAJ2000Target RA at J2000 (deg, float)
DECJ2000Target declination at J2000 (deg, float)
deltaDistance from observer (au, float)
delta_rateRate in observer distance (km/s, float)
VApparent visual magnitude (mag, float)
alphaSolar phase angle (deg)
elongSolar elongation angle (deg)
RAcosD_rateRate of motion in RA * cos(DEC) (arcsec/min, float)
DEC_rateRate of motion in DEC (arcsec/min, float)
heldistTarget heliocentric distance (au, float)
siderealtimeLocal sidereal time (hr, float)
refractionAtmospheric refraction (arcsec, float)
airmassTarget airmass (float)
posuncPositional uncertainty (arcsec, float)
Other parameters¶
A range of additional parameters is available in
get_ephemerides to modify the query
results:
timescale: switch between UTC (default) and TTplanetary_theory: use planetary ephemerides other than INPOPephtype: switch between J2000 ephemerides (default) and other coordinatesrefplane: switch from equatorial coordinates (default) to ecliptical coordinateselements: switch to MPCORB ephemerides instead of ASTORBradial_velocity: provides additional information on target’s radial velocity
Acknowledgements¶
This submodule makes use of IMCCE’s SkyBoT VO tool and the IMCCE Miriade service. Additional information on SkyBoT can be obtained from Berthier et al. 2006.
Please consider the following notes from IMCCE:
If SkyBoT was helpful for your research work, the following acknowledgment would be appreciated: “This research has made use of IMCCE’s SkyBoT VO tool”, or cite the following article 2006ASPC..351..367B.
If Miriade was helpful for your research work, the following acknowledgment would be appreciated: “This research has made use of IMCCE’s Miriade VO tool”
The development of this submodule is funded through NASA PDART Grant No. 80NSSC18K0987 to the sbpy project.
Reference/API¶
astroquery.imcce Package¶
IMCCE¶
- author:
Michael Mommert (mommermiscience@gmail.com)
Classes¶
A class for querying the IMCCE/Miriade service. |
|
A class for querying the IMCCE SkyBoT service. |
|
|
Configuration parameters for |