fcollections.missions#

Classes

Phase(short_name, half_orbits, period[, ...])

Mission phase properties.

Missions(*values)

MissionsPhases

alias of MissionsPhase

class fcollections.missions.Missions(*values)[source]#

Bases: Enum

Altika = 1#
Cfosat = 2#
Cryosat2 = 3#
Envisat = 4#
Ers1 = 5#
Ers2 = 6#
GeosatFollowOn = 7#
Haiyang2A = 8#
Haiyang2B = 9#
Haiyang2C = 10#
Jason1 = 11#
Jason2 = 12#
Jason3 = 13#
Sentinel3A = 14#
Sentinel3B = 15#
Sentinel6A = 16#
Swot = 17#
TopexPoseidon = 18#
fcollections.missions.MissionsPhases#

alias of MissionsPhase

class fcollections.missions.Phase(short_name: str, half_orbits: tuple[tuple[int, int], tuple[int, int] | None], period: Period, half_orbits_per_cycle: int | None = None)[source]#

Bases: object

Mission phase properties.

These include the start and end if available. Both half orbit number and time are given to allow a search using these two useful information.

Notes

For an going phase, make sure to use a constant bound for the period even if it is undefined to prevent deserialization problems with dask. If we use datetime(‘now’) when working on distributed workers, the module will be loaded with a difference OrbitPhase value for the SCIENCE enum field Further dask checks will spot this discrepancy of enum definition between different processes and will raise an error.

property cycles: tuple[int, int | None]#
half_orbits: tuple[tuple[int, int], tuple[int, int] | None]#

First and last half orbit numbers of the phase.

half_orbits_per_cycle: int | None = None#

Number of half orbits in a cycle if the phase is repetitive.

Set to none.

property on_going: bool#
period: Period#

First and last dates of the phase.

For an ongoing phase, the last date is set to dt.datetime.max.

short_name: str#

Acronym for describing the mission phase.

It is usually built so that both mission and phase can be recognized from this short name: ex. Jason-1 New orbit -> ‘j1n’.