Demo IBIxTMS_2F (ionospheric bubble index)

Authors: Ashley Smith

Abstract: Access to the ionospheric bubble index (level 2 product).

%load_ext watermark
%watermark -i -v -p viresclient,pandas,xarray,matplotlib
2021-01-24T15:47:39+00:00

CPython 3.7.6
IPython 7.11.1

viresclient 0.7.1
pandas 0.25.3
xarray 0.15.0
matplotlib 3.1.2
from viresclient import SwarmRequest
import datetime as dt
import numpy as np

request = SwarmRequest()

IBIxTMS_2F product information

Ionospheric bubble index at 1Hz

Documentation:

  • https://earth.esa.int/web/guest/missions/esa-eo-missions/swarm/data-handbook/level-2-product-definitions#IBIxTMS_2F

Check what “IBI” data variables are available

request.available_collections("IBI", details=False)
{'IBI': ['SW_OPER_IBIATMS_2F', 'SW_OPER_IBIBTMS_2F', 'SW_OPER_IBICTMS_2F']}
request.available_measurements("IBI")
['Bubble_Index',
 'Bubble_Probability',
 'Flags_Bubble',
 'Flags_F',
 'Flags_B',
 'Flags_q']

Fetch 3 minutes of IBI data

request = SwarmRequest()
request.set_collection("SW_OPER_IBIATMS_2F")
request.set_products(measurements=request.available_measurements("IBI"))
data = request.get_between(
    dt.datetime(2016,1,1,9,7),
    dt.datetime(2016,1,1,9,10)
)
[1/1] Processing:  100%|██████████|  [ Elapsed: 00:01, Remaining: 00:00 ]
      Downloading: 100%|██████████|  [ Elapsed: 00:00, Remaining: 00:00 ] (0.096MB)
data.sources
['SW_OPER_IBIATMS_2F_20160101T000000_20160101T235959_0301']
df = data.as_dataframe()
df.head()
Spacecraft Flags_q Longitude Radius Bubble_Probability Flags_Bubble Latitude Flags_B Flags_F Bubble_Index
Timestamp
2016-01-01 09:07:00 A 5 -52.119907 6830079.62 0.0 0 -16.923659 0 1 0
2016-01-01 09:07:01 A 5 -52.120848 6830087.28 0.0 0 -16.987667 0 1 0
2016-01-01 09:07:02 A 5 -52.121786 6830094.93 0.0 0 -17.051675 0 1 0
2016-01-01 09:07:03 A 5 -52.122722 6830102.57 0.0 0 -17.115682 0 1 0
2016-01-01 09:07:04 A 5 -52.123656 6830110.21 0.0 0 -17.179689 0 1 0
df.plot(y=["Bubble_Index", "Bubble_Probability"], figsize=(20,5));
../_images/03g__Demo-IBIxTMS_2F_11_0.png
ds = data.as_xarray()
ds
<xarray.Dataset>
Dimensions:             (Timestamp: 180)
Coordinates:
  * Timestamp           (Timestamp) datetime64[ns] 2016-01-01T09:07:00 ... 2016-01-01T09:09:59
Data variables:
    Spacecraft          (Timestamp) object 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A'
    Flags_q             (Timestamp) uint8 5 5 5 5 5 5 5 5 5 ... 5 5 5 5 5 5 5 5
    Longitude           (Timestamp) float64 -52.12 -52.12 ... -52.24 -52.24
    Radius              (Timestamp) float64 6.83e+06 6.83e+06 ... 6.831e+06
    Bubble_Probability  (Timestamp) float64 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0
    Flags_Bubble        (Timestamp) uint8 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0
    Latitude            (Timestamp) float64 -16.92 -16.99 ... -28.31 -28.38
    Flags_B             (Timestamp) uint8 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0
    Flags_F             (Timestamp) uint8 1 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1
    Bubble_Index        (Timestamp) int8 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0
Attributes:
    Sources:         ['SW_OPER_IBIATMS_2F_20160101T000000_20160101T235959_0301']
    MagneticModels:  []
    RangeFilters:    []