/** \file Declaration of RadiosondeDBProfileModel \author T. Paul \version $Id$ \date 11 April 2005 */ #ifndef _atm_RadiosondeDBProfileModel_h_ #define _atm_RadiosondeDBProfileModel_h_ static const char CVSId_atm_RadiosondeDBProfileModel[] = "$Id$"; #include #include namespace utl { class TimeStamp; } namespace atm { class ProfileResult; /** \class RadiosondeDBProfileModel RadiosondeDBProfileModel.h "atm/RadiosondeDBProfileModel.h" \brief Molecular profile taken from radiosonde database. This model provides access to molecular profiles recorded by the radisonde launches. \author T. Paul \date 11 April 2005 \ingroup atm_models */ class RadiosondeDBProfileModel : public atm::VProfileModel { public: RadiosondeDBProfileModel(); void Init(); /// Table of depth as a function of height const ProfileResult& EvaluateDepthVsHeight() const; /// Table of height as a function of depth const atm::ProfileResult& EvaluateHeightVsDepth() const; /// Table of air pressure as a function of height const atm::ProfileResult& EvaluatePressureVsHeight() const; /// Table of vapor pressure as a function of height const ProfileResult& EvaluateVaporPressureVsHeight() const; /// Table of temperature as a function of height const atm::ProfileResult& EvaluateTemperatureVsHeight() const; /// Table of density as a function of height const atm::ProfileResult& EvaluateDensityVsHeight() const; /// Table of refraction index as a function of height const atm::ProfileResult& EvaluateRefractionIndexVsHeight() const; // returns true if some data has been cached bool HasData() const; private: // returns true if some data has been cached bool CheckForUpdates() const; mutable utl::TimeStamp fCurrentTime; mutable bool fDbIsEmptyNow; REGISTER_MODEL(atm::VProfileModel, "RadiosondeDB", RadiosondeDBProfileModel); }; } // #endif // _atm_RadiosondeDBProfileModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: