MAXI Orbit Files (gdt.missions.maxi.orbit)

The MAXI mission provides orbit files that specify the position and velocity of the ISS (and hence MAXI) in orbit at an approximate 1-s cadence over a day. We can open these files using the MaxiOrbit class and extract the orbit information from them.

For example we can read the example orbit file that is in the testing/example data:

>>> from gdt.core import data_path
>>> from gdt.missions.maxi.orbit import MaxiOrbit
>>> orb_file = data_path / 'maxi-gsc/mx_mjd58849.orb.gz'
>>> orb = MaxiOrbit.open(orb_file)
>>> orb
<MaxiOrbit(filename="mx_mjd58849.orb.gz") at 0x102e1fd30>

To extract the orbit information into a MAXI frame, we do the following:

>>> frame = orb.get_spacecraft_frame()
>>> frame
<MaxiFrame: 86362 frames;
 obstime=[631152006.0929999, ...]
 obsgeoloc=[(-3988969.7208, -1428272.8356, 5300477.4864) m, ...]
 obsgeovel=[(-7318.41587813, -498.94788896, -600.77996162) m / s, ...]
>

Notice that this MaxiFrame object contains 86362 different frames, each defined at a particular obstime and with a obsgeoloc defining the position of MAXI in orbit and a obsgeovel defining the orbital velocity.

Using these frames, we can retrieve the location of MAXI in orbit relative to the geocenter:

>>> # latitude
>>> frame.earth_location.lat
<Latitude [ 51.43604804,  51.42789274,  51.41964168, ..., -51.17471138,
           -51.16413275, -51.15346404] deg>
>>> # longitude
>>> frame.earth_location.lon
<Longitude [ 99.7838931 ,  99.88232441,  99.98072336, ..., -83.292815  ,
            -83.19609091, -83.09941138] deg>
>>> # altitude
>>> frame.earth_location.height
<Quantity [420683.68471216, 420683.01131551, 420681.40903219, ...,
           439028.5961116 , 439024.11948029, 439019.11857587] m>

We can also extract a single frame or slice multiple frames:

>>> frame[100]
<MaxiFrame: 1 frames;
 obstime=[631152106.0929999]
 obsgeoloc=[(-3779109.7392, -2159243.586, 5206397.3088) m]
 obsgeovel=[(-7191.26129531, -919.02691758, -1270.66417031) m / s]
 quaternion=[None]>
>>> frame[100:110]
<MaxiFrame: 10 frames;
 obstime=[631152106.0929999, ...]
 obsgeoloc=[(-3779109.7392, -2159243.586, 5206397.3088) m, ...]
 obsgeovel=[(-7191.26129531, -919.02691758, -1270.66417031) m / s, ...]
>

Note that the orbit file contains only the orbit information, and there is no attitude information, which is contained within the attitude file and is discussed further in MAXI Attitude Files. See MAXI Reference Frame for information about how to combine the attitude and orbit information into a single MaxiFrame object.

For more details about working with spacecraft frames, see Spacecraft Attitude, Position, and Coordinates.

Reference/API

gdt.missions.maxi.orbit Module

Classes

MaxiOrbit()

Class for reading a MAXI orbit file.

Class Inheritance Diagram

Inheritance diagram of gdt.missions.maxi.orbit.MaxiOrbit