ReFRACtor
FullPhysics::ChapmanBoaRT Class Reference

#include <chapman_boa_rt.h>

+ Inheritance diagram for FullPhysics::ChapmanBoaRT:
+ Collaboration diagram for FullPhysics::ChapmanBoaRT:

Public Member Functions

 ChapmanBoaRT (const boost::shared_ptr< AtmosphereOco > &Atm, const blitz::Array< double, 1 > &Sza)
 
 ChapmanBoaRT (const boost::shared_ptr< AtmosphereOco > &Atm, const blitz::Array< double, 1 > &Sza, const SpectralBound &Spec_bound)
 
virtual ~ChapmanBoaRT ()
 
const boost::shared_ptr< AtmosphereOco > & atmosphere_ptr () const
 Pointer to the Atmosphere class we are using. More...
 
virtual void notify_add (RtAtmosphere &Observed_object)
 Called when an object is added to an Observable. More...
 
virtual void notify_add ()
 
virtual void notify_remove (RtAtmosphere &Observed_object)
 Called when an object is removed from an Observable. More...
 
virtual void notify_remove ()
 
void notify_update (const RtAtmosphere &updated_atm)
 Regenerate chapman factors when Atmosphere changes. More...
 
virtual int number_spectrometer () const
 Number of spectrometer we have. More...
 
virtual int number_stokes () const
 Number of stokes parameters we will return in stokes and stokes_and_jacobian. More...
 
virtual void print (std::ostream &Os, bool Short_form=false) const
 Print to stream. More...
 
std::string print_to_string () const
 Print to string. More...
 
virtual Spectrum reflectance (const SpectralDomain &Spec_domain, int Spec_index, bool Skip_jacobian=false) const
 Calculate reflectance for the given set of wavenumbers/wavelengths. More...
 
virtual blitz::Array< double, 2 > stokes (const SpectralDomain &Spec_domain, int Spec_index) const
 Calculate stokes vector for the given set of wavenumbers/wavelengths. More...
 
virtual ArrayAd< double, 2 > stokes_and_jacobian (const SpectralDomain &Spec_domain, int Spec_index) const
 Calculate stokes vector for the given set of wavenumbers/wavelengths. More...
 

Protected Member Functions

boost::shared_ptr< boost::progress_display > progress_display (const blitz::Array< double, 1 > &wn) const
 Helper routine, creates a progress meter. More...
 

Static Protected Attributes

static AccumulatedTimer timer
 

Detailed Description

Definition at line 14 of file chapman_boa_rt.h.

Constructor & Destructor Documentation

◆ ChapmanBoaRT() [1/2]

ChapmanBoaRT::ChapmanBoaRT ( const boost::shared_ptr< AtmosphereOco > &  Atm,
const blitz::Array< double, 1 > &  Sza 
)

Definition at line 27 of file chapman_boa_rt.cc.

◆ ChapmanBoaRT() [2/2]

ChapmanBoaRT::ChapmanBoaRT ( const boost::shared_ptr< AtmosphereOco > &  Atm,
const blitz::Array< double, 1 > &  Sza,
const SpectralBound Spec_bound 
)

Definition at line 41 of file chapman_boa_rt.cc.

◆ ~ChapmanBoaRT()

virtual FullPhysics::ChapmanBoaRT::~ChapmanBoaRT ( )
inlinevirtual

Definition at line 25 of file chapman_boa_rt.h.

Member Function Documentation

◆ atmosphere_ptr()

const boost::shared_ptr<AtmosphereOco>& FullPhysics::ChapmanBoaRT::atmosphere_ptr ( ) const
inline

Pointer to the Atmosphere class we are using.

Definition at line 41 of file chapman_boa_rt.h.

◆ notify_add() [1/2]

virtual void FullPhysics::Observer< RtAtmosphere >::notify_add ( RtAtmosphere Observed_object)
inlinevirtualinherited

Called when an object is added to an Observable.

Default is to do nothing.

Definition at line 47 of file observer.h.

◆ notify_add() [2/2]

virtual void FullPhysics::Observer< RtAtmosphere >::notify_add ( )
inlinevirtualinherited

Definition at line 48 of file observer.h.

◆ notify_remove() [1/2]

virtual void FullPhysics::Observer< RtAtmosphere >::notify_remove ( RtAtmosphere Observed_object)
inlinevirtualinherited

Called when an object is removed from an Observable.

Default is to do nothing.

Definition at line 55 of file observer.h.

◆ notify_remove() [2/2]

virtual void FullPhysics::Observer< RtAtmosphere >::notify_remove ( )
inlinevirtualinherited

Definition at line 56 of file observer.h.

◆ notify_update()

void FullPhysics::ChapmanBoaRT::notify_update ( const RtAtmosphere updated_atm)
inlinevirtual

Regenerate chapman factors when Atmosphere changes.

Reimplemented from FullPhysics::Observer< RtAtmosphere >.

Definition at line 30 of file chapman_boa_rt.h.

◆ number_spectrometer()

virtual int FullPhysics::ChapmanBoaRT::number_spectrometer ( ) const
inlinevirtual

Number of spectrometer we have.

Implements FullPhysics::RadiativeTransfer.

Definition at line 34 of file chapman_boa_rt.h.

◆ number_stokes()

virtual int FullPhysics::ChapmanBoaRT::number_stokes ( ) const
inlinevirtual

Number of stokes parameters we will return in stokes and stokes_and_jacobian.

Implements FullPhysics::RadiativeTransfer.

Definition at line 32 of file chapman_boa_rt.h.

◆ print()

void ChapmanBoaRT::print ( std::ostream &  Os,
bool  Short_form = false 
) const
virtual

Print to stream.

Reimplemented from FullPhysics::RadiativeTransfer.

Definition at line 167 of file chapman_boa_rt.cc.

◆ print_to_string()

std::string FullPhysics::Printable< RadiativeTransfer >::print_to_string ( ) const
inlineinherited

Print to string.

This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.

Definition at line 31 of file printable.h.

◆ progress_display()

boost::shared_ptr< boost::progress_display > RadiativeTransfer::progress_display ( const blitz::Array< double, 1 > &  wn) const
protectedinherited

Helper routine, creates a progress meter.

This will return 0 if we aren't logging, or if we don't have enough points to bother with.

Definition at line 19 of file radiative_transfer.cc.

◆ reflectance()

Spectrum ChapmanBoaRT::reflectance ( const SpectralDomain Spec_domain,
int  Spec_index,
bool  Skip_jacobian = false 
) const
virtual

Calculate reflectance for the given set of wavenumbers/wavelengths.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Skip_jacobianIf true, don't do the Jacobian calculation. Often this is significantly faster to calculate.
Returns
The set of reflectance values.

Implements FullPhysics::RadiativeTransfer.

Definition at line 112 of file chapman_boa_rt.cc.

◆ stokes()

blitz::Array< double, 2 > ChapmanBoaRT::stokes ( const SpectralDomain Spec_domain,
int  Spec_index 
) const
virtual

Calculate stokes vector for the given set of wavenumbers/wavelengths.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Returns
The set of stokes coefficients. This is Spec_domain.data().rows() x number_stokes() in size.
Todo:
: Make this faster to where it doesn't compute jacobians, right now it just fails to return the jacobian part and it is computed unncecessarily

Implements FullPhysics::RadiativeTransfer.

Definition at line 125 of file chapman_boa_rt.cc.

◆ stokes_and_jacobian()

ArrayAd< double, 2 > ChapmanBoaRT::stokes_and_jacobian ( const SpectralDomain Spec_domain,
int  Spec_index 
) const
virtual

Calculate stokes vector for the given set of wavenumbers/wavelengths.

This also calculates the Jacobian of the stokes with respect to the state vector elements.

Parameters
Spec_domainList of wavenumber/wavelength to calculate for.
Spec_indexThe Spectral index
Returns
The set of stokes coefficients, along with derivatives with respect to the state vector elements. This is Spec_domain.data().rows() x number_stokes() in size.

Implements FullPhysics::RadiativeTransfer.

Definition at line 146 of file chapman_boa_rt.cc.

Member Data Documentation

◆ timer

AccumulatedTimer RadiativeTransfer::timer
staticprotectedinherited

Definition at line 92 of file radiative_transfer.h.


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

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