ReFRACtor
twostream_rt.h
Go to the documentation of this file.
1 #ifndef TWOSTREAM_RT_H
2 #define TWOSTREAM_RT_H
3 
4 #include "twostream_driver.h"
5 #include "spurr_rt.h"
6 
7 namespace FullPhysics {
8 
9 /****************************************************************/
13 class TwostreamRt : public SpurrRt {
14 public:
16  const boost::shared_ptr<StokesCoefficient>& Stokes_coef,
17  const blitz::Array<double, 1>& Sza,
18  const blitz::Array<double, 1>& Zen,
19  const blitz::Array<double, 1>& Azm,
20  bool do_fullquadrature = true,
21  bool do_solar = true,
22  bool do_thermal = false);
23 
25  virtual int number_stream() const { return 1; }
26 
29  int number_moment() const { return 3; };
30 
32  const boost::shared_ptr<TwostreamBrdfDriver> brdf_driver() const { return rt_driver()->twostream_brdf_driver(); }
33 
36  { return boost::shared_ptr<TwostreamRtDriver>(boost::dynamic_pointer_cast<TwostreamRtDriver>(rt_driver_)); }
37 
38  virtual void print(std::ostream& Os, bool Short_form = false) const;
39 };
40 }
41 #endif
int number_moment() const
Number of moments for scattering matrix.
Definition: twostream_rt.h:29
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to a stream.
Definition: twostream_rt.cc:62
boost::shared_ptr< SpurrRtDriver > rt_driver_
Definition: spurr_rt.h:61
Abstract Interface for Rt classes based on Spurr driver implementations.
Definition: spurr_rt.h:16
TwostreamRt(const boost::shared_ptr< RtAtmosphere > &Atm, const boost::shared_ptr< StokesCoefficient > &Stokes_coef, const blitz::Array< double, 1 > &Sza, const blitz::Array< double, 1 > &Zen, const blitz::Array< double, 1 > &Azm, bool do_fullquadrature=true, bool do_solar=true, bool do_thermal=false)
Constructor.
Definition: twostream_rt.cc:43
Uses the Spurr interfaces to construct a radiative transfer class connecting L2 FP and TwoStream...
Definition: twostream_rt.h:13
TwoStream specific Radiative transfer driver implementation.
const boost::shared_ptr< TwostreamBrdfDriver > brdf_driver() const
Convenience routine to get brdf driver object.
Definition: twostream_rt.h:32
virtual int number_stream() const
Number of quadtature streams in the cosine half space.
Definition: twostream_rt.h:25
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
const boost::shared_ptr< TwostreamRtDriver > rt_driver() const
Convenience routine to get rt driver object.
Definition: twostream_rt.h:35

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