Class containing data elements unique to NeQuick ionospheric model. Design criteria:
References: [galileo:iono] [itur:iono]
Definition at line 81 of file NeQuickIonoNavData.hpp.
#include <NeQuickIonoNavData.hpp>

Classes | |
| class | IntegrationParameters |
| Class to contain data used when integrating TEC. More... | |
| class | ModelParameters |
| Aggregate the model parameters as defined in section 2.5.5. More... | |
Public Member Functions | |
| void | dump (std::ostream &s, DumpDetail dl) const override |
| double | getIonoCorr (const CommonTime &when, const Position &rxgeo, const Position &svgeo, CarrierBand band) const override |
| double | getTEC (const CommonTime &when, const Position &rxgeo, const Position &svgeo) const |
| NeQuickIonoNavData () | |
| Initialize internal data. More... | |
| bool | validate () const override |
Public Member Functions inherited from gnsstk::IonoNavData | |
| std::list< std::string > | compare (const NavDataPtr &right) const override |
| IonoNavData () | |
| Set the messageType. More... | |
| bool | isSameData (const NavDataPtr &right) const override |
| virtual | ~IonoNavData () |
| Obligatory virtual destructor. More... | |
Public Member Functions inherited from gnsstk::NavData | |
| virtual NavDataPtr | clone () const =0 |
| Create a deep copy of this object, whatever it truly is. More... | |
| virtual std::string | getClassName () const |
| std::string | getDumpTime (DumpDetail dl, const CommonTime &t) const |
| std::string | getDumpTimeHdr (DumpDetail dl) const |
| virtual CommonTime | getNearTime () const |
| std::string | getSignalString () const |
| bool | getSVN (const SatID &sat, const gnsstk::CommonTime &when, std::string &svn) const |
| virtual CommonTime | getUserTime () const |
| NavData () | |
| Initialize internal data fields. More... | |
Static Public Member Functions | |
| static double | neExp (double x) |
Static Public Member Functions inherited from gnsstk::NavData | |
| static gnsstk::SatMetaDataStore * | getSatMetaDataStore () |
| Accessor for python. More... | |
| static void | setSatMetaDataStore (gnsstk::SatMetaDataStore *smds) |
| Accessor for python. More... | |
Public Attributes | |
| double | ai [3] |
| bool | idf [5] |
| Ionospheric disturbance flag for regions 1-5 (0-4). More... | |
Public Attributes inherited from gnsstk::NavData | |
| NavMessageID | signal |
| Source signal identification for this navigation message data. More... | |
| CommonTime | timeStamp |
| std::string | weekFmt |
Protected Member Functions | |
| double | getEffIonoLevel (double modip_u) const |
| double | getSED (double dist, const Position &rxgeo, const Position &svgeo, const MODIP &modip, CCIR &ccirData, const CivilTime &when, double azu) const |
| double | getVED (double dist, const Position &rxgeo, const Position &svgeo, double modip_u, CCIR &ccirData, const CivilTime &when, double azu) const |
| double | integrateGaussKronrod (double heightPt1, double heightPt2, const Position &rxgeo, const Position &svgeo, const MODIP &modip, double modipSta, CCIR &ccirData, const CivilTime &when, double azu, double tolerance, bool vertical, unsigned recursionLevel=0) const |
Protected Attributes | |
| GalileoIonoEllipsoid | elModel |
Protected Attributes inherited from gnsstk::NavData | |
| double | msgLenSec |
Static Private Attributes | |
| static constexpr double | DEGREE_PER_HOUR = 15.0 |
| Number of degrees longitude per hour. More... | |
Friends | |
| class | ::NeQuickIonoNavData_T |
Additional Inherited Members | |
Static Public Attributes inherited from gnsstk::NavData | |
| static const GNSSTK_EXPORT std::string | dumpTimeFmt |
| Time format used for the dump method (Full). More... | |
| static const GNSSTK_EXPORT std::string | dumpTimeFmtBrief |
| Time format used for the dump method (Brief). More... | |
| static GNSSTK_EXPORT gnsstk::SatMetaDataStore * | satMetaDataStore = nullptr |
| Set this to a valid store to get PRN->SVN translations in dump(). More... | |
| gnsstk::NeQuickIonoNavData::NeQuickIonoNavData | ( | ) |
Initialize internal data.
Definition at line 121 of file NeQuickIonoNavData.cpp.
|
overridevirtual |
Print the contents of this NeQuickIonoNavData object in a human-readable format.
| [in,out] | s | The stream to write the data to. |
| [in] | dl | The level of detail the output should contain. |
Reimplemented from gnsstk::NavData.
Definition at line 129 of file NeQuickIonoNavData.cpp.
|
protected |
| [in] | modip_u | Modified dip latitude of observer. |
Definition at line 263 of file NeQuickIonoNavData.cpp.
|
overridevirtual |
Get the ionospheric correction in meters.
| [in] | when | The time of the observation to correct. |
| [in] | rxgeo | The receiver's geodetic position. |
| [in] | svgeo | The observed satellite's geodetic position. |
| [in] | band | The carrier band of the signal being corrected. |
Implements gnsstk::IonoNavData.
Definition at line 183 of file NeQuickIonoNavData.cpp.
|
protected |
Get the electron density at a distance along a path where svgeo is not directly overhead rxgeo.
| [in] | dist | The height above the ellipsoid in km at which to get the electron density. |
| [in] | rxgeo | The position of the GNSS receiver's antenna. |
| [in] | svgeo | The position of the transmitting satellite. |
| [in] | modip | A pre-constructed MODIP object to use. |
| [in] | ccirData | A pre-constructed CCIR object to use. |
| [in] | when | The time when the RF signal was received. |
| [in] | azu | Effective ionization level, in solar flux units, at the modified dip latitude of the receiver. |
Definition at line 285 of file NeQuickIonoNavData.cpp.
| double gnsstk::NeQuickIonoNavData::getTEC | ( | const CommonTime & | when, |
| const Position & | rxgeo, | ||
| const Position & | svgeo | ||
| ) | const |
Get the total electron content between rxgeo and svgeo at the given time.
| [in] | when | The time when the RF signal was received. |
| [in] | rxgeo | The position of the GNSS receiver's antenna. |
| [in] | svgeo | The position of the transmitting satellite. |
Definition at line 198 of file NeQuickIonoNavData.cpp.
|
protected |
Get the electron density at a distance along a path where svgeo is directly overhead rxgeo.
| [in] | dist | The height above the ellipsoid in km at which to get the electron density. |
| [in] | rxgeo | The position of the GNSS receiver's antenna. |
| [in] | svgeo | The position of the transmitting satellite. |
| [in] | modip_u | The modified dip latitude in degrees for rxgeo. |
| [in] | ccirData | A pre-constructed CCIR object to use. |
| [in] | when | The time when the RF signal was received. |
| [in] | azu | Effective ionization level, in solar flux units, at the modified dip latitude of the receiver. |
Definition at line 304 of file NeQuickIonoNavData.cpp.
|
protected |
Perform Gauss-Kronrod integration of the TEC along the ray between rxgeo and svgeo from heightPt1 to heightPt2.
| [in] | heightPt1 | The height above the ellipsoid at which integration should start. |
| [in] | heightPt2 | The height above the ellipsoid at which integration should end. |
| [in] | rxgeo | The position of the GNSS receiver's antenna. |
| [in] | svgeo | The position of the transmitting satellite. |
| [in] | modip | A pre-constructed MODIP object to use. |
| [in] | modipSta | The modified dip latitude in degrees for rxgeo. |
| [in] | ccirData | A pre-constructed CCIR object to use. |
| [in] | when | The time when the RF signal was received. |
| [in] | azu | Effective ionization level, in solar flux units, at the modified dip latitude of the receiver. |
| [in] | tolerance | If the delta between K15 and G7 integration results is less than this number, integration will complete. |
| [in] | vertical | If true, svgeo is directly overhead rxgeo and integration is simplified. |
| [in] | recursionLevel | integrateGaussKronrod will recurse if the results are not within tolerance, up to RecursionMax (defined in cpp file) times. |
Definition at line 913 of file NeQuickIonoNavData.cpp.
|
static |
Similar to standard exp() function, but with the exponent clipped to +/- 80, per F2.1.2.3 [galileo:iono]
| [in] | x | The exponent to raise e to. |
Definition at line 322 of file NeQuickIonoNavData.cpp.
|
inlineoverridevirtual |
Checks the contents of this message against known validity rules as defined in the appropriate ICD.
Implements gnsstk::NavData.
Definition at line 92 of file NeQuickIonoNavData.hpp.
|
friend |
Definition at line 400 of file NeQuickIonoNavData.hpp.
| double gnsstk::NeQuickIonoNavData::ai[3] |
ai terms of NeQuick model in solar flux units, solar flux units/degree, solar flux units/degree2. Refer to Galileo-OS-SIS-ICD.
Definition at line 125 of file NeQuickIonoNavData.hpp.
|
staticconstexprprivate |
Number of degrees longitude per hour.
Definition at line 398 of file NeQuickIonoNavData.hpp.
|
protected |
Galileo ellipsoid model for ionospheric modeling. This is as defined in galileo:iono.
Definition at line 394 of file NeQuickIonoNavData.hpp.
| bool gnsstk::NeQuickIonoNavData::idf[5] |
Ionospheric disturbance flag for regions 1-5 (0-4).
Definition at line 132 of file NeQuickIonoNavData.hpp.