Canoe
Comprehensive Atmosphere N' Ocean Engine
correlatedk_absorber.hpp
Go to the documentation of this file.
1 #ifndef SRC_OPACITY_CORRELATEDK_ABSORBER_HPP_
2 #define SRC_OPACITY_CORRELATEDK_ABSORBER_HPP_
3 
4 // C/C++
5 #include <string>
6 #include <vector>
7 
8 // opacity
9 #include "absorber.hpp"
10 
11 class CorrelatedKAbsorber : public Absorber {
12  public:
13  CorrelatedKAbsorber(std::string name) : Absorber(name) {}
14  virtual ~CorrelatedKAbsorber() {}
15  void LoadCoefficient(std::string fname, size_t bid) override;
16  // Real ckAbsorptionCoefficient(int mw, int mg, Real const prim[]) const;
17  Real GetAttenuation(Real g1, Real g2, AirParcel const& var) const override;
18 
19  protected:
20  size_t len_[3];
21  std::vector<Real> axis_;
22  std::vector<Real> kcoeff_;
23 };
24 
25 #endif // SRC_OPACITY_CORRELATEDK_ABSORBER_HPP_
base class of all absorbers
Definition: absorber.hpp:25
std::vector< Real > axis_
void LoadCoefficient(std::string fname, size_t bid) override
Load absorption coefficient from file.
Real GetAttenuation(Real g1, Real g2, AirParcel const &var) const override
Get attenuation coefficient [1/m].
std::vector< Real > kcoeff_
CorrelatedKAbsorber(std::string name)