Available parameters for Swarm data


See also: Jupyter notebook about data and model availability - check out the other demo notebooks there too.

You can check which parameters are available with:

from viresclient import SwarmRequest
request = SwarmRequest()

The available measurements are segregated according to the “collection” (essentially Swarm products): each collection has a number of measurements associated with it, and the appropriate collection must be set in order to access the measurements. auxiliaries are available together with any set collection. models provide magnetic model evaluation on demand, at the locations of the time series which is being accessed (when accessing magnetic field data such as MAG or MAG_HR). Standard positional variables always returned, such as Timestamp, Spacecraft, geocentric Latitude, Longitude, Radius.

See the Swarm Data Handbook for details about the products and Swarm Product Demos (Jupyter notebooks) for basic recipes to get started.


Collections are grouped according to a type containing similar measurements (i.e. the same product from different spacecraft). The collection type can be given to viresclient.SwarmRequest.available_collections() to retrieve the full collection names. These cover the Swarm data products as below (replace x with A, B, or C for Alpha, Bravo, or Charlie):

Collection full name Collection type Description
SW_OPER_MAGx_LR_1B MAG Magnetic field (1Hz) from VFM and ASM
SW_OPER_MAGx_HR_1B MAG_HR Magnetic field (50Hz) from VFM
SW_OPER_EFIx_LP_1B EFI Electric field instrument (Langmuir probe measurements at 2Hz)
SW_OPER_IPDxIRR_2F IPD Ionospheric plasma characteristics (derived quantities at 1Hz)
SW_OPER_TECxTMS_2F TEC Total electron content
SW_OPER_FACxTMS_2F FAC Field-aligned currents (single satellite)
SW_OPER_FAC_TMS_2F FAC Field-aligned currents (dual-satellite A-C)
SW_OPER_EEFxTMS_2F EEF Equatorial electric field
SW_OPER_IBIxTMS_2F IBI Ionospheric bubble index

The AEBS (auroral electrojets and boundaries) products are a bit more complicated:

Collection full name Collection type Description
SW_OPER_AEJxLPL_2F AEJ_LPL Auroral electrojets line profile - Line current method (LC)
SW_OPER_AEJxLPL_2F:Quality AEJ_LPL:Quality -> Quality indicators per orbital section from LC
SW_OPER_AEJxPBL_2F AEJ_PBL -> Peaks and boundaries from LC
SW_OPER_AEJxLPS_2F AEJ_LPS Auroral electrojets line profile - SECS method
SW_OPER_AEJxLPS_2F:Quality AEJ_LPS:Quality -> Quality indicators per orbital section from SECS
SW_OPER_AEJxPBS_2F AEJ_PBS -> Peaks and boundaries from SECS
SW_OPER_AEJxPBS_2F:GroundMagneticDisturbance AEJ_PBS:GroundMagneticDisturbance -> Location and strength of peak ground disturbance per pass
SW_OPER_AOBxFAC_2F AOB_FAC Auroral oval boundaries derived from FACs

The AUX_OBS collections contain ground magnetic observatory data from INTERMAGNET and WDC. Please note that these data are provided under different usage terms than the ESA data, and must be acknowledged accordingly.

Collection full name Collection type Description
SW_OPER_AUX_OBSH2_ AUX_OBSH Hourly values derived from both WDC and INTERMAGNET data

The AUX_OBS collections contain data from all observatories together (distinguishable by the IAGA_code variable). Data from a single observatory can be accessed with special collection names like SW_OPER_AUX_OBSM2_:ABK where ABK can be replaced with the IAGA code of the observatory. Use viresclient.SwarmRequest.available_observatories() to find these IAGA codes.

The VOBS collections contain derived magnetic measurements from Geomagnetic Virtual Observatories and have a similar interface as the AUX_OBS collections. The data are organised across several collections:

Collection full name Collection type Description
SW_OPER_VOBS_1M_2_ VOBS_SW_1M Swarm (1-monthly cadence)
SW_OPER_VOBS_4M_2_ VOBS_SW_4M Swarm (4-monthly)
OR_OPER_VOBS_4M_2_ VOBS_OR_4M Ørsted (4-monthly)
CH_OPER_VOBS_4M_2_ VOBS_CH_4M CHAMP (4-monthly)
CR_OPER_VOBS_4M_2_ VOBS_CR_4M Cryosat-2 (4-monthly)
CO_OPER_VOBS_4M_2_ VOBS_CO_4M Composite time series from Ørsted, CHAMP, Cryosat-2, & Swarm (4-monthly)
SW_OPER_VOBS_1M_2_:SecularVariation VOBS_SW_1M:SecularVariation Secular variation (B_SV) from Swarm 1-monthly
(ditto for the others)    

Each VOBS product (e.g. Swarm 1-monthly) is split into two collections (e.g. SW_OPER_VOBS_1M_2_ (containing B_OB & B_CF) and SW_OPER_VOBS_1M_2_:SecularVariation (containing B_SV)) because of the different temporal sampling points (i.e. differing Timestamp) of these measurements. Data can also be requested for a specific virtual observatory alone (distinguishable by the SiteCode variable) with special collection names like SW_OPER_VOBS_1M_2_:N65W051 and SW_OPER_VOBS_1M_2_:SecularVariation:N65W051.

The measurements, models, and auxiliaries chosen will match the cadence of the collection chosen.


Choose combinations of measurements from one of the following sets, corresponding to the collection chosen above. The collection full name or collection type can be given to viresclient.SwarmRequest.available_measurements() to retrieve the list of available measurements for a given collection (e.g. request.available_measurements("SW_OPER_MAGA_LR_1B"))

Collection type Available measurement names
MAG F,dF_AOCS,dF_other,F_error,B_VFM,B_NEC,dB_Sun,dB_AOCS,dB_other,B_error,q_NEC_CRF,Att_error,Flags_F,Flags_B,Flags_q,Flags_Platform,ASM_Freq_Dev
MAG_HR F,B_VFM,B_NEC,dB_Sun,dB_AOCS,dB_other,B_error,q_NEC_CRF,Att_error,Flags_B,Flags_q,Flags_Platform,ASM_Freq_Dev
EFI U_orbit,Ne,Ne_error,Te,Te_error,Vs,Vs_error,Flags_LP,Flags_Ne,Flags_Te,Flags_Vs
IPD Ne,Te,Background_Ne,Foreground_Ne,PCP_flag,Grad_Ne_at_100km,Grad_Ne_at_50km,Grad_Ne_at_20km,Grad_Ne_at_PCP_edge,ROD,RODI10s,RODI20s,delta_Ne10s,delta_Ne20s,delta_Ne40s,Num_GPS_satellites,mVTEC,mROT,mROTI10s,mROTI20s,IBI_flag,Ionosphere_region_flag,IPIR_index,Ne_quality_flag,TEC_STD
TEC GPS_Position,LEO_Position,PRN,L1,L2,P1,P2,S1,S2,Elevation_Angle,Absolute_VTEC,Absolute_STEC,Relative_STEC,Relative_STEC_RMS,DCB,DCB_Error
FAC IRC,IRC_Error,FAC,FAC_Error,Flags,Flags_F,Flags_B,Flags_q
EEF EEF,EEJ,RelErr,Flags
IBI Bubble_Index,Bubble_Probability,Flags_Bubble,Flags_F,Flags_B,Flags_q

AEBS products:

Collection type Available measurement names
AEJ_LPL Latitude_QD,Longitude_QD,MLT_QD,J_NE,J_QD
AEJ_LPL:Quality RMS_misfit,Confidence
AEJ_PBL Latitude_QD,Longitude_QD,MLT_QD,J_QD,Flags,PointType
AEJ_LPS Latitude_QD,Longitude_QD,MLT_QD,J_CF_NE,J_DF_NE,J_CF_SemiQD,J_DF_SemiQD,J_R
AEJ_LPS:Quality RMS_misfit,Confidence
AEJ_PBS Latitude_QD,Longitude_QD,MLT_QD,J_DF_SemiQD,Flags,PointType
AEJ_PBS:GroundMagneticDisturbance B_NE
AOB_FAC Latitude_QD,Longitude_QD,MLT_QD,Boundary_Flag,Quality,Pair_Indicator

AUX_OBS products:

Collection type Available measurement names
AUX_OBSH B_NEC,F,IAGA_code,Quality,ObsIndex
AUX_OBSM B_NEC,F,IAGA_code,Quality
AUX_OBSS B_NEC,F,IAGA_code,Quality

AUX_OBSH contains a special variable, ObsIndex, which is set to 0, 1, 2 … to indicate changes to the observatory where the IAGA code has remained the same (e.g. small change of location, change of instrument or calibration procedure).

VOBS products:

Collection full name Available measurement names
SW_OPER_VOBS_1M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
SW_OPER_VOBS_4M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
OR_OPER_VOBS_4M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
CH_OPER_VOBS_4M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
CR_OPER_VOBS_4M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
CO_OPER_VOBS_4M_2_ SiteCode,B_CF,B_OB,sigma_CF,sigma_OB
SW_OPER_VOBS_1M_2_:SecularVariation SiteCode,B_SV,sigma_SV
(ditto for the others)  


Models are evaluated along the satellite track at the positions of the time series that has been requested. These must be used together with one of the MAG collections, and one or both of the “F” and “B_NEC” measurements. This can yield either the model values together with the measurements, or the data-model residuals.


For a good estimate of the ionospheric field measured by a Swarm satellite (with the core, crust and magnetosphere effects removed) use a composed model defined as: models=["'CHAOS-full' = 'CHAOS-Core' + 'CHAOS-Static' + 'CHAOS-MMA-Primary' + 'CHAOS-MMA-Secondary'"] (click for more info)

This composed model can also be accessed by an alias: models=["CHAOS"] which represents the full CHAOS model

See Magnetic Earth for an introduction to geomagnetic models.


# Comprehensive inversion (CI) models:
MCO_SHA_2C,                                # Core
MLI_SHA_2C,                                # Lithosphere
MMA_SHA_2C-Primary, MMA_SHA_2C-Secondary,  # Magnetosphere
MIO_SHA_2C-Primary, MIO_SHA_2C-Secondary,  # Ionosphere

# Dedicated inversion models:
MCO_SHA_2D,                                # Core
MLI_SHA_2D, MLI_SHA_2E                     # Lithosphere
MIO_SHA_2D-Primary, MIO_SHA_2D-Secondary   # Ionosphere
AMPS                                       # High-latitude ionosphere

# Fast-track models:
MMA_SHA_2F-Primary, MMA_SHA_2F-Secondary,  # Magnetosphere

# CHAOS models:
CHAOS-Core,                                # Core
CHAOS-Static,                              # Lithosphere
CHAOS-MMA-Primary, CHAOS-MMA-Secondary     # Magnetosphere

# Other lithospheric models:
MF7, LCS-1

# Aliases for compositions of the above models (shortcuts)
MCO_SHA_2X    # 'CHAOS-Core'
CHAOS-MMA     # 'CHAOS-MMA-Primary' + 'CHAOS-MMA-Secondary'
CHAOS         # 'CHAOS-Core' + 'CHAOS-Static' + 'CHAOS-MMA-Primary' + 'CHAOS-MMA-Secondary'
MMA_SHA_2F    # 'MMA_SHA_2F-Primary' + 'MMA_SHA_2F-Secondary'
MMA_SHA_2C    # 'MMA_SHA_2C-Primary' + 'MMA_SHA_2C-Secondary'
MIO_SHA_2C    # 'MIO_SHA_2C-Primary' + 'MIO_SHA_2C-Secondary'
MIO_SHA_2D    # 'MIO_SHA_2D-Primary' + 'MIO_SHA_2D-Secondary'
SwarmCI       # 'MCO_SHA_2C' + 'MLI_SHA_2C' + 'MIO_SHA_2C-Primary' + 'MIO_SHA_2C-Secondary' + 'MMA_SHA_2C-Primary' + 'MMA_SHA_2C-Secondary'

Custom (user uploaded) models can be provided as a .shc file and become accessible in the same way as pre-defined models, under the name "Custom_Model".

Flexible evaluation of models and defining new derived models is possible with the “model expressions” functionality whereby models can be defined like:

  models=["Combined_model = 'MMA_SHA_2F-Primary'(min_degree=1,max_degree=1) + 'MMA_SHA_2F-Secondary'(min_degree=1,max_degree=1)"],

In this case, model evaluations will then be available in the returned data under the name “Combined_model”, but you can name it however you like.

NB: When using model names containing a hyphen (-) then extra single (') or double (") quotes must be used around the model name. This is to distinguish from arithmetic minus (-).


SyncStatus, Kp10, Kp, Dst, IMF_BY_GSM, IMF_BZ_GSM, IMF_V, F107, F10_INDEX,
OrbitDirection, QDOrbitDirection,
OrbitSource, OrbitNumber, AscendingNodeTime,
AscendingNodeLongitude, QDLat, QDLon, QDBasis, MLT, SunDeclination,
SunHourAngle, SunRightAscension, SunAzimuthAngle, SunZenithAngle,
SunLongitude, SunVector, DipoleAxisVector, NGPLatitude, NGPLongitude,


  • Kp provides the Kp values in fractional form (e.g 2.2), and Kp10 is multiplied by 10 (as integers)
  • F107 is the hourly 10.7 cm solar radio flux value, and F10_INDEX is the daily average
  • QDLat and QDLon are quasi-dipole coordinates
  • MLT is calculated from the QDLon and the subsolar position
  • OrbitDirection and QDOrbitDirection flags indicate if the satellite is moving towards or away from each pole, respectively for geographic and quasi-dipole magnetic poles. +1 for ascending, and -1 for descending (in latitude); 0 for no data.


Check other packages such as hapiclient and others from PyHC for data from other sources.