0.2.0
Loading...
Searching...
No Matches
Troposphere.hpp
Go to the documentation of this file.
1// This file is part of INSTINCT, the INS Toolkit for Integrated
2// Navigation Concepts and Training by the Institute of Navigation of
3// the University of Stuttgart, Germany.
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
14
15#pragma once
16
17#include <array>
18#include <Eigen/Core>
19
20#include "ZenithDelay.hpp"
26
27namespace NAV
28{
29
32{
33 PressureModel pressureModel = PressureModel::ISA;
34 TemperatureModel temperatureModel = TemperatureModel::ISA;
35 WaterVaporModel waterVaporModel = WaterVaporModel::ISA;
36};
37
39enum class TroposphereModel : int
40{
41 None,
43 GPT2,
44 GPT3,
45 COUNT,
46};
47
49enum class MappingFunction : int
50{
51 None,
52 Cosecant,
53 GMF,
54 VMF_GPT2,
55 VMF_GPT3,
56 COUNT,
57};
58
61{
63 std::pair<TroposphereModel, AtmosphereModels> zhdModel = std::make_pair(TroposphereModel::Saastamoinen, AtmosphereModels{});
65 std::pair<TroposphereModel, AtmosphereModels> zwdModel = std::make_pair(TroposphereModel::Saastamoinen, AtmosphereModels{});
66
68 std::pair<MappingFunction, AtmosphereModels> zhdMappingFunction = std::make_pair(MappingFunction::Cosecant, AtmosphereModels{});
70 std::pair<MappingFunction, AtmosphereModels> zwdMappingFunction = std::make_pair(MappingFunction::Cosecant, AtmosphereModels{});
71};
72
76const char* to_string(TroposphereModel troposphereZhdModel);
77
81const char* to_string(MappingFunction mappingFunction);
82
87bool ComboTroposphereModel(const char* label, TroposphereModelSelection& troposphereModelSelection, float width = 0.0F);
88
96ZenithDelay calcTroposphericDelayAndMapping(const InsTime& insTime, const Eigen::Vector3d& lla_pos, double elevation, double azimuth,
97 const TroposphereModelSelection& troposphereModels);
98
103double tropoErrorVar(double dpsr_T, double elevation);
104
108void to_json(json& j, const AtmosphereModels& obj);
112void from_json(const json& j, AtmosphereModels& obj);
113
117void to_json(json& j, const TroposphereModelSelection& obj);
121void from_json(const json& j, TroposphereModelSelection& obj);
122
123} // namespace NAV
nlohmann::json json
json namespace
Definition FlowManager.hpp:21
@ None
None.
Definition GlobalActions.hpp:19
The class is responsible for all time-related tasks.
@ COUNT
Amount of items in the enum.
const char * to_string(gui::widgets::PositionWithFrame::ReferenceFrame refFrame)
Converts the enum to a string.
Pressure calculation formulas.
PressureModel
Available pressure Models.
Definition Pressure.hpp:21
Temperature calculation formulas.
TemperatureModel
Available temperature Models.
Definition Temperature.hpp:21
TroposphereModel
Available Troposphere delay models.
Definition Troposphere.hpp:40
@ Saastamoinen
Saastamoinen model.
bool ComboTroposphereModel(const char *label, TroposphereModelSelection &troposphereModelSelection, float width=0.0F)
Shows a ComboBox and button for advanced configuration to select the troposphere models.
MappingFunction
Available Mapping Functions.
Definition Troposphere.hpp:50
@ GMF
Global Mapping Function (GMF)
@ Cosecant
Cosecant of elevation.
@ VMF_GPT2
Vienna Mapping Function based on the GPT2 grid.
@ VMF_GPT3
Vienna Mapping Function based on the GPT3 grid.
ZenithDelay calcTroposphericDelayAndMapping(const InsTime &insTime, const Eigen::Vector3d &lla_pos, double elevation, double azimuth, const TroposphereModelSelection &troposphereModels)
Calculates the tropospheric zenith hydrostatic and wet delays and corresponding mapping factors.
double tropoErrorVar(double dpsr_T, double elevation)
Calculates the tropospheric error variance.
Gridded Vienna Mapping Function.
Water vapor calculation.
WaterVaporModel
Available Water vapor Models.
Definition WaterVapor.hpp:21
Zenith hydrostatic and wet delay.
The class is responsible for all time-related tasks.
Definition InsTime.hpp:667
Atmospheric model selection for temperature, pressure and water vapor.
Definition Troposphere.hpp:32
TemperatureModel temperatureModel
Temperature model.
Definition Troposphere.hpp:34
PressureModel pressureModel
Pressure model.
Definition Troposphere.hpp:33
WaterVaporModel waterVaporModel
WaterVapor model.
Definition Troposphere.hpp:35
Collection of troposphere model selections.
Definition Troposphere.hpp:61
std::pair< MappingFunction, AtmosphereModels > zwdMappingFunction
Mapping function ZWD, atmosphere models.
Definition Troposphere.hpp:70
std::pair< TroposphereModel, AtmosphereModels > zwdModel
Troposphere ZWD model, atmosphere models.
Definition Troposphere.hpp:65
std::pair< TroposphereModel, AtmosphereModels > zhdModel
Troposphere ZHD model, atmosphere models.
Definition Troposphere.hpp:63
std::pair< MappingFunction, AtmosphereModels > zhdMappingFunction
Mapping function ZHD, atmosphere models.
Definition Troposphere.hpp:68
Zenith delays and mapping factors.
Definition ZenithDelay.hpp:21