MOPSTropModel.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
39 
40 #ifndef MOPS_TROP_MODEL_HPP
41 #define MOPS_TROP_MODEL_HPP
42 
43 #include "GCATTropModel.hpp"
44 
45 namespace gnsstk
46 {
82  {
83  public:
84 
86  MOPSTropModel();
87 
88 
96  MOPSTropModel(const double& ht)
97  { setReceiverHeight(ht); };
98 
99 
108  MOPSTropModel(const double& ht, const double& lat, const int& doy);
109 
110 
117  MOPSTropModel(const Position& RX, const CommonTime& time);
118 
120  virtual std::string name()
121  { return std::string("MOPS"); }
122 
123 
125  virtual double correction(double elevation) const;
126 
127 
142  virtual double correction( const Position& RX,
143  const Position& SV );
144 
145 
147  virtual double correction( const Position& RX,
148  const Position& SV,
149  const CommonTime& tt );
150 
151 
166  virtual double correction( const Position& RX,
167  const Position& SV,
168  const int& doy );
169 
170 
183  virtual double correction( const Xvt& RX,
184  const Xvt& SV );
185 
186 
188  virtual double correction( const Xvt& RX,
189  const Xvt& SV,
190  const CommonTime& tt );
191 
192 
209  virtual double correction( const Xvt& RX,
210  const Xvt& SV,
211  const int& doy );
212 
213 
215  virtual double dry_zenith_delay() const;
216 
217 
219  virtual double wet_zenith_delay() const;
220 
221 
227  void setWeather();
228 
229 
234  virtual void setWeather( const double& T,
235  const double& P,
236  const double& H )
237  {}
238 
239 
244  virtual void setWeather(const WxObservation& wx)
245  {}
246 
247 
249  virtual void setReceiverHeight(const double& ht);
250 
251 
253  virtual void setReceiverLatitude(const double& lat);
254 
255 
257  virtual void setDayOfYear(const int& doy);
258 
259 
265  virtual void setDayOfYear(const CommonTime& time);
266 
267 
273  virtual void setAllParameters( const CommonTime& time,
274  const Position& rxPos );
275 
276 
284  double MOPSsigma2(double elevation);
285 
286 
287  private:
288 
289  double MOPSHeight;
290  double MOPSLat;
291  int MOPSTime;
293  bool validLat;
294  bool validTime;
299 
300 
305  virtual void prepareParameters();
306 
307 
308  // The MOPS tropospheric model uses several predefined data tables
309  virtual void prepareTables();
310  };
311 }
312 #endif
gnsstk::MOPSTropModel::MOPSParameters
Vector< double > MOPSParameters
Definition: MOPSTropModel.hpp:298
gnsstk::GCATTropModel
Definition: GCATTropModel.hpp:85
gnsstk::MOPSTropModel::validHeight
bool validHeight
Definition: MOPSTropModel.hpp:292
gnsstk::MOPSTropModel::correction
virtual double correction(double elevation) const
Definition: MOPSTropModel.cpp:87
gnsstk::MOPSTropModel::MOPSsigma2
double MOPSsigma2(double elevation)
Definition: MOPSTropModel.cpp:350
gnsstk::MOPSTropModel::setWeather
virtual void setWeather(const double &T, const double &P, const double &H)
Definition: MOPSTropModel.hpp:234
gnsstk::MOPSTropModel::setWeather
virtual void setWeather(const WxObservation &wx)
Definition: MOPSTropModel.hpp:244
gnsstk::MOPSTropModel::svr
Matrix< double > svr
Definition: MOPSTropModel.hpp:296
gnsstk::MOPSTropModel::MOPSTime
int MOPSTime
Definition: MOPSTropModel.hpp:291
gnsstk::MOPSTropModel::setDayOfYear
virtual void setDayOfYear(const int &doy)
Definition: MOPSTropModel.cpp:297
gnsstk::WxObservation
A Single Weather Observation.
Definition: WxObsMap.hpp:55
GCATTropModel.hpp
gnsstk::MOPSTropModel::setReceiverHeight
virtual void setReceiverHeight(const double &ht)
Definition: MOPSTropModel.cpp:271
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::MOPSTropModel::MOPSTropModel
MOPSTropModel(const double &ht)
Definition: MOPSTropModel.hpp:96
gnsstk::MOPSTropModel::prepareParameters
virtual void prepareParameters()
Definition: MOPSTropModel.cpp:373
gnsstk::Matrix< double >
example4.time
time
Definition: example4.py:103
gnsstk::MOPSTropModel::setReceiverLatitude
virtual void setReceiverLatitude(const double &lat)
Definition: MOPSTropModel.cpp:284
gnsstk::MOPSTropModel
Definition: MOPSTropModel.hpp:81
gnsstk::MOPSTropModel::dry_zenith_delay
virtual double dry_zenith_delay() const
Definition: MOPSTropModel.cpp:186
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::MOPSTropModel::avr
Matrix< double > avr
Definition: MOPSTropModel.hpp:295
gnsstk::Vector< double >
gnsstk::MOPSTropModel::MOPSLat
double MOPSLat
Definition: MOPSTropModel.hpp:290
gnsstk::MOPSTropModel::MOPSTropModel
MOPSTropModel()
Empty constructor.
Definition: MOPSTropModel.cpp:60
gnsstk::MOPSTropModel::fi0
Vector< double > fi0
Definition: MOPSTropModel.hpp:297
gnsstk::MOPSTropModel::setWeather
void setWeather()
Definition: MOPSTropModel.cpp:237
gnsstk::Position
Definition: Position.hpp:136
gnsstk::MOPSTropModel::wet_zenith_delay
virtual double wet_zenith_delay() const
Definition: MOPSTropModel.cpp:211
gnsstk::MOPSTropModel::prepareTables
virtual void prepareTables()
Definition: MOPSTropModel.cpp:447
gnsstk::MOPSTropModel::MOPSHeight
double MOPSHeight
Definition: MOPSTropModel.hpp:289
gnsstk::MOPSTropModel::validLat
bool validLat
Definition: MOPSTropModel.hpp:293
gnsstk::MOPSTropModel::validTime
bool validTime
Definition: MOPSTropModel.hpp:294
gnsstk::MOPSTropModel::setAllParameters
virtual void setAllParameters(const CommonTime &time, const Position &rxPos)
Definition: MOPSTropModel.cpp:332
gnsstk::MOPSTropModel::name
virtual std::string name()
Return the name of the model.
Definition: MOPSTropModel.hpp:120


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:40