Fermi GBM SAA Boundary Definition (gdt.missions.fermi.gbm.saa)

The South Atlantic Anomaly (SAA) region is an area of high particle particle flux in the Earth’s Van Allen belts. Whenever Fermi is near this region, the detectors are turned off and not collecting data.

The boundary of the SAA region is defined using a polygon in latitude and longitude. Several different SAA polygon definitions have been used over the course of the mission:

  • GbmSaaPolygon1 (Launch - June 9, 2010): Original SAA boundary used during the first 2 years of operations. This definition is conservative and includes a large portion of the southern Atlantic ocean.

  • GbmSaaPolygon2 (June 9, 2010 - June 10, 2010): One day test of a smaller SAA region. This region proved to be too small and resulted in a higher number of local particle triggers.

  • GbmSaaPolygon3 (June 10, 2010 - July 8, 2010): Several week test of a polygon that was smaller than GbmSaaPolygon1 but larger than GbmSaaPolygon2.

  • GbmSaaPolygon4 (July 8, 2010 - July 20, 2010): Several week test of a polygon that was larger than GbmSaaPolygon3.

  • GbmSaaPolygon5 (July 20, 2010 - June 7, 2022): SAA boundary definition used during the majority of the mission. This defines a smaller polygon than GbmSaaPolygon1 in order to increase observing time. It was built using knowledge gained from the three prior test regions.

  • GbmSaaPolygon6 (June 7, 2022 - June 9, 2022): Several day test of a smaller polygon.

  • GbmSaaPolygon7 (June 9, 2022 - August 3, 2022): Reversion to GbmSaaPolygon5 shape.

  • GbmSaaPolygon8 (August 3, 2022 - August 11, 2022): Several day test of a smaller polygon.

  • GbmSaaPolygon9 (August 11, 2022 - November 15, 2023): Reversion to GbmSaaPolygon5 shape.

  • GbmSaaPolygon10 (November 15, 2022 - November 17, 2023): Several day test of a smaller polygon.

  • GbmSaaPolygon11 (November 17, 2022 - July 23, 2024): Reversion to GbmSaaPolygon5 shape.

  • GbmSaaPolygon12 (July 23, 2024 - August 6, 2024): Smaller SAA boundary implemented during the fourth gravitational wave observing run (O4). This definition matches GbmSaaPolygon10 in shape and is designed to increase observing time by reducing the area of the SAA boundary to more closely follow the limits of the Van Allen belts.

  • GbmSaaPolygon13 (August 6, 2024 - August 8, 2024): Minor modification to GbmSaaPolygon12 to reduce local particle triggers occurring on the western edge of the SAA boundary.

  • GbmSaaPolygon14 (August 8, 2024 - September 30, 2024): Minor modification to GbmSaaPolygon13 to reduce local particle triggers occurring on the eastern edge of the SAA boundary.

  • GbmSaaPolygon15 (September 30, 2024 - Present): Reversion to GbmSaaPolygon5 shape to handle high particle flux due to solar activity.

../../../_images/all_polygons.png

We can retrieve the latitude and longitude values for a specific boundary by initializing the corresponding class. For example, we can obtain the original SAA boundary by using the GbmSaaPolygon1 class:

>>> from gdt.missions.fermi.gbm.saa import GbmSaaPolygon1
>>> saa = GbmSaaPolygon1()
>>> saa.latitude
array([-30.   , -19.867,  -9.733,   0.4  ,   2.   ,   2.   ,  -1.   ,
    -6.155,  -8.88 , -14.22 , -18.404, -30.   , -30.   ])
>>> saa.longitude
array([ 33.9  ,  12.398,  -9.103, -30.605, -38.4  , -45.   , -65.   ,
   -84.   , -89.2  , -94.3  , -94.3  , -86.1  ,  33.9  ])

We can also plot the SAA boundary using FermiEarthPlot:

>>> import matplotlib.pyplot as plt
>>> from gdt.missions.fermi.plot import FermiEarthPlot
>>> plot = FermiEarthPlot(saa=saa, mcilwain=False)
>>> plt.show()
../../../_images/saafig1.png

The SAA region in this plot is marked in red. For more details on customizing these plots, including the SAA region, see Plotting Spacecraft in Earth Orbit.

Users looking to retrieve the latest SAA boundary definition should use the GbmSaaCollection class, which collects and sorts all available SAA boundaries according to time. The boundaries are available as a list via the polygons attribute with the last element being the latest boundary:

>>> from gdt.missions.fermi.gbm.saa import GbmSaaCollection
>>> collection = GbmSaaCollection()
>>> latest_saa = collection.polygons[-1]

The overlay below shows a comparison between the original and latest SAA boundaries. Note that the latest boundary is essentially just a trimmed down version of the original.

../../../_images/saafig2.png

The GbmSaaCollection class can also return the SAA polygon definition at a specific time using the at() method with an Astropy Time object:

>>> from astropy.time import Time
>>> saa = collection.at(Time("2024-01-01T00:00:00", format="isot", scale="utc"))

This avoids the need to manually instance individual SAA classes.

Backwards Compatability

The GbmSaa class provides a copy of the original SAA definition in order to support compatibility with code written before API version 2.1.1, which only defined the original boundary. It is exactly equivalent to working with GbmSaaPolygon5:

>>> from gdt.missions.fermi.gbm.saa import GbmSaa
>>> saa = GbmSaa()
>>> saa.latitude
array([-30.   , -19.867,  -9.733,   0.4  ,   2.   ,   2.   ,  -1.   ,
        -6.155,  -8.88 , -14.22 , -18.404, -30.   , -30.   ])
>>> saa.longitude
array([ 33.9  ,  12.398,  -9.103, -30.605, -38.4  , -45.   , -65.   ,
       -84.   , -89.2  , -94.3  , -94.3  , -86.1  ,  33.9  ])

Reference/API

gdt.missions.fermi.gbm.saa Module

GbmSaaPolygon1()

The coordinates of the GBM SAA boundary in latitude and East longitude used from launch (0 seconds) until 18:30:09 UTC on June 9, 2010.

GbmSaaPolygon2()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 18:30:09 UTC on June 9, 2010 until 17:41:58 UTC on June 10, 2010.

GbmSaaPolygon3()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 17:41:58 UTC on June 10, 2010 until 13:34:00 UTC on July 8, 2010.

GbmSaaPolygon4()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 13:34:00 UTC on July 8, 2010 until 14:13:00 UTC on July 20, 2010.

GbmSaaPolygon5()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 14:13:00 UTC on July 20, 2010 until 14:20:00 UTC on June 7, 2022.

GbmSaaPolygon6()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 14:20:00 UTC on June 7, 2022 until 19:35:00 UTC on June 9, 2022.

GbmSaaPolygon7()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 19:35:00 UTC on June 9, 2022 until 18:10:45 UTC on August 3, 2022.

GbmSaaPolygon8()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 18:10:45 UTC on August 3, 2022 until 17:59:26 UTC on August 11, 2022.

GbmSaaPolygon9()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 17:59:26 UTC on August 11, 2022 until 16:50:00 UTC on November 15, 2023.

GbmSaaPolygon10()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 16:50:00 UTC on November 15, 2023 until 18:27:00 UTC on November 17, 2023.

GbmSaaPolygon11()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 18:27:00 UTC on November 17, 2023 until 19:15:00 UTC on July 23, 2024.

GbmSaaPolygon12()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 19:15 UTC on July 23, 2024 until 19:15:00 UTC on August 6, 2024.

GbmSaaPolygon13()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 19:15:00 UTC on August 6, 2024 until 00:00:00 UTC on August 8, 2024.

GbmSaaPolygon14()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 00:00:00 UTC on August 8, 2024 until 19:20:45 UTC on September 30, 2024.

GbmSaaPolygon15()

The coordinates of the GBM SAA boundary in latitude and East longitude used from 19:20:45 UTC on September 30, 2024 until mission end which uses a placeholder value of Jan 1, 2050 for now.

GbmSaa()

Class providing backwards compatibility for code written prior to v2.1.1 where the GbmSaa class defined GbmSaaPolygon5

GbmSaaCollection()

Collection of SAA boundary definitions

Inheritance diagram of gdt.missions.fermi.gbm.saa.GbmSaaPolygon1, gdt.missions.fermi.gbm.saa.GbmSaaPolygon2, gdt.missions.fermi.gbm.saa.GbmSaaPolygon3, gdt.missions.fermi.gbm.saa.GbmSaaPolygon4, gdt.missions.fermi.gbm.saa.GbmSaaPolygon5, gdt.missions.fermi.gbm.saa.GbmSaaPolygon6, gdt.missions.fermi.gbm.saa.GbmSaaPolygon7, gdt.missions.fermi.gbm.saa.GbmSaaPolygon8, gdt.missions.fermi.gbm.saa.GbmSaaPolygon9, gdt.missions.fermi.gbm.saa.GbmSaaPolygon10, gdt.missions.fermi.gbm.saa.GbmSaaPolygon11, gdt.missions.fermi.gbm.saa.GbmSaaPolygon12, gdt.missions.fermi.gbm.saa.GbmSaaPolygon13, gdt.missions.fermi.gbm.saa.GbmSaaPolygon14, gdt.missions.fermi.gbm.saa.GbmSaaPolygon15, gdt.missions.fermi.gbm.saa.GbmSaa, gdt.missions.fermi.gbm.saa.GbmSaaCollection