Base class for a Profile Model. More...
#include <VProfileModel.h>
Public Member Functions | |
virtual const ProfileResult & | EvaluateDensityVsHeight () const =0 |
Return a table of air density vs. altitude. More... | |
virtual const ProfileResult & | EvaluateDepthVsHeight () const =0 |
Return a table of vertical column depth vs. altitude. More... | |
virtual const ProfileResult & | EvaluateHeightVsDepth () const =0 |
Return a table of altitude vs atmospheric column depth. More... | |
virtual const ProfileResult & | EvaluatePressureVsHeight () const =0 |
Return a table of air pressure vs. altitude. More... | |
virtual const ProfileResult & | EvaluateRefractionIndexVsHeight () const |
Return a table of wavelength-independent refractive index vs. altitude. More... | |
virtual const ProfileResult & | EvaluateRefractionIndexVsHeight (const double wl) const |
Return a table of wavelength-independent refractive index vs. altitude. More... | |
virtual const ProfileResult & | EvaluateTemperatureVsHeight () const =0 |
Return a table of air temperature vs. altitude. More... | |
virtual const ProfileResult & | EvaluateVaporPressureVsHeight () const =0 |
Return a table of H2O vapor pressure vs. altitude. More... | |
virtual double | GetVerticalTimeOfFlight (const double height1, const double height2) const |
Evaluate light signal time-of-flight between two altitudes. More... | |
virtual bool | HasData () const =0 |
True if a data source is for the given model. More... | |
virtual void | Init ()=0 |
virtual void | SetUncertaintyBound (const double nSigma) const |
alter Model by nSigma standard deviations More... | |
VProfileModel () | |
virtual | ~VProfileModel () |
Protected Types | |
typedef std::map< double, ProfileResult * > | AltWLFunction |
Protected Member Functions | |
void | CleanRIVsWavelength () const |
Clean up refraction indices. Derived modules decide when to do this. More... | |
void | ExtendProfilesTo100km () const |
Protected Attributes | |
ProfileResult * | fTabHeightVsLogDepth = nullptr |
ProfileResult * | fTabLogDensityVsHeight = nullptr |
ProfileResult * | fTabLogDepthVsHeight = nullptr |
ProfileResult * | fTabLogPressureVsHeight = nullptr |
ProfileResult * | fTabLogVaporPressureVsHeight = nullptr |
ProfileResult * | fTabRIVsHeight = nullptr |
AltWLFunction | fTabRIVsHeightAndWaveLength |
ProfileResult * | fTabTemperatureVsHeight = nullptr |
Base class for a Profile Model.
Important note: that whenever "height" or "altitude" is invoked, this means height over the "sea level", i.e. height above the WGS84 ellipsoid (or the height of the UTM coordinate).
Definition at line 26 of file VProfileModel.h.
|
protected |
Definition at line 76 of file VProfileModel.h.
atm::VProfileModel::VProfileModel | ( | ) |
Definition at line 34 of file VProfileModel.cc.
|
virtual |
Definition at line 45 of file VProfileModel.cc.
References CleanRIVsWavelength(), fTabHeightVsLogDepth, fTabLogDensityVsHeight, fTabLogDepthVsHeight, fTabLogPressureVsHeight, fTabLogVaporPressureVsHeight, fTabRIVsHeight, and fTabTemperatureVsHeight.
|
protected |
Clean up refraction indices. Derived modules decide when to do this.
Definition at line 207 of file VProfileModel.cc.
References fTabRIVsHeightAndWaveLength.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), and ~VProfileModel().
|
pure virtual |
Return a table of air density vs. altitude.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
pure virtual |
Return a table of vertical column depth vs. altitude.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
pure virtual |
Return a table of altitude vs atmospheric column depth.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
pure virtual |
Return a table of air pressure vs. altitude.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
virtual |
Return a table of wavelength-independent refractive index vs. altitude.
Reimplemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
Definition at line 60 of file VProfileModel.cc.
References fTabRIVsHeight.
|
virtual |
Return a table of wavelength-independent refractive index vs. altitude.
Definition at line 86 of file VProfileModel.cc.
References utl::RefractionIndex::Ciddor95(), atm::ProfileResult::eLinear, atm::ProfileResult::fProfile, fTabLogPressureVsHeight, fTabLogVaporPressureVsHeight, fTabRIVsHeightAndWaveLength, fTabTemperatureVsHeight, utl::TabulatedFunction::XBegin(), utl::TabulatedFunction::XEnd(), and atm::ProfileResult::Y().
|
pure virtual |
Return a table of air temperature vs. altitude.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
pure virtual |
Return a table of H2O vapor pressure vs. altitude.
Implemented in atm::SimShowerProfileModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, and atm::USStdADBProfileModel.
|
protected |
Use the U.S. Standard Atmosphere of 1976 to extend the altitude profiles to 100km (deprecated, pending release of the new molecular DB)
Definition at line 218 of file VProfileModel.cc.
References utl::TabulatedFunctionErrors::Begin(), utl::cm2, atm::ProfileResult::fProfile, fTabHeightVsLogDepth, fTabLogDensityVsHeight, fTabLogDepthVsHeight, fTabLogPressureVsHeight, fTabLogVaporPressureVsHeight, fTabRIVsHeight, fTabTemperatureVsHeight, utl::g, utl::TabulatedFunctionErrors::Insert(), utl::kelvin, utl::kg, utl::kLn10, km, utl::m3, utl::pascal, utl::TabulatedFunctionErrors::PushBack(), and utl::TabulatedFunction::XBack().
Referenced by atm::GDASProfileModel::CheckForUpdates(), and atm::RadiosondeDBProfileModel::CheckForUpdates().
|
virtual |
Evaluate light signal time-of-flight between two altitudes.
Definition at line 116 of file VProfileModel.cc.
References utl::cm, utl::cm2, utl::g, utl::kRefractiveIndexSeaLevel, utl::kSpeedOfLight, utl::m, and max.
|
pure virtualinherited |
True if a data source is for the given model.
This method is meant to be checked to determine whether the given model is able to find valid data to evaluate. Typically it will always be true for parametric models which rely on an XML file, and will be true or false for database-based models, depending on whether or not relevant data are found in the DB for the current detector time
Implemented in atm::SuperMieModel, atm::MeasuredDBMieModel, atm::MieModelOff, atm::RayleighModelOff, atm::LidarCloudDBModel, atm::ParametricXMLMieModel, atm::ParametricXMLRayleighModel, atm::HumidAirRayleighModel, atm::AnalyticalCherenkovModel, atm::SimShowerProfileModel, atm::NonParametricXMLMieModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::SuperProfileModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, atm::AirflyFluorescenceModel, atm::Kakimoto1996FluorescenceModel, atm::Nagano2004FluorescenceModel, atm::USStdADBProfileModel, atm::ConstantFluorescenceModel, atm::Keilhauer2008FluorescenceModel, and atm::AirFluorescenceModel.
|
pure virtualinherited |
Implemented in atm::MeasuredDBMieModel, atm::SuperMieModel, atm::MieModelOff, atm::RayleighModelOff, atm::LidarCloudDBModel, atm::HumidAirRayleighModel, atm::ParametricXMLRayleighModel, atm::ParametricXMLMieModel, atm::NonParametricXMLMieModel, atm::SimShowerProfileModel, atm::Kakimoto1996FluorescenceModel, atm::Nagano2004FluorescenceModel, atm::AirflyFluorescenceModel, atm::AnalyticalCherenkovModel, atm::GDASProfileModel, atm::RadiosondeDBProfileModel, atm::ConstantFluorescenceModel, atm::SuperProfileModel, atm::Keilhauer2008FluorescenceModel, atm::ParametricXMLProfileModel, atm::MonthlyAvgDBProfileModel, atm::AirFluorescenceModel, and atm::USStdADBProfileModel.
|
virtualinherited |
alter Model by nSigma standard deviations
Reimplemented in atm::MeasuredDBMieModel, and atm::SuperMieModel.
Definition at line 11 of file VModel.cc.
References ERROR.
|
protected |
Definition at line 69 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateHeightVsDepth(), atm::GDASProfileModel::EvaluateHeightVsDepth(), atm::RadiosondeDBProfileModel::EvaluateHeightVsDepth(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
protected |
Definition at line 73 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateDensityVsHeight(), atm::GDASProfileModel::EvaluateDensityVsHeight(), atm::RadiosondeDBProfileModel::EvaluateDensityVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
protected |
Definition at line 68 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateDepthVsHeight(), atm::GDASProfileModel::EvaluateDepthVsHeight(), atm::RadiosondeDBProfileModel::EvaluateDepthVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
protected |
Definition at line 70 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluatePressureVsHeight(), atm::GDASProfileModel::EvaluatePressureVsHeight(), atm::RadiosondeDBProfileModel::EvaluatePressureVsHeight(), EvaluateRefractionIndexVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
protected |
Definition at line 71 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateVaporPressureVsHeight(), atm::GDASProfileModel::EvaluateVaporPressureVsHeight(), atm::RadiosondeDBProfileModel::EvaluateVaporPressureVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
protected |
Definition at line 74 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateRefractionIndexVsHeight(), atm::GDASProfileModel::EvaluateRefractionIndexVsHeight(), atm::RadiosondeDBProfileModel::EvaluateRefractionIndexVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().
|
mutableprotected |
Definition at line 77 of file VProfileModel.h.
Referenced by CleanRIVsWavelength(), and EvaluateRefractionIndexVsHeight().
|
protected |
Definition at line 72 of file VProfileModel.h.
Referenced by atm::GDASProfileModel::CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateTemperatureVsHeight(), atm::GDASProfileModel::EvaluateTemperatureVsHeight(), atm::RadiosondeDBProfileModel::EvaluateTemperatureVsHeight(), ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and ~VProfileModel().