ReFRACtor
hdf_constant.h
Go to the documentation of this file.
1 #ifndef HDF_CONSTANT_H
2 #define HDF_CONSTANT_H
3 #include "constant.h"
4 #include "hdf_file.h"
5 namespace FullPhysics {
6  /******************************************************************
7  This class is an implementation of Constant where all the values are
8  read from an Hdf file.
9  *******************************************************************/
10  class HdfConstant : public Constant {
11  public:
12  HdfConstant(const boost::shared_ptr<HdfFile>& Hdf_file);
13  virtual ~HdfConstant() {}
14  virtual void print(std::ostream& Os) const
15  { Os << "HdfConstant"; }
16 
17  //-----------------------------------------------------------------------
20  //-----------------------------------------------------------------------
21 
22  virtual double rayleigh_depolarization_factor() const
23  { return -1;
24  }
25  //-----------------------------------------------------------------------
29  //-----------------------------------------------------------------------
30 
31  virtual DoubleWithUnit rayleigh_a() const
32  {
33  return DoubleWithUnit(-1, "dimensionless");
34  }
35 
36  //-----------------------------------------------------------------------
40  //-----------------------------------------------------------------------
41 
42  virtual DoubleWithUnit rayleigh_b() const
43  {
44  return DoubleWithUnit(-1, "dimensionless");
45  }
46  //-----------------------------------------------------------------------
48  //-----------------------------------------------------------------------
50  {
51  return DoubleWithUnit(-1, "g / mol");
52  }
53 
54  //-----------------------------------------------------------------------
56  //-----------------------------------------------------------------------
58  {
59  return DoubleWithUnit(-1, "g / mol");
60  }
61 
62  //-----------------------------------------------------------------------
64  //-----------------------------------------------------------------------
66  { return DoubleWithUnit(-1, "mol^-1"); }
67 
68  //-----------------------------------------------------------------------
70  //-----------------------------------------------------------------------
71  virtual boost::array<double, 7> solar_distance_param() const
72  {
73  const boost::array<double, 7> sdp =
74  {{-1, -1, -1, -1, -1, -1, -1}};
75  return sdp;
76  }
77  };
78 }
79 #endif
HdfConstant(const boost::shared_ptr< HdfFile > &Hdf_file)
Read HDF file to get constants.
Definition: hdf_constant.cc:16
virtual double rayleigh_depolarization_factor() const
Rayleigh depolarization factor.
Definition: hdf_constant.h:22
virtual DoubleWithUnit rayleigh_b() const
Rayleigh "b" value.
Definition: hdf_constant.h:42
virtual DoubleWithUnit avogadro_constant() const
Avogadro constant.
Definition: hdf_constant.h:65
This class contains various constants.
Definition: constant.h:11
virtual DoubleWithUnit molar_weight_dry_air() const
Molar weight of dry air.
Definition: hdf_constant.h:49
virtual boost::array< double, 7 > solar_distance_param() const
The polynomial used to find the distance to the sun.
Definition: hdf_constant.h:71
virtual DoubleWithUnit molar_weight_water() const
Molar weight of water.
Definition: hdf_constant.h:57
We frequently have a double with units associated with it.
virtual DoubleWithUnit rayleigh_a() const
Rayleigh "a" value.
Definition: hdf_constant.h:31
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void print(std::ostream &Os) const
Definition: hdf_constant.h:14

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:08