NeillTropModel.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 NEILL_TROP_MODEL_HPP
41 #define NEILL_TROP_MODEL_HPP
42 
43 #include "TropModel.hpp"
44 
45 namespace gnsstk
46 {
85  class NeillTropModel : public TropModel
86  {
87  public:
88 
91  { validHeight=false; validLat=false; validDOY=false; valid=false; };
92 
93 
102  NeillTropModel(const double& ht)
103  { setReceiverHeight(ht); };
104 
105 
115  NeillTropModel( const double& ht,
116  const double& lat,
117  const int& doy )
119 
120 
127  NeillTropModel( const Position& RX,
128  const CommonTime& time );
129 
130 
132  virtual std::string name()
133  { return std::string("Neill"); }
134 
136  virtual double correction(double elevation) const;
137 
138 
155  virtual double correction( const Position& RX,
156  const Position& SV );
157 
158 
160  virtual double correction( const Position& RX,
161  const Position& SV,
162  const CommonTime& tt );
163 
164 
180  virtual double correction( const Position& RX,
181  const Position& SV,
182  const int& doy );
183 
184 
198  virtual double correction( const Xvt& RX,
199  const Xvt& SV );
200 
201 
203  virtual double correction( const Xvt& RX,
204  const Xvt& SV,
205  const CommonTime& tt );
206 
207 
224  virtual double correction( const Xvt& RX,
225  const Xvt& SV,
226  const int& doy );
227 
228 
230  virtual double dry_zenith_delay() const;
231 
232 
234  virtual double wet_zenith_delay() const
235  { return 0.1; }; // Returns a nominal value
236 
237 
239  virtual double dry_mapping_function(double elevation) const;
240 
241 
243  virtual double wet_mapping_function(double elevation) const;
244 
245 
251  void setWeather();
252 
253 
258  virtual void setWeather( const double& T,
259  const double& P,
260  const double& H )
261  {}
262 
263 
268  virtual void setWeather(const WxObservation& wx)
269  {}
270 
271 
273  virtual void setReceiverHeight(const double& ht);
274 
275 
277  virtual void setReceiverLatitude(const double& lat);
278 
279 
281  virtual void setDayOfYear(const int& doy);
282 
283 
289  virtual void setDayOfYear(const CommonTime& time);
290 
291 
297  virtual void setAllParameters( const CommonTime& time,
298  const Position& rxPos );
299 
300 
301  private:
302  double NeillHeight;
303  double NeillLat;
304  int NeillDOY;
306  bool validLat;
307  bool validDOY;
308  };
309 
310 }
311 #endif
gnsstk::NeillTropModel::wet_zenith_delay
virtual double wet_zenith_delay() const
Definition: NeillTropModel.hpp:234
gnsstk::NeillTropModel::setReceiverLatitude
virtual void setReceiverLatitude(const double &lat)
Definition: NeillTropModel.cpp:355
gnsstk::NeillTropModel::validLat
bool validLat
Definition: NeillTropModel.hpp:306
gnsstk::NeillTropModel::validHeight
bool validHeight
Definition: NeillTropModel.hpp:305
gnsstk::NeillTropModel::dry_zenith_delay
virtual double dry_zenith_delay() const
Definition: NeillTropModel.cpp:203
gnsstk::NeillTropModel::validDOY
bool validDOY
Definition: NeillTropModel.hpp:307
gnsstk::NeillTropModel::setWeather
void setWeather()
Definition: NeillTropModel.cpp:319
gnsstk::NeillTropModel::dry_mapping_function
virtual double dry_mapping_function(double elevation) const
Definition: NeillTropModel.cpp:219
gnsstk::NeillTropModel::NeillTropModel
NeillTropModel(const double &ht, const double &lat, const int &doy)
Definition: NeillTropModel.hpp:115
gnsstk::TropModel
Definition: TropModel.hpp:105
gnsstk::WxObservation
A Single Weather Observation.
Definition: WxObsMap.hpp:55
gnsstk::NeillTropModel
Definition: NeillTropModel.hpp:85
gnsstk::NeillTropModel::NeillHeight
double NeillHeight
Definition: NeillTropModel.hpp:302
TropModel.hpp
gnsstk::NeillTropModel::NeillTropModel
NeillTropModel()
Default constructor.
Definition: NeillTropModel.hpp:90
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::NeillTropModel::setDayOfYear
virtual void setDayOfYear(const int &doy)
Definition: NeillTropModel.cpp:368
example4.time
time
Definition: example4.py:103
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::Xvt
Definition: Xvt.hpp:60
gnsstk::TropModel::valid
bool valid
true only if current model parameters are valid
Definition: TropModel.hpp:279
gnsstk::NeillTropModel::wet_mapping_function
virtual double wet_mapping_function(double elevation) const
Definition: NeillTropModel.cpp:279
gnsstk::NeillTropModel::name
virtual std::string name()
Return the name of the model.
Definition: NeillTropModel.hpp:132
gnsstk::NeillTropModel::correction
virtual double correction(double elevation) const
Definition: NeillTropModel.cpp:97
gnsstk::NeillTropModel::setAllParameters
virtual void setAllParameters(const CommonTime &time, const Position &rxPos)
Definition: NeillTropModel.cpp:403
gnsstk::NeillTropModel::setWeather
virtual void setWeather(const double &T, const double &P, const double &H)
Definition: NeillTropModel.hpp:258
gnsstk::NeillTropModel::setReceiverHeight
virtual void setReceiverHeight(const double &ht)
Definition: NeillTropModel.cpp:342
gnsstk::NeillTropModel::NeillDOY
int NeillDOY
Definition: NeillTropModel.hpp:304
gnsstk::Position
Definition: Position.hpp:136
gnsstk::NeillTropModel::NeillLat
double NeillLat
Definition: NeillTropModel.hpp:303
gnsstk::NeillTropModel::setWeather
virtual void setWeather(const WxObservation &wx)
Definition: NeillTropModel.hpp:268
gnsstk::NeillTropModel::NeillTropModel
NeillTropModel(const double &ht)
Definition: NeillTropModel.hpp:102


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