1 of 14

Pyorbital

Orbital computations for python

2 of 14

What is it?

  • A package to compute different orbital parameters for satellites.

3 of 14

What does it do?

  • Downloads and reads TLE files
  • Compute the position and velocity of a satellite (SGP4)
  • Compute some astronomical parameters

4 of 14

How does it work?

>>> from pyorbital.orbital import Orbital�>>> from datetime import datetime�>>> orb = Orbital("noaa 18")�>>> now = datetime.utcnow()

�>>> # Get normalized position of the satellite:�>>> orb.get_position(now)�([0.57529384846822862, 0.77384005228105424, 0.59301408257897559],�[0.031846489698768146, 0.021287993461926374, -0.05854106186659274])�

5 of 14

How does it work?

�>>> # Get longitude, latitude and altitude of the satellite:�>>> orb.get_lonlatalt(now)�(-1.1625895579622014, 0.55402132517640568, 847.89381184656702)

​

6 of 14

How does it work?

Uses SGP4 algorithm

7 of 14

How does it work?

Uses SGP4 algorithm

8 of 14

Use of sun zenith angles

9 of 14

Calculating SNOs

  • SNO = Simultaneous Nadir Overpass
  • Find locations and times when two platforms have sub-satellite tracks that intersects
  • In order to collocate nadir observations from two different platforms
  • Allows for inter-calibration and validation

​

10 of 14

Calculating SNOs...

Example: Validating VIIRS/AVHRR NWCSAF-PPS Cloud height with Calipso/Caliop:

11 of 14

Calculating SNOs...

>>> from pyorbital.orbital import Orbital�>>> from pyorbital.tlefile import Tle

>>> from pyresample.spherical_geometry import Coordinate, Arc

​

  • Using Arc instance method "intersects"
  • Using Orbital instance methods get_zenith_overpass
  • Using Orbital instance method get_observer_look

12 of 14

Moon phase and position

>>> from pyorbital.planets import Moon

>>> from datetime import datetime

>>> now = datetime.utcnow()

>>> rasc, decl, alt, azi = moon.topocentric_position(16.1875, 58.5875)

>>> print alt

3.63935937488

>>> import pyorbital.moon_phase as mphase

>>> print mphase.moon_phase(now)

0.918440229993

�

13 of 14

Status

  • Stable and operational at SMHI

​

  • TODO:
    • Validate geolocation
    • Add more astronomical functions (sun & sat angles)
    • Validate, improve, and enhance moon calculations
    • ...

14 of 14

Moon phase and position

  • Experimental: git-branch = feature-moon-phase
  • Disclaimer:
    • Only approximately equals what can be derived from pyephem
    • Support for arrays yet to be done (only then it is motivated over pyephem

​

​