23 Os <<
"SolarAbsorptionAndContinuum:\n";
25 opad << doppler_shift() <<
"\n" 26 << absorption_spectrum() <<
"\n" 27 << continuum_spectrum();
37 Spectrum solar_cont(continuum_spectrum().solar_continuum_spectrum(sd));
38 Spectrum solar_abs(absorption_spectrum().solar_absorption_spectrum(sd));
41 e <<
"Absorption spectrum should be dimensionless. Instead, it had the\n"
This is a filtering stream that adds a pad to the front of every line written out.
virtual Spectrum solar_spectrum(const SpectralDomain &Spec_domain) const
Calculate solar spectrum.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
const Unit dimensionless("dimensionless", 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
This is the base of the exception hierarchy for Full Physics code.
const SpectralRange & spectral_range() const
Spectral range (e.g, radiance values)
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Apply value function to a blitz array.
This class models models any effects that need to be applied to high resolution spectra after the rad...
const Unit & units() const
Units of data.
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
We have a number of different spectrums that appear in different parts of the code.
This applies a solar model to radiances to model the incoming solar irradiance.
bool is_commensurate(const Unit &Units) const
Test if this set of units is commensurate with another set.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
#define REGISTER_LUA_END()
const Unit AU("AU", 1.49597870691e11 *units::m)
1 AU in meters.
virtual void print(std::ostream &Os) const
Print description of object.
const blitz::Array< double, 1 > & data() const
Underlying data.