ReFRACtor
aerosol_property_rh_hdf.h
Go to the documentation of this file.
1 #ifndef AEROSOL_PROPERTY_RH_HDF_H
2 #define AEROSOL_PROPERTY_RH_HDF_H
4 #include "hdf_file.h"
5 #include "linear_interpolate.h"
7 #include <boost/shared_ptr.hpp>
8 
9 namespace FullPhysics {
10 /****************************************************************/
26 public:
27  AerosolPropertyRhHdf(const HdfFile& F, const std::string& Group_name,
28  const boost::shared_ptr<Pressure>& Press,
30  virtual ~AerosolPropertyRhHdf() {}
34  const boost::shared_ptr<RelativeHumidity>& Rh) const;
36  const;
38  const;
40  const;
42  const;
43  virtual ArrayAd<double, 3>
44  phase_function_moment_each_layer(double wn, int nmom = -1,
45  int nscatt = -1) const;
47  phase_function_moment_each_layer_not_used(double wn, int nmom = -1,
48  int nscatt = -1) const;
49  virtual void print(std::ostream& Os) const;
50 private:
52  std::vector<AutoDerivative<double> > rh_val;
53  std::vector<double> rh_val_d; // Temporary
54  std::vector<boost::shared_ptr<LinearInterpolate<double, double> > > qext;
55  std::vector<boost::shared_ptr<LinearInterpolate<double, double> > > qscat;
56  std::vector<boost::shared_ptr<ScatteringMomentInterpolate> > pf;
57  std::string hdf_file, hdf_group;
58 };
59 }
60 #endif
virtual ArrayAd< double, 1 > scattering_coefficient_each_layer_not_used(double wn) const
virtual ArrayAd< double, 3 > phase_function_moment_each_layer(double wn, int nmom=-1, int nscatt=-1) const
Return phase function moments for the given wave number for each layer.
virtual void print(std::ostream &Os) const
Print to stream.
virtual ArrayAd< double, 1 > extinction_coefficient_each_layer_not_used(double wn) const
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
This class reads and writes a HDF5 file.
Definition: hdf_file.h:39
virtual ArrayAd< double, 1 > extinction_coefficient_each_layer(double wn) const
Return extinction coefficient for the given wave number, for each layer.
This gives the Aerosol properties for an Aerosol.
virtual boost::shared_ptr< AerosolProperty > clone() const
Clone a AerosolProperty object.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
ArrayAd< double, 3 > phase_function_moment_each_layer_not_used(double wn, int nmom=-1, int nscatt=-1) const
AerosolPropertyRhHdf(const HdfFile &F, const std::string &Group_name, const boost::shared_ptr< Pressure > &Press, const boost::shared_ptr< RelativeHumidity > &Rh)
Read the given group in the given file for the aerosol properties.
virtual ArrayAd< double, 1 > scattering_coefficient_each_layer(double wn) const
Return scattering coefficient for the given wave number for each layer.

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