12 Array<double, 2> res(
wn.rows(), number_stokes());
13 for(
int i = 0; i <
wn.rows(); ++i) {
14 res(i, Range::all()) = stokes_single_wn(
wn(i), Spec_index);
30 stokes_and_jacobian_single_wn(
wn(0), Spec_index);
32 res(0, Range::all()) = t;
33 for(
int i = 1; i <
wn.rows(); ++i) {
34 res(i, Range::all()) = stokes_and_jacobian_single_wn(
wn(i), Spec_index);
46 Os <<
"\nAtmosphere:\n";
This is a filtering stream that adds a pad to the front of every line written out.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
Apply value function to a blitz array.
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to stream.
virtual blitz::Array< double, 2 > stokes(const SpectralDomain &Spec_domain, int Spec_index) const
Calculate stokes vector for the given set of wavenumbers/wavelengths.
int number_variable() const
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.
blitz::Array< double, 1 > wavenumber(const Unit &Units=units::inv_cm) const
Return data as wavenumbers.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual void print(std::ostream &Os, bool Short_form=false) const
Print to stream.