1 #ifndef RADIATIVE_TRANSFER_SINGLE_WN_H 2 #define RADIATIVE_TRANSFER_SINGLE_WN_H 38 int Spec_index)
const;
75 virtual void print(std::ostream& Os,
bool Short_form =
false)
const;
boost::shared_ptr< RtAtmosphere > atm
virtual ArrayAd< double, 1 > stokes_and_jacobian_single_wn(double Wn, int Spec_index, const ArrayAd< double, 2 > &Iv=ArrayAd< double, 2 >()) const =0
Calculate stokes vector and Jacobian for the given wavenumber.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
RadiativeTransferSingleWn()
Default constructor. Derived classes should fill in atm and stokes_coef.
virtual blitz::Array< double, 1 > stokes_single_wn(double Wn, int Spec_index, const ArrayAd< double, 2 > &Iv=ArrayAd< double, 2 >()) const =0
Calculate stokes vector for the given wavenumber.
virtual ~RadiativeTransferSingleWn()
This is a RadiativeTransfer that supplies an interface that can be called for a single wavenumber...
virtual int number_stream() const =0
Number of streams to use in processing.
virtual blitz::Array< double, 2 > stokes(const SpectralDomain &Spec_domain, int Spec_index) const
Calculate stokes vector for the given set of wavenumbers/wavelengths.
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.
boost::shared_ptr< RtAtmosphere > atmosphere_ptr() const
Contains classes to abstract away details in various Spurr Radiative Transfer software.
RadiativeTransferFixedStokesCoefficient()
Default constructor, derived classes should set up stokes_coef.
const boost::shared_ptr< RtAtmosphere > & atmosphere() const
For GOSAT and OCO, we have a set of stokes coefficients to go from Stokes vector to radiation...
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to stream.