Canoe
Comprehensive Atmosphere N' Ocean Engine
Absorber Class Reference

base class of all absorbers More...

#include <absorber.hpp>

Inheritance diagram for Absorber:
[legend]

Public Member Functions

 Absorber (std::string name)
 
virtual ~Absorber ()
 
void SetModel (std::string name)
 Set absorption model. More...
 
void LoadOpacityFromFile (std::string filename)
 Combines SetOpacityFile() and LoadOpacity() More...
 
void SetOpacityFile (std::string filename)
 Set opacity filename to internal variable, does not load opacity. More...
 
void LoadOpacity ()
 Load opacity from internal variable. More...
 
virtual void LoadCoefficient (std::string fname, size_t bid)
 Load absorption coefficient from file. More...
 
virtual Real GetAttenuation (Real wave1, Real wave2, AirParcel const &var) const
 Get attenuation coefficient [1/m]. More...
 
virtual Real GetSingleScatteringAlbedo (Real wave1, Real wave2, AirParcel const &var) const
 Get single scattering albedo [1]. More...
 
virtual void GetPhaseMomentum (Real *pp, Real wave1, Real wave2, AirParcel const &var, int np) const
 Get phase function [1]. More...
 
- Public Member Functions inherited from NamedGroup
 NamedGroup (std::string name)
 
virtual ~NamedGroup ()
 
std::string GetName () const
 
- Public Member Functions inherited from ParameterGroup
virtual ~ParameterGroup ()
 
void SetRealsFrom (YAML::Node const &node)
 
void SetPar (std::string const &name, Real value)
 Set real parameter. More...
 
void SetPar (std::string const &name, int value)
 Set int parameter. More...
 
void SetPar (std::string const &name, std::string const &value)
 Set string parameter. More...
 
template<typename T >
GetPar (std::string const &name) const
 Get parameter. More...
 
bool HasPar (std::string const &name) const
 Check if a parameter exists. More...
 
template<>
int GetPar (std::string const &name) const
 
template<>
Real GetPar (std::string const &name) const
 
- Public Member Functions inherited from SpeciesIndexGroup
virtual ~SpeciesIndexGroup ()
 
void SetSpeciesIndex (std::vector< std::string > const &species_names)
 Set species index based on species names. More...
 
std::vector< int > const & GetSpeciesIndexArray () const
 
int GetSpeciesIndex (int n) const
 
std::vector< int > const & GetCloudIndexArray () const
 
int GetCloudIndex (int n) const
 
std::vector< int > const & GetChemistryIndexArray () const
 
int GetChemistryIndex (int n) const
 
- Public Member Functions inherited from CheckGroup
virtual ~CheckGroup ()
 
virtual void CheckFail () const
 This function fails if the check fails. More...
 
virtual bool CheckWarn () const
 

Protected Attributes

std::string model_name_
 absorption model model More...
 
std::string opacity_filename_
 opacity filename More...
 

Detailed Description

base class of all absorbers

Definition at line 22 of file absorber.hpp.

Constructor & Destructor Documentation

◆ Absorber()

Absorber::Absorber ( std::string  name)

Definition at line 11 of file absorber.cpp.

◆ ~Absorber()

Absorber::~Absorber ( )
virtual

Definition at line 16 of file absorber.cpp.

Member Function Documentation

◆ SetModel()

void Absorber::SetModel ( std::string  name)
inline

Set absorption model.

Definition at line 32 of file absorber.hpp.

◆ LoadOpacityFromFile()

void Absorber::LoadOpacityFromFile ( std::string  filename)

Combines SetOpacityFile() and LoadOpacity()

Definition at line 21 of file absorber.cpp.

◆ SetOpacityFile()

void Absorber::SetOpacityFile ( std::string  filename)

Set opacity filename to internal variable, does not load opacity.

Definition at line 26 of file absorber.cpp.

◆ LoadOpacity()

void Absorber::LoadOpacity ( )

Load opacity from internal variable.

Definition at line 30 of file absorber.cpp.

◆ LoadCoefficient()

virtual void Absorber::LoadCoefficient ( std::string  fname,
size_t  bid 
)
inlinevirtual

Load absorption coefficient from file.

Reimplemented in HitranAbsorber, XuWaterIceCloud, O2O2CIA, N2N2CIA, and CorrelatedKAbsorber.

Definition at line 44 of file absorber.hpp.

◆ GetAttenuation()

◆ GetSingleScatteringAlbedo()

virtual Real Absorber::GetSingleScatteringAlbedo ( Real  wave1,
Real  wave2,
AirParcel const &  var 
) const
inlinevirtual

Get single scattering albedo [1].

Reimplemented in XuWaterIceCloud, FuWaterIceCloud, FuWaterLiquidCloud, and SimpleCloud.

Definition at line 53 of file absorber.hpp.

◆ GetPhaseMomentum()

virtual void Absorber::GetPhaseMomentum ( Real *  pp,
Real  wave1,
Real  wave2,
AirParcel const &  var,
int  np 
) const
inlinevirtual

Get phase function [1].

Reimplemented in XuWaterIceCloud, FuWaterIceCloud, FuWaterLiquidCloud, and SimpleCloud.

Definition at line 59 of file absorber.hpp.

Member Data Documentation

◆ model_name_

std::string Absorber::model_name_
protected

absorption model model

Definition at line 64 of file absorber.hpp.

◆ opacity_filename_

std::string Absorber::opacity_filename_
protected

opacity filename

Definition at line 67 of file absorber.hpp.


The documentation for this class was generated from the following files: