GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
galileo_iono.h
Go to the documentation of this file.
1 /*!
2  * \file galileo_iono.h
3  * \brief Interface of a Galileo Ionospheric Model storage
4  * \author Javier Arribas, 2013. jarribas(at)cttc.es
5  * \author Mara Branzanti 2013. mara.branzanti(at)gmail.com
6  * -----------------------------------------------------------------------------
7  *
8  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
9  *
10  * GNSS-SDR is a software defined Global Navigation
11  * Satellite Systems receiver
12  *
13  * This file is part of GNSS-SDR.
14  *
15  * SPDX-License-Identifier: GPL-3.0-or-later
16  *
17  * -----------------------------------------------------------------------------
18  */
19 
20 
21 #ifndef GNSS_SDR_GALILEO_IONO_H
22 #define GNSS_SDR_GALILEO_IONO_H
23 
24 #include <boost/serialization/nvp.hpp>
25 #include <cstdint>
26 
27 /*!
28  * \brief This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5.1.6
29  *
30  * See https://www.gsc-europa.eu/sites/default/files/sites/all/files/Galileo-OS-SIS-ICD.pdf
31  */
33 {
34 public:
35  /*!
36  * Default constructor
37  */
38  Galileo_Iono() = default;
39 
40  // Ionospheric correction
41  double ai0_5{}; //!< Effective Ionisation Level 1st order parameter [sfu]
42  double ai1_5{}; //!< Effective Ionisation Level 2st order parameter [sfu/degree]
43  double ai2_5{}; //!< Effective Ionisation Level 3st order parameter [sfu/degree]
44 
45  // from page 5 (UTC) to have a timestamp
46  int32_t TOW_5{}; //!< UTC data reference Time of Week [s]
47  int32_t WN_5{}; //!< UTC data reference Week number [week]
48 
49  // Ionospheric disturbance flag
50  bool Region1_flag_5{}; //!< Ionospheric Disturbance Flag for region 1
51  bool Region2_flag_5{}; //!< Ionospheric Disturbance Flag for region 2
52  bool Region3_flag_5{}; //!< Ionospheric Disturbance Flag for region 3
53  bool Region4_flag_5{}; //!< Ionospheric Disturbance Flag for region 4
54  bool Region5_flag_5{}; //!< Ionospheric Disturbance Flag for region 5
55 
56  template <class Archive>
57 
58  /*!
59  * \brief Serialize is a boost standard method to be called by the boost XML serialization.
60  Here is used to save the iono data on disk file.
61  */
62  inline void serialize(Archive& archive, const unsigned int version)
63  {
64  using boost::serialization::make_nvp;
65  if (version)
66  {
67  };
68  archive& make_nvp("ai0_5", ai0_5);
69  archive& make_nvp("ai1_5", ai1_5);
70  archive& make_nvp("ai2_5", ai2_5);
71  archive& make_nvp("TOW_5", TOW_5);
72  archive& make_nvp("WN_5", WN_5);
73  archive& make_nvp("Region1_flag_5", Region1_flag_5);
74  archive& make_nvp("Region2_flag_5", Region2_flag_5);
75  archive& make_nvp("Region3_flag_5", Region3_flag_5);
76  archive& make_nvp("Region4_flag_5", Region4_flag_5);
77  archive& make_nvp("Region5_flag_5", Region5_flag_5);
78  }
79 };
80 
81 #endif
bool Region1_flag_5
Ionospheric Disturbance Flag for region 1.
Definition: galileo_iono.h:50
int32_t TOW_5
UTC data reference Time of Week [s].
Definition: galileo_iono.h:46
bool Region4_flag_5
Ionospheric Disturbance Flag for region 4.
Definition: galileo_iono.h:53
double ai1_5
Effective Ionisation Level 2st order parameter [sfu/degree].
Definition: galileo_iono.h:42
double ai0_5
Effective Ionisation Level 1st order parameter [sfu].
Definition: galileo_iono.h:41
bool Region3_flag_5
Ionospheric Disturbance Flag for region 3.
Definition: galileo_iono.h:52
int32_t WN_5
UTC data reference Week number [week].
Definition: galileo_iono.h:47
Galileo_Iono()=default
bool Region2_flag_5
Ionospheric Disturbance Flag for region 2.
Definition: galileo_iono.h:51
This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5...
Definition: galileo_iono.h:32
double ai2_5
Effective Ionisation Level 3st order parameter [sfu/degree].
Definition: galileo_iono.h:43
bool Region5_flag_5
Ionospheric Disturbance Flag for region 5.
Definition: galileo_iono.h:54
void serialize(Archive &archive, const unsigned int version)
Serialize is a boost standard method to be called by the boost XML serialization. Here is used to sav...
Definition: galileo_iono.h:62