This notebook demonstrates access to the AEBS products data by means of the vires client.
For each VirES data collection the avaiable variables are listed. In addition, mapping the the variables of the source AEBS products is provided [link to spec TBD].
from viresclient import SwarmRequest
server_url = None # default VirES server
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description | |
---|---|---|---|---|---|
Timestamp |
t |
$-$ | scalar | UTC time of observation | |
Latitude |
Latitude |
Latitude |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
Longitude |
$\text{deg}$ | scalar | ITRF geocentric longitude | |
Latitude_QD |
Latitude_QD |
$\text{deg}$ | scalar | Quasi-dipole latitude | |
Longitude_QD |
Longitude_QD |
$\text{deg}$ | scalar | Quasi-dipole longitude | |
MLT_QD |
MLT |
$\text{hour}$ | scalar | Magnetic local time (QD) | |
J_NE |
J |
$\text{A}\ \text{km}^{-1}$ | vector [2] | North and East component of horizontal sheet current density vector in the geocentric frame | |
J_QD |
J_QD |
$\text{A}\ \text{km}^{-1}$ | scalar | East component of horizontal sheet current density in QD frame |
Note: If the standard VirES QDLat
, QDLat
and MLT
auxialiary variables default to the Latitude_QD
, Longitude_QD
, MLT_QD
stored in AEBS products if they cannot be calculated from the times and locations. (Locations in the AEBS products are incomplete due to the missing Radius
and they cannot be used to calucate the magnetic coordinates.)
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJALPL_2F')
request.set_products(
measurements=['Latitude_QD', 'Longitude_QD', 'MLT_QD', 'J_NE', 'J_QD'],
auxiliaries=['QDLat', 'QDLon', 'MLT'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z',
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.247MB)
<xarray.Dataset> Dimensions: (NE: 2, Timestamp: 2412) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:00:15.688632727 ... 2015-06-01T23:33:26.110890627 * NE (NE) <U1 'N' 'E' Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' Latitude_QD (Timestamp) float64 -77.66 -77.26 -76.8 ... -52.17 -51.2 QDLon (Timestamp) float64 -27.39 -31.73 -35.82 ... -74.72 -75.39 Longitude (Timestamp) float64 178.7 179.9 -179.2 ... -165.0 -164.9 Longitude_QD (Timestamp) float64 -27.39 -31.73 -35.82 ... -74.72 -75.39 J_QD (Timestamp) float64 -58.71 -64.28 -72.47 ... -20.11 -18.99 QDLat (Timestamp) float64 -77.66 -77.26 -76.8 ... -52.17 -51.2 J_NE (Timestamp, NE) float64 58.18 -7.87 62.57 ... 6.264 -17.93 MLT (Timestamp) float64 17.6 17.32 17.05 ... 14.05 14.01 13.97 Latitude (Timestamp) float64 -79.2 -78.22 -77.24 ... -50.34 -49.34 MLT_QD (Timestamp) float64 17.6 17.32 17.05 ... 14.05 14.01 13.97 Attributes: Sources: ['SW_OPER_AEJALPL_2F_20150531T000000_20150531T235959_010... MagneticModels: [] RangeFilters: []
The AEJxLPL quality information is accessible as a separate dataset.
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description |
---|---|---|---|---|
Timestamp |
t_qual |
$-$ | scalar | UTC timestamp of the quality record |
RMS_misfit |
RMS_misfit |
$\text{nT}$ | scalar | Root Mean Square error misfit between observations and model values for the oval crossing |
Confidence |
Confidence |
$-$ | scalar | Goodness of fit computed as 1 - (residual RMS / signal RMS) for the oval crossing |
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJALPL_2F:Quality')
request.set_products(
measurements=['RMS_misfit', 'Confidence'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.037MB)
<xarray.Dataset> Dimensions: (Timestamp: 61) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:05:37 ... 2015-06-01T23:30:25 Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' RMS_misfit (Timestamp) float64 0.3433 0.5879 0.5471 ... 0.04362 0.07308 Confidence (Timestamp) float64 0.9642 0.9695 0.9793 ... 0.9834 0.9809 Attributes: Sources: ['SW_OPER_AEJALPL_2F_20150531T000000_20150531T235959_010... MagneticModels: [] RangeFilters: []
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description | |
---|---|---|---|---|---|
Timestamp |
t |
$-$ | scalar | UTC time of observation | |
Latitude |
Latitude |
Latitude |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
Longitude |
$\text{deg}$ | scalar | ITRF geocentric longitude | |
Latitude_QD |
Latitude_QD |
$\text{deg}$ | scalar | Quasi-dipole latitude | |
Longitude_QD |
Longitude_QD |
$\text{deg}$ | scalar | Quasi-dipole longitude | |
MLT_QD |
MLT |
$\text{hour}$ | scalar | Magnetic local time (QD) | |
J_CF_NE |
J_CF |
$\text{A}\ \text{km}^{-1}$ | vector [2] | North and East component of the curl-free horizontal sheet current density vector in geocentric frame | |
J_DF_NE |
J_DF |
$\text{A}\ \text{km}^{-1}$ | vector [2] | North and East component of the divergence-free horizontal sheet current density vector in geocentric frame | |
J_CF_SemiQD |
J_CF_SemiQD |
$\text{A}\ \text{km}^{-1}$ | scalar | North component of the curl-free horizontal sheet current density in semi-QD frame | |
J_DF_SemiQD |
J_DF_SemiQD |
$\text{A}\ \text{km}^{-1}$ | scalar | East component of the divergence-free horizontal sheet current density in semi-QD frame | |
J_R |
J_r |
$\text{A}\ \text{km}^{-2}$ | scalar | Radial ionospheric current density at 110 km altitude in SemiQD frame |
Note: If the standard VirES QDLat
, QDLat
and MLT
auxialiary variables default to the Latitude_QD
, Longitude_QD
, MLT_QD
stored in AEBS products if they cannot be calculated from the times and locations. (Locations in the AEBS products are incomplete due to the missing Radius
and they cannot be used to calucate the magnetic coordinates.)
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJALPS_2F')
request.set_products(
measurements=[
'Latitude_QD', 'Longitude_QD', 'MLT_QD',
'J_CF_NE', 'J_DF_NE', 'J_CF_SemiQD', 'J_DF_SemiQD', 'J_R',
],
auxiliaries=['QDLat', 'QDLon', 'MLT'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (4.836MB)
<xarray.Dataset> Dimensions: (NE: 2, Timestamp: 37416) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01 ... 2015-06-01T23:59:59 * NE (NE) <U1 'N' 'E' Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' J_CF_NE (Timestamp, NE) float64 -0.3044 22.12 ... -7.454 -1.551 Latitude_QD (Timestamp) float64 -78.32 -78.3 -78.28 ... 50.96 51.02 51.09 J_DF_NE (Timestamp, NE) float64 132.5 1.824 131.9 ... -5.264 25.3 QDLon (Timestamp) float64 -22.79 -23.08 -23.38 ... -102.3 -102.3 Longitude (Timestamp) float64 174.7 174.8 174.9 ... -164.7 -164.7 -164.6 Longitude_QD (Timestamp) float64 -22.79 -23.08 -23.38 ... -102.3 -102.3 QDLat (Timestamp) float64 -78.32 -78.3 -78.28 ... 50.96 51.02 51.09 J_CF_SemiQD (Timestamp) float64 -22.12 -22.27 -22.42 ... 8.053 7.782 7.614 Latitude (Timestamp) float64 -79.78 -79.72 -79.67 ... 53.79 53.85 53.91 MLT (Timestamp) float64 17.9 17.88 17.86 17.84 ... 12.6 12.6 12.6 J_R (Timestamp) float64 -0.08894 -0.08894 ... -0.04155 -0.01852 MLT_QD (Timestamp) float64 17.9 17.88 17.86 17.84 ... 12.6 12.6 12.6 J_DF_SemiQD (Timestamp) float64 -132.5 -131.9 -131.2 ... 25.7 25.81 25.84 Attributes: Sources: ['SW_OPER_AEJALPS_2F_20150531T000000_20150531T235959_010... MagneticModels: [] RangeFilters: []
The AEJxLPS quality information is accessible as a separate dataset.
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description |
---|---|---|---|---|
Timestamp |
t_qual |
$-$ | scalar | UTC timestamp of the quality record |
RMS_misfit |
RMS_misfit |
$\text{nT}$ | scalar | Root Mean Square error misfit between observations and model values for the oval crossing |
Confidence |
Confidence |
$-$ | scalar | Goodness of fit computed as 1 - (residual RMS / signal RMS) for the oval crossing |
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJALPS_2F:Quality')
request.set_products(
measurements=['RMS_misfit', 'Confidence'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.037MB)
<xarray.Dataset> Dimensions: (Timestamp: 61) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:34:39 ... 2015-06-01T23:59:42 Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' RMS_misfit (Timestamp) float64 2.298 4.103 2.858 3.35 ... 0.4935 1.32 2.046 Confidence (Timestamp) float64 0.8908 0.911 0.7526 ... 0.7863 0.3651 0.9071 Attributes: Sources: ['SW_OPER_AEJALPS_2F_20150531T000000_20150531T235959_010... MagneticModels: [] RangeFilters: []
VirES Variable | Source Product Variable | Unit | Dimension | Description |
---|---|---|---|---|
Timestamp |
t_Peak , t_EB , t_PB |
$-$ | scalar | UTC time of observation |
Latitude |
Latitude_Peak , Latitude_EB , Latitude_PB |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
Longitude_Peak , Longitude_EB , Longitude_PB |
$\text{deg}$ | scalar | ITRF geocentric longitude |
Latitude_QD |
Latitude_Peak_QD , Latitude_EB_QD , Latitude_PB_QD |
$\text{deg}$ | scalar | Quasi-dipole latitude |
Longitude_QD |
Longitude_Peak_QD , Longitude_EB_QD , Longitude_PB_QD |
$\text{deg}$ | scalar | Quasi-dipole longitude |
MLT_QD |
MLT_Peak , MLT_EB , MLT_PB |
$\text{hour}$ | scalar | Magnetic local time (QD) |
J_QD |
J |
$\text{A}\ \text{km}^{-1}$ | scalar | Peak eastward sheet current intensity in QD frame. Set to NaN for equatorial and polar boundaries. |
Flags |
Flags |
$-$ | scalar | Quality indicator (for more details of the binary flags see the product specification) |
PointType |
n/a | $-$ | scalar | Point type (see the details below) |
Latitude
, Longitude
, Latitude_QD
, Longitude_QD
, MLT_QD
, and J_QD
are set to NaN
if the EJ boubdaries have not been detected (also see the Flags
specification).
The multi-timestamp table structure of the source AEJxPBL products is transormed into a simple time-series. The newly introduced PointType
variable determines the type of the samples. The meaning of the bit flags is as follows:
Bit No. | False (0) | True (1) | Note |
---|---|---|---|
bit 0 (1) | WEJ | EEJ | |
bit 1 (2) | Peak | Boundary | |
bit 2 (4) | Equatorial boundary | Polar boundary | only if bit 1 set |
bit 3 (8) | Boundary pair start | Boundary pair end | only if bit 1 set |
These are the possible PointType
values:
Value | Hex. | Bin. | Meaning |
---|---|---|---|
0 | 0x0 | 0b0000 | WEJ peak (minimum) |
1 | 0x1 | 0b0001 | EEJ peak (maximum) |
2 | 0x2 | 0b0010 | WEJ equatorial boundary (pair start) |
3 | 0x3 | 0b0011 | EEJ equatorial boundary (pair start) |
6 | 0x6 | 0b0110 | WEJ polar boundary (pair start) |
7 | 0x7 | 0b0111 | EEJ polar boundary (pair start) |
10 | 0xA | 0b1010 | WEJ equatorial boundary (pair end) |
11 | 0xB | 0b1011 | EEJ equatorial boundary (pair end) |
14 | 0xE | 0b1110 | WEJ polar boundary (pair end) |
15 | 0xF | 0b1111 | EEJ polar boundary (pair end) |
Note: If the standard VirES QDLat
, QDLat
and MLT
auxialiary variables default to the Latitude_QD
, Longitude_QD
, MLT_QD
stored in AEBS products if they cannot be calculated from the times and locations. (Locations in the AEBS products are incomplete due to the missing Radius
and they cannot be used to calucate the magnetic coordinates.)
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJAPBL_2F')
request.set_products(
measurements=[
'Latitude_QD', 'Longitude_QD', 'MLT_QD',
'J_QD', 'Flags', 'PointType',
],
auxiliaries=['QDLat', 'QDLon', 'MLT'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.115MB)
<xarray.Dataset> Dimensions: (Timestamp: 366) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:02:07.298531294 ... 2015-06-01T23:33:41.800961018 Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' Latitude_QD (Timestamp) float64 -73.62 -71.39 -68.96 ... -53.14 nan -50.22 QDLon (Timestamp) float64 -52.56 -59.43 -64.89 ... -74.03 nan -76.03 Longitude (Timestamp) float64 -176.0 -174.9 -174.2 ... -165.0 nan -164.9 Longitude_QD (Timestamp) float64 -52.56 -59.43 -64.89 ... -74.03 nan -76.03 J_QD (Timestamp) float64 nan 65.0 nan nan ... nan -20.47 nan nan QDLat (Timestamp) float64 -73.62 -71.39 -68.96 ... -53.14 nan -50.22 Flags (Timestamp) uint8 80 80 80 80 80 80 ... 113 113 113 113 113 Latitude (Timestamp) float64 -72.2 -69.33 -66.45 ... -51.34 nan -48.34 MLT (Timestamp) float64 15.95 15.51 15.15 ... 14.05 nan 13.93 PointType (Timestamp) uint16 7 1 11 6 0 10 2 0 ... 14 15 6 3 1 0 15 10 MLT_QD (Timestamp) float64 15.95 15.51 15.15 ... 14.05 nan 13.93 Attributes: Sources: ['SW_OPER_AEJAPBL_2F_20150101T000000_20151231T235959_0102'] MagneticModels: [] RangeFilters: []
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description |
---|---|---|---|---|
Timestamp |
t_Peak , t_EB , t_PB |
$-$ | scalar | UTC time of observation |
Latitude |
Latitude_Peak , Latitude_EB , Latitude_PB |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
Longitude_Peak , Longitude_EB , Longitude_PB |
$\text{deg}$ | scalar | ITRF geocentric longitude |
Latitude_QD |
Latitude_Peak_QD , Latitude_EB_QD , Latitude_PB_QD |
$\text{deg}$ | scalar | Quasi-dipole latitude |
Longitude_QD |
Longitude_Peak_QD , Longitude_EB_QD , Longitude_PB_QD |
$\text{deg}$ | scalar | Quasi-dipole longitude |
MLT_QD |
MLT_Peak , MLT_EB , MLT_PB |
$\text{hour}$ | scalar | Magnetic local time (QD) |
J_DF_SemiQD |
J_DF |
$\text{A}\ \text{km}^{-1}$ | scalar | Peak eastward sheet current intensity in semi-QD frame. Set to NaN for equatorial and polar boundaries. |
Flags |
Flags |
$-$ | scalar | Quality indicator (for more details of the binary flags see the product specification) |
PointType |
n/a | $-$ | scalar | Point type (see the details below) |
Latitude
, Longitude
, Latitude_QD
, Longitude_QD
, MLT_QD
, and J_DF_SemiQD
are set to NaN
if the EJ boubdaries have not been detected (also see the Flags
specification).
The multi-timestamp table structure of the source AEJxPBS products is transormed into a simple time-series. The newly introduced PointType
variable determines the type of the samples. The meaning of the bit flags is as follows:
Bit No. | False (0) | True (1) | Note |
---|---|---|---|
bit 0 (1) | WEJ | EEJ | |
bit 1 (2) | Peak | Boundary | |
bit 2 (4) | Equatorial boundary | Polar boundary | only if bit 1 set |
bit 3 (8) | Boundary pair start | Boundary pair end | only if bit 1 set |
These are the possible PointType
values:
Value | Hex. | Bin. | Meaning |
---|---|---|---|
0 | 0x0 | 0b0000 | WEJ peak (minimum) |
1 | 0x1 | 0b0001 | EEJ peak (maximum) |
2 | 0x2 | 0b0010 | WEJ equatorial boundary (pair start) |
3 | 0x3 | 0b0011 | EEJ equatorial boundary (pair start) |
6 | 0x6 | 0b0110 | WEJ polar boundary (pair start) |
7 | 0x7 | 0b0111 | EEJ polar boundary (pair start) |
10 | 0xA | 0b1010 | WEJ equatorial boundary (pair end) |
11 | 0xB | 0b1011 | EEJ equatorial boundary (pair end) |
14 | 0xE | 0b1110 | WEJ polar boundary (pair end) |
15 | 0xF | 0b1111 | EEJ polar boundary (pair end) |
Note: If the standard VirES QDLat
, QDLat
and MLT
auxialiary variables default to the Latitude_QD
, Longitude_QD
, MLT_QD
stored in AEBS products if they cannot be calculated from the times and locations. (Locations in the AEBS products are incomplete due to the missing Radius
and they cannot be used to calucate the magnetic coordinates.)
equest = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJAPBS_2F')
request.set_products(
measurements=[
'Latitude_QD', 'Longitude_QD', 'MLT_QD',
'J_DF_SemiQD', 'Flags', 'PointType',
],
auxiliaries=['QDLat', 'QDLon', 'MLT'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.115MB)
<xarray.Dataset> Dimensions: (Timestamp: 364) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:01:32 ... 2015-06-01T23:34:07 Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' Latitude_QD (Timestamp) float64 -75.57 -75.57 -72.24 ... -54.38 -49.98 QDLon (Timestamp) float64 -45.97 -45.97 -58.46 ... -73.9 -76.97 Longitude (Timestamp) float64 -179.0 -179.0 -176.6 ... -166.0 -165.7 Longitude_QD (Timestamp) float64 -45.97 -45.97 -58.46 ... -73.9 -76.97 QDLat (Timestamp) float64 -75.57 -75.57 -72.24 ... -54.38 -49.98 Flags (Timestamp) uint8 96 96 96 96 32 32 32 ... 72 72 72 72 72 72 Latitude (Timestamp) float64 -74.35 -74.35 -69.9 ... -52.45 -47.95 MLT (Timestamp) float64 16.38 16.38 15.57 ... 14.37 14.05 13.87 PointType (Timestamp) uint16 10 7 1 11 3 1 15 2 0 ... 0 14 7 1 11 6 0 10 MLT_QD (Timestamp) float64 16.38 16.38 15.57 ... 14.37 14.05 13.87 J_DF_SemiQD (Timestamp) float64 nan nan 96.41 nan ... nan nan -7.49 nan Attributes: Sources: ['SW_OPER_AEJAPBS_2F_20150101T000000_20151231T235959_0101'] MagneticModels: [] RangeFilters: []
The AEJxPBS ground magnetic disturbance is avaialble as a separate dataset.
Avaiables Variables:
VirES Variable | Source Product Variable | Unit | Dimension | Description |
---|---|---|---|---|
Timestamp |
n/a | $-$ | scalar | UTC timestamp ⃰ |
Latitude |
Latitude_B |
$\text{deg}$ | scalar | Geodetic latitude ⃰ ⃰ |
Longitude |
Longitude_B |
$\text{deg}$ | scalar | Geodetic longitude ⃰ ⃰ |
B_NE |
B |
$\text{nT}$ | vector [2] | Peak value of the horizontal ground magnetic disturbance in the geodetic NE frame ⃰ ⃰ |
⃰ The ground magnetic disturbance timestamp is not present in the original product. It is assigned from the corresponding peak and therefore it may not excatly express the time of the disturbance event.
⃰ ⃰ Due to the missing elevation the geodetic coordinates cannot be reliably converted to ITRF geocentric ones.
SwarmRequest.COLLECTIONS['AEJ_PBS:GroundMagneticDisturbance'] = [
'SW_OPER_AEJ{}PBS_2F:GroundMagneticDisturbance'.format(x) for x in 'ABC'
]
SwarmRequest.PRODUCT_VARIABLES['AEJ_PBS:GroundMagneticDisturbance'] = ['B']
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AEJAPBS_2F:GroundMagneticDisturbance')
request.set_products(
measurements=['B'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.037MB)
<xarray.Dataset> Dimensions: (Timestamp: 121) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:02:46 ... 2015-06-01T23:32:53 Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' 'A' Latitude (Timestamp) float64 -82.66 85.2 79.07 ... -72.74 -52.89 -80.83 Longitude (Timestamp) float64 165.7 -144.9 -163.9 ... 34.37 -166.3 178.3 Attributes: Sources: ['SW_OPER_AEJAPBS_2F_20150101T000000_20151231T235959_0101'] MagneticModels: [] RangeFilters: []
Avaiables Variables:
Variable | Unit | Dimension | Description |
---|---|---|---|
Timestamp |
$-$ | scalar | UTC time of observation |
Latitude |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
$\text{deg}$ | scalar | ITRF geocentric longitude |
Latitude_QD |
$\text{deg}$ | scalar | Quasi-dipole latitude |
Longitude_QD |
$\text{deg}$ | scalar | Quasi-dipole longitude |
MLT_QD |
$\text{hour}$ | scalar | Magnetic local time (QD) |
Boundary_Flag |
$-$ | scalar | Indicator for equatorward (1) or poleward (2) boundary |
Pair_Indicator |
$-$ | scalar | Quality indicator (for more details of the binary flags see the product specification) |
Quality |
$-$ | vector [2] | Quality indicator of equatorward/poleward boundary (Pa, Sigma) |
Note: If the standard VirES QDLat
, QDLat
and MLT
auxialiary variables default to the Latitude_QD
, Longitude_QD
, MLT_QD
stored in AEBS products if they cannot be calculated from the times and locations. (Locations in the AEBS products are incomplete due to the missing Radius
and they cannot be used to calucate the magnetic coordinates.)
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_AOBAFAC_2F')
request.set_products(
measurements=[
'Latitude_QD', 'Longitude_QD', 'MLT_QD',
'Quality', 'Pair_Indicator',
],
auxiliaries=['QDLat', 'QDLon', 'MLT'],
)
data = request.get_between(
start_time='2015-06-01T00:00:00Z',
end_time='2015-06-02T00:00:00Z'
).as_xarray()
print(data)
[1/1] Processing: 100%|██████████| [ Elapsed: 00:01, Remaining: 00:00 ] Downloading: 100%|██████████| [ Elapsed: 00:00, Remaining: 00:00 ] (0.115MB)
<xarray.Dataset> Dimensions: (AOB_Quality: 2, Timestamp: 102) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2015-06-01T00:02:10.500000 ... 2015-06-01T23:26:29.500000 * AOB_Quality (AOB_Quality) <U5 'Pa' 'Sigma' Data variables: Spacecraft (Timestamp) object 'A' 'A' 'A' 'A' 'A' ... 'A' 'A' 'A' 'A' Pair_Indicator (Timestamp) int8 1 -1 1 -1 1 -1 1 -1 ... -1 0 1 -1 1 -1 0 0 Latitude_QD (Timestamp) float64 -73.47 -71.3 70.39 ... -77.08 -74.39 QDLon (Timestamp) float64 -53.11 -59.66 -115.8 ... 23.11 -38.06 Radius (Timestamp) float64 6.839e+06 6.839e+06 ... 6.839e+06 Longitude (Timestamp) float64 -175.9 -174.9 -168.6 ... 95.84 -170.6 Longitude_QD (Timestamp) float64 -53.11 -59.66 -115.8 ... 23.11 -38.06 QDLat (Timestamp) float64 -73.47 -71.3 70.39 ... -77.08 -74.39 MLT (Timestamp) float64 15.92 15.49 12.34 ... 1.21 20.36 16.34 Latitude (Timestamp) float64 -72.0 -69.22 72.77 ... -87.26 -75.78 MLT_QD (Timestamp) float64 15.92 15.49 12.34 ... 1.21 20.36 16.34 Quality (Timestamp, AOB_Quality) float64 4.012 0.1697 ... 0.2392 Attributes: Sources: ['SW_OPER_AOBAFAC_2F_20150101T000000_20151231T235959_0103'] MagneticModels: [] RangeFilters: []