ecpi.common.mission.orbit module

Section author: ECLAIRs GP team

#TODO: to remove

Summary

Classes:

EclairsOrbit

Manage orbital aspects for the SVOM mission.

Class diagram:

_images/classes_ecpi.common.mission.orbit.png

Functions:

earth_limb

Compute alpha limb angle

Reference

class EclairsOrbit(orbit_filename=None, attitude_filename=None)[source]

Bases: object

Manage orbital aspects for the SVOM mission.

compute_earth_frac(open_fov_map)[source]

Compute earth fraction in FOV;

Parameters

open_fov_map (array(bool)) – sky map with directions occulted by Earth

Returns

earth fraction

Return type

float

earth_position(position=None, quater=None, idx_row=None)[source]

Return Earth angular position (theta_E, phi_E) in field of view.

See section 9.1 (p.50/65) in SV-SY-NT-242-JPO document (v4). See mail/code from Sujay 17 Sept 2019

Note

transformation (dir, elev) <-> (theta, phi) is

theta = 90 - elev and phi = dir.

Parameters

position – instrument position (X, Y, Z) in geocentric frame.

Assume coordinates are given in km. Default is None. :type position: array :param quater: quaternion (q0, q1, q2, q3). Default is None. :type quater: array :param n: row index in astropy table. Default is None. :type n: int :return: unit vector pointing to the center of the Earth in FOV frame :rtype: array(float) of shape (3,)

get_field(field)[source]

Get field column from already loaded data.

Parameters

field (str) – name of the required field

is_earth_in_fov(position=None, quater=None, idx_row=None)[source]

Check whether Earth appears in the instrument FOV.

documentation: * simulation_correction_cxb_earth_15_05_2020_v2_alg.pdf (version 2) p.6 * simulation_correction_pipeline_cxb_earth_15_05_2020_v2_pb.pdf (version 2) p.3

Parameters

position – instrument position (X, Y, Z) in geocentric frame.

Assume coordinates are given in km. Default is None. :type position: array :param quater: quaternion (q0, q1, q2, q3). Default is None. :type quater: array :param idx_row: row index in astropy table. Default is None. :type idx_row: int :return: if Earth is in FOV :rtype: bool

is_in_saa()[source]

Check whether the satellite is in the South Atlantic Anomaly (SAA).

Note

likely to be provided by a .fits file. No need to be recomputed.

limb_angle(position=None, idx_row=None)[source]

Compute alpha limb angle at different times so as to determine whether a given pixel falls on the Earth surface or not.

Limb angle is defined to be the angle between the earth direction and a tangent line (see AlG slides for scheme and maths)

documentation: * simulation_correction_cxb_earth_15_05_2020_v2_alg.pdf (version 2) p.5 * simulation_correction_pipeline_cxb_earth_15_05_2020_v2_pb.pdf (version 2) p.3

Parameters

position – instrument position (X, Y, Z) in geocentric frame.

Assume coordinates are given in km. Default is None. :type position: array :param idx_row: row index in astropy table. Default is None. :type idx_row: int :return: limb angle in degrees :rtype: float

open_fov_map(position=None, quater=None, idx_row=None)[source]

Create the open field of view map, ie. a detector size array (199x199) filled with 0 and 1. Each pixel value is 0 if Earth is present in the LoS and 1 otherwise.

docstring TBC

Parameters

idx_row (int) – row index in astropy table

Returns

open fov 199x199 map

Return type

2D array(bool)

earth_limb(position)[source]

Compute alpha limb angle

Limb angle is defined to be the angle between the earth direction and a tangent line (see AlG slides for scheme and maths)

documentation: * simulation_correction_cxb_earth_15_05_2020_v2_alg.pdf (version 2) p.5 * simulation_correction_pipeline_cxb_earth_15_05_2020_v2_pb.pdf (version 2) p.3

Parameters

position – instrument position (X, Y, Z) in geocentric frame.

Assume coordinates are given in km. Default is None. :type position: array :return: limb angle in degrees :rtype: float