Skip to content

Commit 061b896

Browse files
smitharapacesm
andauthored
Add TIRO products (#125)
* Adding TIRO TECxTMS_2F and NE__KBR_2F collections - CHAMP, GRACE 1,2, and GRACE-FO 1,2 TECxTMS_2F - GRACE, and GRACE-FO dual spacecraft NE__KBR_2F * Extract either "UNIT" or "UNITS" from CDF --------- Co-authored-by: Martin Paces <[email protected]>
1 parent 0ebf14f commit 061b896

File tree

3 files changed

+63
-2
lines changed

3 files changed

+63
-2
lines changed

docs/available_parameters.rst

+11
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,17 @@ MM_CON_SPH_2\_:crossover Conjunction information (times w
113113
MM_CON_SPH_2\_:plane_alignment Conjunction information (times when orbital planes align)
114114
============================== ================ ===================================================================================================
115115

116+
The `TIRO project <https://earth.esa.int/eogateway/activities/tiro>`_ provides products for TEC and Ne derived from CHAMP, GRACE, and GRACE-FO:
117+
============================== ================
118+
Collection full name Collection type
119+
============================== ================
120+
CH_OPER_TEC_TMS_2F TEC_TIRO
121+
GR_OPER_TECxTMS_2F TEC_TIRO
122+
GF_OPER_TECxTMS_2F TEC_TIRO
123+
GR_OPER_NE__KBR_2F NE_TIRO
124+
GF_OPER_NE__KBR_2F NE_TIRO
125+
============================== ================
126+
116127
`ULF wave products <https://earth.esa.int/eogateway/activities/swarm-ulf-ionosphere>`_ are provided as:
117128

118129
================================= ===================

src/viresclient/_client_swarm.py

+49-1
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,15 @@
216216
"WND_ACC_GRACE": ("https://swarmhandbook.earth.esa.int/catalogue/GR_WNDxACC_2_",),
217217
"WND_ACC_GFO": ("https://swarmhandbook.earth.esa.int/catalogue/GF_WNDxACC_2_",),
218218
"MM_CON_EPH_2_": ("https://swarmhandbook.earth.esa.int/catalogue/MM_CON_EPH_2_",),
219+
"TEC_TIRO": (
220+
"https://swarmhandbook.earth.esa.int/catalogue/CH_TEC_TMS_2F",
221+
"https://swarmhandbook.earth.esa.int/catalogue/GR_TECxTMS_2F",
222+
"https://swarmhandbook.earth.esa.int/catalogue/GR_TECxTMS_2F",
223+
),
224+
"NE_TIRO": (
225+
"https://swarmhandbook.earth.esa.int/catalogue/GR_NE__KBR_2F",
226+
"https://swarmhandbook.earth.esa.int/catalogue/GF_NE__KBR_2F",
227+
),
219228
"ULF_MAG": ("https://swarmhandbook.earth.esa.int/catalogue/SW_ULFxMAG_2F",),
220229
"PC1_MAG": ("https://swarmhandbook.earth.esa.int/catalogue/SW_PC1xMAG_2F",),
221230
}
@@ -630,6 +639,18 @@ class SwarmRequest(ClientRequest):
630639
"MAG_GFO_ML": ["GF1_MAG_ACAL_CORR_ML", "GF2_MAG_ACAL_CORR_ML"],
631640
"MAG_GOCE": ["GO_MAG_ACAL_CORR"],
632641
"MAG_GOCE_ML": ["GO_MAG_ACAL_CORR_ML"],
642+
# Multi-mission TEC and NE products
643+
"TEC_TIRO": [
644+
"CH_OPER_TEC_TMS_2F",
645+
"GR_OPER_TEC1TMS_2F",
646+
"GR_OPER_TEC2TMS_2F",
647+
"GF_OPER_TEC1TMS_2F",
648+
"GF_OPER_TEC2TMS_2F",
649+
],
650+
"NE_TIRO": [
651+
"GR_OPER_NE__KBR_2F",
652+
"GF_OPER_NE__KBR_2F",
653+
],
633654
# Swarm spacecraft positions
634655
"MOD_SC": [
635656
*(f"SW_OPER_MOD{x}_SC_1B" for x in "ABC"),
@@ -707,7 +728,7 @@ class SwarmRequest(ClientRequest):
707728
"EFI_TCT02": "PT0.5S",
708729
"EFI_TCT16": "PT0.0625S",
709730
"IBI": "PT1S",
710-
"TEC": "PT1S", # Actually more complicated
731+
"TEC": "PT1S", # Actually more complicated - non-unique samples
711732
"FAC": "PT1S",
712733
"EEF": "PT90M",
713734
"IPD": "PT1S",
@@ -752,6 +773,8 @@ class SwarmRequest(ClientRequest):
752773
"WND_ACC_GFO": "PT10S",
753774
"MM_CON_EPH_2_:crossover": "PT20M",
754775
"MM_CON_EPH_2_:plane_alignment": "P1D",
776+
"TEC_TIRO": "PT1S", # Actually more complicated - non-unique samples
777+
"NE_TIRO": "PT5S",
755778
"ULF_MAG": "PT1M",
756779
"ULF_MAG:event": "PT1S", # irregular sampling
757780
"ULF_MAG:event_mean": "PT1M", # irregular sampling
@@ -929,6 +952,31 @@ class SwarmRequest(ClientRequest):
929952
"DCB",
930953
"DCB_Error",
931954
],
955+
"TEC_TIRO": [
956+
"GPS_Position",
957+
"LEO_Position",
958+
"PRN",
959+
"L1",
960+
"L2",
961+
"P1",
962+
"P2",
963+
"S1_C_N0",
964+
"S2_C_N0",
965+
"Elevation_Angle",
966+
"Absolute_VTEC",
967+
"Absolute_STEC",
968+
"Relative_STEC",
969+
"Relative_STEC_RMS",
970+
"DCB",
971+
"DCB_Error",
972+
],
973+
"NE_TIRO": [
974+
"LEO_Position",
975+
"Distance",
976+
"Relative_Hor_TEC",
977+
"Relative_Ne",
978+
"Absolute_Ne",
979+
],
932980
"FAC": [
933981
"IRC",
934982
"IRC_Error",

src/viresclient/_data_handling.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,9 @@ def get_variable(self, var):
164164
return data
165165

166166
def get_variable_units(self, var):
167-
return self._varatts[var].get("UNITS", "")
167+
units = self._varatts[var].get("UNITS", "")
168+
unit = self._varatts[var].get("UNIT", "")
169+
return unit or units
168170

169171
def get_variable_description(self, var):
170172
desc = self._varatts[var].get("DESCRIPTION", "")

0 commit comments

Comments
 (0)