/** \file Declaration of MonthlyAvgDBProfileModel \author T. Paul \version $Id$ \date 11 April 2005 */ #ifndef _atm_MonthlyAvgDBProfileModel_h_ #define _atm_MonthlyAvgDBProfileModel_h_ static const char CVSId_atm_MonthlyAvgDBProfileModel[] = "$Id$"; #include namespace utl { class TimeStamp; } namespace atm { class ProfileResult; /** \class MonthlyAvgDBProfileModel MonthlyAvgDBProfileModel.h "atm/MonthlyAvgDBProfileModel.h" \brief Molecular profile information from database monthly averages This model provides access to the monthly average molecular profile information stored in the molecular atmosphere database. \author T. Paul \date 11 April 2005 \ingroup atm_models */ class MonthlyAvgDBProfileModel : public atm::VProfileModel { public: MonthlyAvgDBProfileModel(); void Init(); /// Table of depth as a function of height const atm::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 H2O 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; /// Tabl of refraction index as a function of height const atm::ProfileResult& EvaluateRefractionIndexVsHeight() const; virtual bool HasData() const; private: // returns true if some data has been cached bool CheckForUpdates() const; mutable utl::TimeStamp fCurrentTime; REGISTER_MODEL(atm::VProfileModel, "MonthlyAvgDB", MonthlyAvgDBProfileModel); }; } #endif // _atm_MonthlyAvgDBProfileModel_h_ // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // compile-command: "make -C .. -k" // End: