4 #include <utl/ErrorLogger.h>
7 #include <det/Detector.h>
8 #include <utl/TimeStamp.h>
9 #include <utl/UTCDateTime.h>
11 #include <atm/AerosolDB.h>
12 #include <atm/AerosolZone.h>
13 #include <atm/ProfileResult.h>
15 #include <atm/MonthlyAvgDBProfileModel.h>
23 using namespace ReadMolecularHLNS;
25 ReadMolecularHL::ReadMolecularHL(){}
27 ReadMolecularHL::~ReadMolecularHL(){}
32 INFO(
"ReadMolecularHL::Init()");
39 INFO(
"ReadMolecularHL::Run()");
41 Detector& det = Detector::GetInstance();
47 const Atmosphere& theAtm = Detector::GetInstance().GetAtmosphere();
58 densityVsHeight.
MinX()));
60 min( tempVsHeight.
MaxX(),
62 densityVsHeight.
MaxX()));
63 double deltaH = 300*
m;
65 for (
double height = minHeight; height < maxHeight; height += deltaH) {
66 cout <<
"height = " << height/
m <<
" m " << endl;
67 cout <<
" depth = " << depthVsHeight.
Y(height)/(
g/
cm/
cm) <<
" g/cm^2" << endl;
68 cout <<
" density = " << densityVsHeight.
Y(height)/(
g/
cm/
cm/
cm) <<
" g/cm^3" << endl;
69 cout <<
" temp = " << tempVsHeight.
Y(height)/
kelvin <<
" deg k " << endl;
78 INFO(
"ReadMolecularHL::Finish()");
void Update(const utl::TimeStamp &time, const bool invData=true, const bool invComp=true, const bool forceRadio=false)
Update detector: deletes currently constructed stations and sets new time.
Top of the interface to Atmosphere information.
const atm::ProfileResult & EvaluateDensityVsHeight() const
Tabulated function giving Y=density as a function of X=height.
#define INFO(message)
Macro for logging informational messages.
void Init()
Initialise the registry.
double Y(const double x) const
Get the Y value (coordinate) for given X (ordinate)
Class describing the Atmospheric profile.
Top of the hierarchy of the detector description interface.
const atm::ProfileResult & EvaluateDepthVsHeight() const
Tabulated function giving Y=depth as a function of X=height.
double MinX() const
Return the minimum value for X (ordinate) stored in the profile.
ResultFlag
Flag returned by module methods to the RunController.
const atm::ProfileResult & EvaluateTemperatureVsHeight() const
Tabulated function giving Y=temperature as a function of X=height.
double MaxX() const
Return the maximum value for X (ordinate) stored in the profile.