ReFRACtor
solar_model.h
Go to the documentation of this file.
1 #ifndef SOLAR_MODEL_H
2 #define SOLAR_MODEL_H
3 #include "printable.h"
4 #include "array_ad.h"
5 #include "spectrum.h"
6 #include "spectrum_effect.h"
7 #include <blitz/array.h>
8 
9 namespace FullPhysics {
10 /****************************************************************/
15 class SolarModel : public SpectrumEffect {
16 public:
17  virtual ~SolarModel() {}
18  virtual Spectrum apply_solar_model(const Spectrum& Spec) const;
19 
20 //-----------------------------------------------------------------------
31 //-----------------------------------------------------------------------
32 
33  virtual Spectrum solar_spectrum(const SpectralDomain& Spec_domain) const = 0;
34  virtual void print(std::ostream& Os) const {Os << "SolarModel";}
35 
36  virtual void apply_effect(Spectrum& Spec,
37  const ForwardModelSpectralGrid& Forward_model_grid) const {
38  Spec = apply_solar_model(Spec);
39  }
40 
41  virtual std::string name() const { return "solar_model"; }
42 };
43 }
44 #endif
virtual std::string name() const
Name of spectrum effect, for use when outputting effects of effect.
Definition: solar_model.h:41
virtual Spectrum solar_spectrum(const SpectralDomain &Spec_domain) const =0
Calculate solar spectrum.
This applies a solar model to reflectance to model the incoming solar irradiance. ...
Definition: solar_model.h:15
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
This is the Forward Model spectral grid.
This class models models any effects that need to be applied to high resolution spectra after the rad...
This is a full spectrum, which contains a SpectralRange and SpectralDomain.
Definition: spectrum.h:18
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void print(std::ostream &Os) const
Definition: solar_model.h:34
virtual void apply_effect(Spectrum &Spec, const ForwardModelSpectralGrid &Forward_model_grid) const
Apply correction to spectrum in place.
Definition: solar_model.h:36
virtual Spectrum apply_solar_model(const Spectrum &Spec) const
Apply the solar model.
Definition: solar_model.cc:21

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