1 #ifndef RADIANT_DRIVER_H 2 #define RADIANT_DRIVER_H 6 #include <boost/noncopyable.hpp> 7 #include <blitz/array.h> 10 using namespace blitz;
18 public boost::noncopyable {
21 const blitz::Array<double, 1>& Sza);
38 virtual void print(std::ostream& Os)
const;
40 virtual blitz::Array<double, 1> stokes_single_wn
47 static constexpr
double SOLID_ANGLE = 6.79929414e-5;
48 virtual int number_stokes()
const {
return 1;}
50 blitz::Array<double, 1> sza;
52 mutable blitz::Array<double, 1> tau_in;
53 mutable blitz::Array<double, 2> l_tau_in;
59 mutable int alt_spec_index_cache;
void notify_update(const RtAtmosphere &atm)
For performance, we cache some data as we calculate it.
This class is responsible for setting up the atmosphere and ground information needed to run the Radi...
virtual int number_stream() const
Number of moments for scattering matrix.
This is a RadiativeTransfer that supplies an interface that can be called for a single wavenumber...
Apply value function to a blitz array.
This class drives the RADIANT Radiative Transfer code.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Simple Mixin to be and Observer of another object of class T.