This notebook demonstrates access to Swarm VOBS_1M and V_OBS_4M virtual observatory data via VirES for Swarm API.
Avalable observed and core field data collections
Collection Name | Description |
---|---|
SW_OPER_VOBS_1M_2_ |
Swarm 1 month data from all virtual observatories |
SW_OPER_VOBS_1M_2_:<code> |
Swarm 1 month data from one selected virtual observatory |
SW_OPER_VOBS_4M_2_ |
Swarm 4 month data from all virtual observatories |
SW_OPER_VOBS_4M_2_:<code> |
Swarm 4 months data from one selected virtual observatory |
Avalable field secular variation data collections
Collection Name | Description |
---|---|
SW_OPER_VOBS_1M_2_:SecularVariation |
Swarm 1 month secular variation data from all virtual observatories |
SW_OPER_VOBS_1M_2_:SecularVariation:<code> |
Swarm 1 month secular variation data from one selected virtual observatory |
SW_OPER_VOBS_4M_2_:SecularVariation |
Swarm 4 month secular variation data from all virtual observatories |
SW_OPER_VOBS_4M_2_:SecularVariation:<code> |
Swarm 4 months secular variation data from one selected virtual observatory |
The <code>
is a 7-letter "virtual observatories" identifier, unique for each of the 300 "virtual observatories".
Avalable observed and core filed variables (same for all collections)
Variable | Unit | Dimension | Description |
---|---|---|---|
SiteCode |
$-$ | char [7] | virtual observatory identifier |
Timestamp |
$-$ | scalar | UTC time of observation |
Latitude |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
$\text{deg}$ | scalar | ITRF geocentric longitude |
Radius |
$\text{m}$ | scalar | ITRF geocentric radius |
B_CF |
$\text{nT}$ | vector [3] | Core magnetic field vector in ITRF NEC frame. |
B_OB |
$\text{nT}$ | vector [3] | Observed magnetic field vector in ITRF NEC frame. |
sigma_CF |
$\text{nT}$ | vector [3] | Estimated error of the core magnetic field vector in ITRF NEC frame. |
sigma_OB |
$\text{nT}$ | vector [3] | Estimated error of the observed magnetic field vector in ITRF NEC frame. |
Avalable secular variation variables (same for all collections)
Variable | Unit | Dimension | Description |
---|---|---|---|
SiteCode |
$-$ | char [7] | virtual observatory identifier |
Timestamp |
$-$ | scalar | UTC time of observation |
Latitude |
$\text{deg}$ | scalar | ITRF geocentric latitude |
Longitude |
$\text{deg}$ | scalar | ITRF geocentric longitude |
Radius |
$\text{m}$ | scalar | ITRF geocentric radius |
B_SV |
$\text{nT}/\text{yr}$ | vector [3] | Field secular variation vector in ITRF NEC frame. |
sigma_SV |
$\text{nT}/\text{yr}$ | vector [3] | Estimated error of the field secular variation vector in ITRF NEC frame. |
from matplotlib.pyplot import figure, subplot, show
from viresclient import SwarmRequest
server_url = None # default VirES server
request = SwarmRequest(server_url)
VOBS_VARIABLES = ['SiteCode', 'B_CF', 'B_OB', 'sigma_CF', 'sigma_OB']
VOBS_SV_VARIABLES = ['SiteCode', 'B_SV', 'sigma_SV']
observatories = request.available_observatories('SW_OPER_VOBS_1M_2_', details=True)
print('Avaiable observatories and temporal extent of their data:')
print('site\t\tstartTime\t\t\tendTime')
for item in zip(observatories['site'], observatories['startTime'], observatories['endTime']):
print("%s\t\t%s\t%s" % item)
Avaiable observatories and temporal extent of their data: site startTime endTime N06E002 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E013 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E025 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E037 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E048 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E060 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E072 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E083 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E095 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E106 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E118 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E130 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E141 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E153 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E164 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06E176 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W010 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W021 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W033 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W045 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W056 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W068 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W079 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W091 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W103 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W114 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W126 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W138 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W149 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W161 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N06W172 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E002 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E014 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E026 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E038 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E050 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E062 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E074 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E086 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E098 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E110 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E122 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E134 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E146 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E158 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18E170 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W010 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W022 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W034 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W046 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W058 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W070 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W082 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W094 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W106 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W118 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W130 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W142 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W154 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W166 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N18W178 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E004 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E018 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E031 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E044 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E058 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E071 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E084 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E098 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E111 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E124 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E138 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E151 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E164 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30E178 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W009 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W022 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W036 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W049 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W062 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W076 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W089 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W102 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W116 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W129 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W142 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W156 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N30W169 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E009 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E024 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E040 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E056 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E071 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E087 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E103 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E118 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E134 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E150 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42E165 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W007 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W023 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W038 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W054 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W069 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W085 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W101 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W116 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W132 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W148 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W163 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N42W179 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E017 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E037 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E057 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E077 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E097 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E117 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E137 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E157 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54E177 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W003 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W023 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W043 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W063 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W083 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W103 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W123 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W143 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N54W163 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E004 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E032 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E059 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E087 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E115 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E142 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65E170 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W024 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W051 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W079 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W107 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W135 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N65W162 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77E026 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77E077 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77E129 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77E180 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77W026 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77W077 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N77W129 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z N90E000 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E008 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E019 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E031 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E042 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E054 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E066 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E077 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E089 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E101 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E112 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E124 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E135 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E147 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E159 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06E170 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W004 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W016 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W027 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W039 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W050 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W062 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W074 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W085 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W097 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W108 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W120 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W132 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W143 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W155 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W167 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S06W178 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E009 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E021 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E033 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E045 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E057 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E069 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E081 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E093 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E105 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E117 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E129 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E141 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E153 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E165 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18E177 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W003 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W015 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W027 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W039 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W051 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W063 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W075 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W087 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W099 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W111 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W123 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W135 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W147 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W159 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S18W171 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E012 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E025 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E039 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E052 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E065 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E079 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E092 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E105 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E119 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E132 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E145 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E159 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30E172 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W001 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W015 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W028 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W041 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W055 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W068 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W081 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W095 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W108 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W121 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W135 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W148 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W161 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S30W175 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E001 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E017 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E033 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E048 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E064 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E079 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E095 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E111 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E126 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E142 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E158 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42E173 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W014 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W030 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W046 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W061 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W077 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W093 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W108 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W124 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W140 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W155 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S42W171 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E006 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E026 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E046 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E066 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E086 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E106 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E126 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E146 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54E166 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W014 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W034 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W054 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W074 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W094 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W114 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W134 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W154 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S54W174 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E014 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E042 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E070 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E098 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E125 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65E153 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W013 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W041 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W069 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W096 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W124 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W152 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S65W179 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77E040 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77E092 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77E143 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77W011 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77W063 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77W114 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S77W166 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z S90E000 2013-12-15T12:00:00Z 2020-12-15T12:00:00Z
from matplotlib.pyplot import figure, subplot, show
from scipy.interpolate import interp1d
from cartopy.feature import LAND, OCEAN, COASTLINE
from cartopy.crs import Mollweide, Orthographic, PlateCarree
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_VOBS_1M_2_')
request.set_products(
measurements=VOBS_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data = request.get_between(
start_time='2016-01-01T00:00:00Z',
end_time='2017-01-01T00:00:00Z',
asynchronous=True,
).as_xarray()
# ---------
print(data)
text_properties = dict(
fontsize='xx-small',
fontstretch='condensed',
horizontalalignment='center',
verticalalignment='baseline',
rotation=10,
color='tab:red',
)
def add_features(ax):
ax.add_feature(LAND, facecolor=(1.0, 1.0, 0.9))
ax.add_feature(OCEAN, facecolor=(0.9, 1.0, 1.0))
ax.add_feature(COASTLINE, edgecolor='silver')
return ax
%matplotlib inline
fig = figure(figsize=(18, 18), dpi=100)
times = data['Timestamp'].values
idx = (times == times.max()).nonzero()[0]
ax = add_features(subplot(2, 1, 1, projection=Mollweide()))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
ax = add_features(subplot(2, 2, 3, projection=Orthographic(0, 90)))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
if lat < 0: continue
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
ax = add_features(subplot(2, 2, 4, projection=Orthographic(0, -90)))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
if lat > 0: continue
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
Processing: 0%| | [ Elapsed: 00:00, Remaining: ? ] [1/1]
Downloading: 0%| | [ Elapsed: 00:00, Remaining: ? ] (0.559MB)
<xarray.Dataset> Dimensions: (NEC: 3, Timestamp: 3600) Coordinates: * Timestamp (Timestamp) datetime64[ns] 2016-01-15T12:00:00 ... 2016-12-15... * NEC (NEC) <U1 'N' 'E' 'C' Data variables: Spacecraft (Timestamp) object '-' '-' '-' '-' '-' ... '-' '-' '-' '-' '-' B_CF (Timestamp, NEC) float64 1.16e+03 -393.7 ... -4.158e+04 QDLon (Timestamp) float64 170.7 115.8 155.2 ... 12.73 35.88 17.16 QDLat (Timestamp) float64 83.79 74.1 72.54 ... -62.84 -65.49 -74.87 SiteCode (Timestamp) <U7 'N90E000' 'N77E026' ... 'S77W011' 'S90E000' sigma_CF (Timestamp, NEC) float64 8.175 4.195 9.08 ... 20.5 12.42 4.802 Radius (Timestamp) float64 6.861e+06 6.861e+06 ... 6.861e+06 6.861e+06 sigma_OB (Timestamp, NEC) float64 11.69 12.07 7.988 ... 48.82 42.96 22.52 Longitude (Timestamp) float64 0.0 25.71 77.14 128.6 ... -62.67 -11.24 0.0 B_OB (Timestamp, NEC) float64 1.172e+03 -390.1 ... -4.159e+04 Latitude (Timestamp) float64 90.0 77.29 77.29 ... -77.29 -77.29 -90.0 Attributes: Sources: ['SW_OPER_VOBS_1M_2__20131215T000000_20201215T000000_0104'] MagneticModels: [] RangeFilters: []
observatories = request.available_observatories('SW_OPER_VOBS_4M_2_:SecularVariation', details=True)
print('Avaiable observatories and temporal extent of their data:')
print('site\t\tstartTime\t\t\tendTime')
for item in zip(observatories['site'], observatories['startTime'], observatories['endTime']):
print("%s\t\t%s\t%s" % item)
Avaiable observatories and temporal extent of their data: site startTime endTime N06E002 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E013 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E025 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E037 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E048 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E060 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E072 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E083 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E095 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E106 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E118 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E130 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E141 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E153 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E164 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06E176 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W010 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W021 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W033 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W045 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W056 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W068 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W079 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W091 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W103 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W114 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W126 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W138 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W149 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W161 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N06W172 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E002 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E014 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E026 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E038 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E050 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E062 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E074 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E086 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E098 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E110 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E122 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E134 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E146 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E158 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18E170 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W010 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W022 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W034 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W046 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W058 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W070 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W082 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W094 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W106 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W118 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W130 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W142 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W154 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W166 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N18W178 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E004 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E018 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E031 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E044 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E058 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E071 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E084 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E098 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E111 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E124 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E138 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E151 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E164 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30E178 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W009 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W022 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W036 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W049 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W062 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W076 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W089 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W102 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W116 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W129 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W142 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W156 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N30W169 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E009 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E024 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E040 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E056 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E071 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E087 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E103 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E118 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E134 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E150 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42E165 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W007 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W023 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W038 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W054 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W069 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W085 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W101 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W116 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W132 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W148 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W163 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N42W179 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E017 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E037 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E057 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E077 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E097 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E117 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E137 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E157 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54E177 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W003 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W023 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W043 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W063 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W083 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W103 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W123 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W143 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N54W163 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E004 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E032 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E059 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E087 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E115 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E142 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65E170 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W024 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W051 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W079 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W107 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W135 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N65W162 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77E026 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77E077 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77E129 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77E180 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77W026 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77W077 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N77W129 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z N90E000 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E008 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E019 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E031 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E042 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E054 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E066 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E077 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E089 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E101 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E112 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E124 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E135 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E147 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E159 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06E170 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W004 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W016 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W027 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W039 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W050 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W062 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W074 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W085 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W097 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W108 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W120 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W132 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W143 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W155 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W167 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S06W178 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E009 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E021 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E033 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E045 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E057 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E069 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E081 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E093 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E105 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E117 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E129 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E141 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E153 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E165 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18E177 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W003 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W015 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W027 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W039 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W051 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W063 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W075 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W087 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W099 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W111 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W123 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W135 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W147 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W159 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S18W171 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E012 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E025 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E039 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E052 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E065 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E079 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E092 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E105 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E119 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E132 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E145 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E159 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30E172 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W001 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W015 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W028 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W041 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W055 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W068 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W081 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W095 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W108 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W121 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W135 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W148 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W161 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S30W175 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E001 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E017 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E033 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E048 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E064 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E079 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E095 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E111 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E126 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E142 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E158 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42E173 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W014 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W030 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W046 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W061 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W077 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W093 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W108 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W124 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W140 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W155 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S42W171 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E006 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E026 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E046 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E066 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E086 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E106 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E126 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E146 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54E166 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W014 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W034 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W054 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W074 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W094 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W114 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W134 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W154 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S54W174 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E014 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E042 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E070 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E098 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E125 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65E153 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W013 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W041 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W069 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W096 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W124 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W152 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S65W179 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77E040 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77E092 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77E143 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77W011 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77W063 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77W114 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S77W166 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z S90E000 2014-09-15T12:00:00Z 2020-05-15T12:00:00Z
request = SwarmRequest(server_url)
request.set_collection('SW_OPER_VOBS_4M_2_:SecularVariation')
request.set_products(
measurements=VOBS_SV_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data = request.get_between(
start_time='2016-01-01T00:00:00Z',
end_time='2017-01-01T00:00:00Z',
asynchronous=True,
).as_xarray()
# ---------
print(data)
text_properties = dict(
fontsize='xx-small',
fontstretch='condensed',
horizontalalignment='center',
verticalalignment='baseline',
rotation=10,
color='tab:red',
)
def add_features(ax):
ax.add_feature(LAND, facecolor=(1.0, 1.0, 0.9))
ax.add_feature(OCEAN, facecolor=(0.9, 1.0, 1.0))
ax.add_feature(COASTLINE, edgecolor='silver')
return ax
%matplotlib inline
fig = figure(figsize=(18, 18), dpi=100)
times = data['Timestamp'].values
idx = (times == times.max()).nonzero()[0]
ax = add_features(subplot(2, 1, 1, projection=Mollweide()))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
ax = add_features(subplot(2, 2, 3, projection=Orthographic(0, 90)))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
if lat < 0: continue
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
ax = add_features(subplot(2, 2, 4, projection=Orthographic(0, -90)))
for lat, lon, code in zip(data['Latitude'].values[idx], data['Longitude'].values[idx], data['SiteCode'].values[idx]):
if lat > 0: continue
ax.plot(lon, lat, '.', ms=6, alpha=0.5, color='tab:blue', transform=PlateCarree())
ax.text(lon, lat, code, transform=PlateCarree(), **text_properties )
Processing: 0%| | [ Elapsed: 00:00, Remaining: ? ] [1/1]
from datetime import datetime
site = 'S77W114'
request = SwarmRequest(server_url)
request.set_collection(f'SW_OPER_VOBS_1M_2_:{site}')
request.set_products(
measurements=VOBS_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data_1m = request.get_between(
start_time='2013-01-01T10:00:00Z',
end_time=datetime.now(),
asynchronous=False,
).as_xarray()
print(data_1m)
# ---------
request = SwarmRequest(server_url)
request.set_collection(f'SW_OPER_VOBS_4M_2_:{site}')
request.set_products(
measurements=VOBS_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data_4m = request.get_between(
start_time='2013-01-01T10:00:00Z',
end_time=datetime.now(),
asynchronous=False,
).as_xarray()
print(data_4m)
# ---------
request = SwarmRequest(server_url)
request.set_collection(f'SW_OPER_VOBS_1M_2_:SecularVariation:{site}')
request.set_products(
measurements=VOBS_SV_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data_1m_sv = request.get_between(
start_time='2013-01-01T10:00:00Z',
end_time=datetime.now(),
asynchronous=False,
).as_xarray()
print(data_1m)
# ---------
request = SwarmRequest(server_url)
request.set_collection(f'SW_OPER_VOBS_4M_2_:SecularVariation:{site}')
request.set_products(
measurements=VOBS_SV_VARIABLES,
auxiliaries=['QDLat', 'QDLon'],
)
data_4m_sv = request.get_between(
start_time='2013-01-01T10:00:00Z',
end_time=datetime.now(),
asynchronous=False,
).as_xarray()
print(data_4m)
%matplotlib inline
fig = figure(figsize=(18, 18), dpi=100)
ax = subplot(3, 1, 1)
h_cf_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_CF'].values[:, 0], 'o', ms=4)
h_ob_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_OB'].values[:, 0], 'o', ms=5, mfc='none')
h_cf_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_CF'].values[:, 0], 's', ms=4)
h_ob_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_OB'].values[:, 0], 's', ms=5, mfc='none')
ax.set_title(site)
ax.set_ylabel('B_N / nT')
ax.grid()
ax.legend(
[h_cf_1m, h_ob_1m, h_cf_4m, h_ob_4m],
['VOBS_1M - core field', 'VOBS_1M - observed field', 'VOBS_4M - core field', 'VOBS_4M - observed field']
)
ax = subplot(3, 1, 2)
h_cf_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_CF'].values[:, 1], 'o', ms=4)
h_ob_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_OB'].values[:, 1], 'o', ms=5, mfc='none')
h_cf_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_CF'].values[:, 1], 's', ms=4)
h_ob_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_OB'].values[:, 1], 's', ms=5, mfc='none')
ax.set_title(site)
ax.set_ylabel('B_E / nT')
ax.grid()
ax.legend(
[h_cf_1m, h_ob_1m, h_cf_4m, h_ob_4m],
['VOBS_1M - core field', 'VOBS_1M - observed field', 'VOBS_4M - core field', 'VOBS_4M - observed field']
)
ax = subplot(3, 1, 3)
h_cf_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_CF'].values[:, 2], 'o', ms=4)
h_ob_1m, = ax.plot(data_1m['Timestamp'].values, data_1m['B_OB'].values[:, 2], 'o', ms=5, mfc='none')
h_cf_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_CF'].values[:, 2], 's', ms=4)
h_ob_4m, = ax.plot(data_4m['Timestamp'].values, data_4m['B_OB'].values[:, 2], 's', ms=5, mfc='none')
ax.set_title(site)
ax.set_ylabel('B_C / nT')
ax.grid()
ax.legend(
[h_cf_1m, h_ob_1m, h_cf_4m, h_ob_4m],
['VOBS_1M - core field', 'VOBS_1M - observed field', 'VOBS_4M - core field', 'VOBS_4M - observed field']
)
show()
%matplotlib inline
fig = figure(figsize=(18, 18), dpi=100)
ax = subplot(3, 1, 1)
h_sv_1m, = ax.plot(data_1m_sv['Timestamp'].values, data_1m_sv['B_SV'].values[:, 0], 'o', ms=4)
h_sv_4m, = ax.plot(data_4m_sv['Timestamp'].values, data_4m_sv['B_SV'].values[:, 0], 'o', ms=4)
ax.set_title(site)
ax.set_ylabel('dB_N/dt / nT/yr')
ax.grid()
ax.legend([h_sv_1m, h_sv_4m], ['VOBS_1M - secular variation', 'VOBS_4M - secular variation'])
ax = subplot(3, 1, 2)
h_sv_1m, = ax.plot(data_1m_sv['Timestamp'].values, data_1m_sv['B_SV'].values[:, 1], 'o', ms=4)
h_sv_4m, = ax.plot(data_4m_sv['Timestamp'].values, data_4m_sv['B_SV'].values[:, 1], 'o', ms=4)
ax.set_title(site)
ax.set_ylabel('dB_E/dt / nT/yr')
ax.grid()
ax.legend([h_sv_1m, h_sv_4m], ['VOBS_1M - secular variation', 'VOBS_4M - secular variation'])
ax = subplot(3, 1, 3)
h_sv_1m, = ax.plot(data_1m_sv['Timestamp'].values, data_1m_sv['B_SV'].values[:, 2], 'o', ms=4)
h_sv_4m, = ax.plot(data_4m_sv['Timestamp'].values, data_4m_sv['B_SV'].values[:, 2], 'o', ms=4)
ax.set_title(site)
ax.set_ylabel('dB_C/dt / nT/yr')
ax.grid()
ax.legend([h_sv_1m, h_sv_4m], ['VOBS_1M - secular variation', 'VOBS_4M - secular variation'])
show()