ReFRACtor
level_1b_scale_radiance.h
Go to the documentation of this file.
1 #ifndef LEVEL_1B_SCALE_RADIANCE_H
2 #define LEVEL_1B_SCALE_RADIANCE_H
3 #include "level_1b.h"
4 #include <boost/shared_ptr.hpp>
5 #include <vector>
6 
7 namespace FullPhysics {
8 /****************************************************************/
14 public:
15  Level1bScaleRadiance(const boost::shared_ptr<Level1b>& L1b, const blitz::Array<double, 1>& Scaling)
16  : l1b(L1b), scaling(Scaling) {}
17 
18  virtual ~Level1bScaleRadiance() {}
19 
20  virtual int number_spectrometer() const
21  { return l1b->number_spectrometer(); }
22 
23  virtual DoubleWithUnit relative_velocity(int Spec_index) const
24  { return l1b->relative_velocity(Spec_index); }
25 
26  virtual Time time(int Spec_index) const
27  { return l1b->time(Spec_index); }
28 
29  virtual DoubleWithUnit latitude(int i) const
30  { return l1b->latitude(i); }
31 
32  virtual DoubleWithUnit longitude(int i) const
33  { return l1b->longitude(i); }
34 
35  virtual DoubleWithUnit sounding_zenith(int i) const
36  { return l1b->sounding_zenith(i); }
37 
38  virtual DoubleWithUnit sounding_azimuth(int i) const
39  { return l1b->sounding_azimuth(i); }
40 
41  virtual blitz::Array<double, 1> stokes_coefficient(int i) const
42  { return l1b->stokes_coefficient(i); }
43 
44  virtual DoubleWithUnit solar_zenith(int i) const
45  { return l1b->solar_zenith(i); }
46 
47  virtual DoubleWithUnit solar_azimuth(int i) const
48  { return l1b->solar_azimuth(i); }
49 
50  virtual DoubleWithUnit altitude(int i) const
51  { return l1b->altitude(i); }
52 
53  virtual SpectralDomain sample_grid(int Spec_index) const
54  { return l1b->sample_grid(Spec_index); }
55 
56  virtual SpectralRange radiance(int Spec_index) const;
57 
58  virtual void print(std::ostream& Os) const;
59 private:
61  blitz::Array<double, 1> scaling;
62 };
63 }
64 #endif
virtual DoubleWithUnit sounding_azimuth(int i) const
Sounding azimuth.
Level1bScaleRadiance(const boost::shared_ptr< Level1b > &L1b, const blitz::Array< double, 1 > &Scaling)
virtual DoubleWithUnit solar_zenith(int i) const
Solar zenith.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual DoubleWithUnit latitude(int i) const
Latitude.
virtual DoubleWithUnit altitude(int i) const
Altitude.
virtual SpectralDomain sample_grid(int Spec_index) const
Returns the sample grid (ie wavenumber, wavelength, etc) for the corresponding radiance values...
virtual SpectralRange radiance(int Spec_index) const
Radiance, for given spectral band.
This is used to read a Level 1B file.
Definition: level_1b.h:15
virtual DoubleWithUnit solar_azimuth(int i) const
Solar azimuth.
virtual Time time(int Spec_index) const
Time of sounding.
virtual DoubleWithUnit relative_velocity(int Spec_index) const
Relative velocity.
virtual void print(std::ostream &Os) const
Print description of object.
We frequently have a double with units associated with it.
We have a number of different spectrums that appear in different parts of the code.
virtual blitz::Array< double, 1 > stokes_coefficient(int i) const
Return stokes coefficients.
This is a simple time class.
Definition: fp_time.h:29
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual DoubleWithUnit longitude(int i) const
Longitude.
Scales the measured radiance of another Level1b class for each spectral band.
virtual int number_spectrometer() const
Number of spectrometers.
virtual DoubleWithUnit sounding_zenith(int i) const
Sounding zenith.

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