Molecular profile taken from GDAS database. More...
#include <GDASProfileModel.h>
Public Member Functions | |
const atm::ProfileResult & | EvaluateDensityVsHeight () const |
Table of density as a function of height. More... | |
const ProfileResult & | EvaluateDepthVsHeight () const |
Table of depth as a function of height. More... | |
const atm::ProfileResult & | EvaluateHeightVsDepth () const |
Table of height as a function of depth. More... | |
const atm::ProfileResult & | EvaluatePressureVsHeight () const |
Table of air pressure as a function of height. More... | |
virtual const ProfileResult & | EvaluateRefractionIndexVsHeight (const double wl) const |
Return a table of wavelength-independent refractive index vs. altitude. More... | |
const atm::ProfileResult & | EvaluateRefractionIndexVsHeight () const |
Table of refraction index as a function of height. More... | |
const atm::ProfileResult & | EvaluateTemperatureVsHeight () const |
Table of temperature as a function of height. More... | |
const ProfileResult & | EvaluateVaporPressureVsHeight () const |
Table of vapor pressure as a function of height. More... | |
GDASProfileModel () | |
virtual double | GetVerticalTimeOfFlight (const double height1, const double height2) const |
Evaluate light signal time-of-flight between two altitudes. More... | |
bool | HasData () const |
True if a data source is for the given model. More... | |
void | Init () |
virtual void | SetUncertaintyBound (const double nSigma) const |
alter Model by nSigma standard deviations More... | |
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 |
Private Member Functions | |
bool | CheckForUpdates () const |
REGISTER_MODEL (atm::VProfileModel,"GDAS", GDASProfileModel) | |
Private Attributes | |
utl::TimeStamp | fCurrentTime |
bool | fDbIsEmptyNow |
Molecular profile taken from GDAS database.
"atm/GDASProfileModel.h"
This model provides access to molecular profiles taken from GDAS.
Definition at line 38 of file GDASProfileModel.h.
|
protectedinherited |
Definition at line 76 of file VProfileModel.h.
GDASProfileModel::GDASProfileModel | ( | ) |
Definition at line 51 of file GDASProfileModel.cc.
|
private |
Definition at line 74 of file GDASProfileModel.cc.
References utl::TabulatedFunctionErrors::Begin(), atm::VProfileModel::CleanRIVsWavelength(), DEBUGLOG, atm::ProfileResult::eLinear, atm::ProfileResult::eLog, MolecularIds::eMalargueGDAS, utl::TabulatedFunctionErrors::End(), atm::VProfileModel::ExtendProfilesTo100km(), fCurrentTime, fDbIsEmptyNow, atm::VProfileModel::fTabHeightVsLogDepth, atm::VProfileModel::fTabLogDensityVsHeight, atm::VProfileModel::fTabLogDepthVsHeight, atm::VProfileModel::fTabLogPressureVsHeight, atm::VProfileModel::fTabLogVaporPressureVsHeight, atm::VProfileModel::fTabRIVsHeight, atm::VProfileModel::fTabTemperatureVsHeight, utl::TabulatedFunction::GetX(), utl::TabulatedFunctionErrors::GetXErr(), utl::TabulatedFunction::GetY(), utl::TabulatedFunctionErrors::GetYErr(), utl::TabulatedFunctionErrors::Insert(), utl::kLn10, km, utl::RefractionIndex::LorentzLorentz(), utl::TabulatedFunctionErrors::PushBack(), utl::SaturationVaporPressure(), atm::MolecularDB::ZonesBegin(), and atm::MolecularDB::ZonesEnd().
Referenced by EvaluateDensityVsHeight(), EvaluateDepthVsHeight(), EvaluateHeightVsDepth(), EvaluatePressureVsHeight(), EvaluateRefractionIndexVsHeight(), EvaluateTemperatureVsHeight(), EvaluateVaporPressureVsHeight(), and HasData().
|
protectedinherited |
Clean up refraction indices. Derived modules decide when to do this.
Definition at line 207 of file VProfileModel.cc.
References atm::VProfileModel::fTabRIVsHeightAndWaveLength.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), and atm::VProfileModel::~VProfileModel().
|
virtual |
Table of density as a function of height.
Implements atm::VProfileModel.
Definition at line 300 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabLogDensityVsHeight.
Referenced by atm::SuperProfileModel::EvaluateDensityVsHeight().
|
virtual |
Table of depth as a function of height.
Implements atm::VProfileModel.
Definition at line 310 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabLogDepthVsHeight.
Referenced by atm::SuperProfileModel::EvaluateDepthVsHeight().
|
virtual |
Table of height as a function of depth.
Implements atm::VProfileModel.
Definition at line 320 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabHeightVsLogDepth.
Referenced by atm::SuperProfileModel::EvaluateHeightVsDepth().
|
virtual |
Table of air pressure as a function of height.
Implements atm::VProfileModel.
Definition at line 270 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabLogPressureVsHeight.
Referenced by atm::SuperProfileModel::EvaluatePressureVsHeight().
|
virtualinherited |
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, atm::VProfileModel::fTabLogPressureVsHeight, atm::VProfileModel::fTabLogVaporPressureVsHeight, atm::VProfileModel::fTabRIVsHeightAndWaveLength, atm::VProfileModel::fTabTemperatureVsHeight, utl::TabulatedFunction::XBegin(), utl::TabulatedFunction::XEnd(), and atm::ProfileResult::Y().
|
virtual |
Table of refraction index as a function of height.
Reimplemented from atm::VProfileModel.
Definition at line 330 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabRIVsHeight.
Referenced by atm::SuperProfileModel::EvaluateRefractionIndexVsHeight().
|
virtual |
Table of temperature as a function of height.
Implements atm::VProfileModel.
Definition at line 280 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabTemperatureVsHeight.
Referenced by atm::SuperProfileModel::EvaluateTemperatureVsHeight().
|
virtual |
Table of vapor pressure as a function of height.
Implements atm::VProfileModel.
Definition at line 290 of file GDASProfileModel.cc.
References CheckForUpdates(), and atm::VProfileModel::fTabLogVaporPressureVsHeight.
Referenced by atm::SuperProfileModel::EvaluateVaporPressureVsHeight().
|
protectedinherited |
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, atm::VProfileModel::fTabHeightVsLogDepth, atm::VProfileModel::fTabLogDensityVsHeight, atm::VProfileModel::fTabLogDepthVsHeight, atm::VProfileModel::fTabLogPressureVsHeight, atm::VProfileModel::fTabLogVaporPressureVsHeight, atm::VProfileModel::fTabRIVsHeight, atm::VProfileModel::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 CheckForUpdates(), and atm::RadiosondeDBProfileModel::CheckForUpdates().
|
virtualinherited |
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.
|
virtual |
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
Implements atm::VModel.
Definition at line 66 of file GDASProfileModel.cc.
References CheckForUpdates().
Referenced by atm::SuperProfileModel::EvaluateDensityVsHeight(), atm::SuperProfileModel::EvaluateDepthVsHeight(), atm::SuperProfileModel::EvaluateHeightVsDepth(), atm::SuperProfileModel::EvaluatePressureVsHeight(), atm::SuperProfileModel::EvaluateRefractionIndexVsHeight(), atm::SuperProfileModel::EvaluateTemperatureVsHeight(), atm::SuperProfileModel::EvaluateVaporPressureVsHeight(), and otoa::fd::UsingGDASProfileDatabase().
|
virtual |
Implements atm::VModel.
Definition at line 60 of file GDASProfileModel.cc.
Referenced by atm::SuperProfileModel::Init().
|
private |
|
virtualinherited |
alter Model by nSigma standard deviations
Reimplemented in atm::MeasuredDBMieModel, and atm::SuperMieModel.
Definition at line 11 of file VModel.cc.
References ERROR.
|
mutableprivate |
Definition at line 74 of file GDASProfileModel.h.
Referenced by CheckForUpdates().
|
mutableprivate |
Definition at line 76 of file GDASProfileModel.h.
Referenced by CheckForUpdates().
|
protectedinherited |
Definition at line 69 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateHeightVsDepth(), EvaluateHeightVsDepth(), atm::RadiosondeDBProfileModel::EvaluateHeightVsDepth(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
protectedinherited |
Definition at line 73 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateDensityVsHeight(), EvaluateDensityVsHeight(), atm::RadiosondeDBProfileModel::EvaluateDensityVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
protectedinherited |
Definition at line 68 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluateDepthVsHeight(), EvaluateDepthVsHeight(), atm::RadiosondeDBProfileModel::EvaluateDepthVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
protectedinherited |
Definition at line 70 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::ParametricXMLProfileModel::EvaluatePressureVsHeight(), EvaluatePressureVsHeight(), atm::RadiosondeDBProfileModel::EvaluatePressureVsHeight(), atm::VProfileModel::EvaluateRefractionIndexVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
protectedinherited |
Definition at line 71 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::VProfileModel::EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateVaporPressureVsHeight(), EvaluateVaporPressureVsHeight(), atm::RadiosondeDBProfileModel::EvaluateVaporPressureVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
protectedinherited |
Definition at line 74 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::VProfileModel::EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateRefractionIndexVsHeight(), EvaluateRefractionIndexVsHeight(), atm::RadiosondeDBProfileModel::EvaluateRefractionIndexVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().
|
mutableprotectedinherited |
Definition at line 77 of file VProfileModel.h.
Referenced by atm::VProfileModel::CleanRIVsWavelength(), and atm::VProfileModel::EvaluateRefractionIndexVsHeight().
|
protectedinherited |
Definition at line 72 of file VProfileModel.h.
Referenced by CheckForUpdates(), atm::RadiosondeDBProfileModel::CheckForUpdates(), atm::VProfileModel::EvaluateRefractionIndexVsHeight(), atm::ParametricXMLProfileModel::EvaluateTemperatureVsHeight(), EvaluateTemperatureVsHeight(), atm::RadiosondeDBProfileModel::EvaluateTemperatureVsHeight(), atm::VProfileModel::ExtendProfilesTo100km(), atm::ParametricXMLProfileModel::Init(), and atm::VProfileModel::~VProfileModel().