ReFRACtor
|
This class maintains the atmosphere portion of the state, and uses this to set up the atmosphere and ground information needed to run the Radiative transfer code. More...
#include <atmosphere_oco.h>
Public Member Functions | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< Aerosol > &aerosolv, const boost::shared_ptr< RelativeHumidity > &rhv, const boost::shared_ptr< Ground > &groundv, const boost::shared_ptr< SurfaceTemperature > &surface_tempv, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an an Atmosphere with all available components: More... | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< Aerosol > &aerosolv, const boost::shared_ptr< RelativeHumidity > &rhv, const boost::shared_ptr< Ground > &groundv, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an Atmosphere with required components and all optional components except for surface temperature. More... | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< Aerosol > &aerosolv, const boost::shared_ptr< RelativeHumidity > &rhv, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an Atmosphere with required components and all optional components except for ground and surface temperature. More... | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< RelativeHumidity > &rhv, const boost::shared_ptr< Ground > &groundv, const boost::shared_ptr< SurfaceTemperature > &surface_tempv, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an Atmosphere with required components and all optional components except for aerosolMore... | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< RelativeHumidity > &rhv, const boost::shared_ptr< Ground > &groundv, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an Atmosphere with required components and all optional components except for aerosol and surface temperatureMore... | |
AtmosphereOco (const boost::shared_ptr< Absorber > &absorberv, const boost::shared_ptr< Pressure > &pressurev, const boost::shared_ptr< Temperature > &temperaturev, const boost::shared_ptr< RelativeHumidity > &Rh, const std::vector< boost::shared_ptr< Altitude > > &altv, const boost::shared_ptr< Constant > &C) | |
Create an Atmosphere with required components and all optional components except for ground, aerosol and surface temperature. More... | |
virtual | ~AtmosphereOco () |
const boost::shared_ptr< Absorber > & | absorber_ptr () const |
virtual void | add_observer (Observer< RtAtmosphere > &Obs) |
Add an observer. More... | |
void | add_observer_and_keep_reference (boost::shared_ptr< Observer< RtAtmosphere > > &Obs) |
Add an observer and keep a reference to it. More... | |
const boost::shared_ptr< Aerosol > & | aerosol_ptr () const |
virtual ArrayAdWithUnit< double, 1 > | altitude (int spec_index) const |
Altitude grid for current pressure grid. More... | |
const std::vector< boost::shared_ptr< Altitude > > & | altitude_ptr () const |
const boost::shared_ptr< Altitude > & | altitude_ptr (int Spec_index) const |
virtual ArrayAd< double, 1 > | atmosphere_blackbody (double wn, int spec_index) const |
The atmospheric thermal blackbody values per level. More... | |
void | attach_children_to_sv (StateVector &statev) |
For unit test purposes, it is useful to be able to clone or create a new atmosphere class then attach all its nested children to the state vector in the historic order and in the manner done by the Lua configuration. More... | |
boost::shared_ptr< AtmosphereOco > | clone () const |
This clones a Atmosphere object. More... | |
virtual AutoDerivative< double > | column_optical_depth (double wn, int spec_index, const std::string &Gas_name) const |
Total column optical depth for the given gas. More... | |
virtual boost::shared_ptr< ArrayAdCache< double, double, 1 > > & | column_optical_depth_cache () |
const boost::shared_ptr< Constant > & | constant_ptr () const |
virtual const boost::shared_ptr< Ground > | ground () const |
Object that represents the ground surface. More... | |
virtual ArrayAd< double, 2 > | intermediate_variable (double wn, int spec_index) const |
This gives the values of the intermediate variables and the Jacobian with respect to the state vector. More... | |
virtual void | mark_used (const StateVector &Sv, blitz::Array< bool, 1 > &Used) const |
Mark elements that we are actively using (i.e., that aren't ignored). More... | |
virtual void | notify_add (Aerosol &Observed_object) |
Called when an object is added to an Observable. More... | |
virtual void | notify_add (Pressure &Observed_object) |
Called when an object is added to an Observable. More... | |
virtual void | notify_add () |
virtual void | notify_add () |
virtual void | notify_add () |
virtual void | notify_add (StateVector &Sv) |
Called when an object is added to an Observable. More... | |
virtual void | notify_remove (Aerosol &Observed_object) |
Called when an object is removed from an Observable. More... | |
virtual void | notify_remove (Pressure &Observed_object) |
Called when an object is removed from an Observable. More... | |
virtual void | notify_remove () |
virtual void | notify_remove () |
virtual void | notify_remove () |
virtual void | notify_remove (StateVector &Sv) |
Called when an object is removed from an Observable. More... | |
virtual void | notify_update (const StateVector &Sv) |
Called when the Observed object is updated. More... | |
virtual void | notify_update (const Aerosol &A) |
For performance, we cache some data as we calculate it. More... | |
virtual void | notify_update (const Pressure &P) |
Called when the Observed object is updated. More... | |
virtual int | number_layer () const |
Number of layers we currently have. More... | |
virtual int | number_spectrometer () const |
Number of spectrometers we have. More... | |
virtual ArrayAd< double, 1 > | optical_depth_wrt_iv (double wn, int spec_index) const |
The optical depth for each layer, for the given wave number. More... | |
virtual ArrayAd< double, 1 > | optical_depth_wrt_iv (double wn, int spec_index, const ArrayAd< double, 2 > &iv) const |
This is a variation of optical_depth that takes the supplied value for the intermediate variables rather than calculating it own value. More... | |
ArrayAd< double, 1 > | optical_depth_wrt_state_vector (double wn, int spec_index) const |
The optical depth for each layer, for the given wave number. More... | |
const boost::shared_ptr< Pressure > & | pressure_ptr () const |
virtual void | print (std::ostream &Os) const |
std::string | print_to_string () const |
Print to string. More... | |
bool | rayleigh_only_atmosphere () const |
Indicate we have rayleigh only atmosphere, i.e., we don't have any aerosol content. More... | |
const boost::shared_ptr< Rayleigh > & | rayleigh_ptr () const |
const boost::shared_ptr< RelativeHumidity > & | relative_humidity_ptr () const |
virtual void | remove_observer (Observer< RtAtmosphere > &Obs) |
Remove an observer. More... | |
virtual void | reset_timer () |
Reset timer. More... | |
virtual ArrayAd< double, 3 > | scattering_moment_wrt_iv (double wn, int spec_index, int nummom=-1, int numscat=-1) const |
The scattering moments for for each layer, for the given wave number. More... | |
virtual ArrayAd< double, 3 > | scattering_moment_wrt_iv (double wn, int spec_index, const ArrayAd< double, 2 > &iv, int nummom=-1, int numscat=-1) const |
This is a variation of scattering_moment that takes the supplied value for the intermediate variables rather than calculating it own value. More... | |
ArrayAd< double, 3 > | scattering_moment_wrt_state_vector (double wn, int spec_index, int nummom=-1, int numscat=-1) const |
The scattering moments for for each layer, for the given wave number. More... | |
void | set_aerosol (boost::shared_ptr< Aerosol > &new_aerosol, StateVector &Sv) |
Changes the aerosol class used. More... | |
void | set_surface_pressure_for_testing (double x) |
For unit test purposes, it is useful to be able to directly change the surface pressure. More... | |
virtual ArrayAd< double, 1 > | single_scattering_albedo_wrt_iv (double wn, int spec_index) const |
The single scattering albedo for each layer, for the given wave number. More... | |
virtual ArrayAd< double, 1 > | single_scattering_albedo_wrt_iv (double wn, int spec_index, const ArrayAd< double, 2 > &iv) const |
This is a variation of single_scattering_albedo that takes the supplied value for the intermediate variables rather than calculating it own value. More... | |
ArrayAd< double, 1 > | single_scattering_albedo_wrt_state_vector (double wn, int spec_index) const |
The single scattering albedo for each layer, for the given wave number. More... | |
virtual void | state_vector_name (const StateVector &Sv, blitz::Array< std::string, 1 > &Sv_name) const |
Update any portion of the list of the state vector names that apply to this object. More... | |
virtual AutoDerivative< double > | surface_blackbody (double wn, int spec_index) const |
The surface thermal blackbody. More... | |
const boost::shared_ptr< Temperature > & | temperature_ptr () const |
virtual std::string | timer_info () const |
Return timer information. More... | |
Static Public Attributes | |
static AccumulatedTimer | timer |
Timer for RtAtmosphere. More... | |
Protected Member Functions | |
void | add_observer_do (Observer< RtAtmosphere > &Obs, RtAtmosphere &t) |
Add an observer. More... | |
void | add_observer_do (Observer< RtAtmosphere > &Obs) |
void | clean_dead_ptr () |
Remove any dead pointers. More... | |
void | notify_update_do (const RtAtmosphere &Self) |
Function to call to notify Observers of a state change. More... | |
void | remove_observer_do (Observer< RtAtmosphere > &Obs, RtAtmosphere &t) |
Remove an observer. More... | |
void | remove_observer_do (Observer< RtAtmosphere > &Obs) |
Protected Attributes | |
std::list< boost::weak_ptr< Observer< RtAtmosphere > > > | olist |
std::vector< boost::shared_ptr< Observer< RtAtmosphere > > > | ref_list |
This class maintains the atmosphere portion of the state, and uses this to set up the atmosphere and ground information needed to run the Radiative transfer code.
This particular implementation forwards most of the work to other classes such as Absorber and Aerosol. This class then coordinates these other classes, and provides the calculations needed to set up the RT code.
For some set ups, aerosol_ptr and/or ground_ptr may be null. For a Rayleigh only atmosphere, we don't have any aerosol to include. For up looking (e.g., TCCON FTS), there is no ground portion included in the radiative transfer.
To speed up the calculation of the Jacobian in LIDORT, we make use of "intermediate" variables instead of directly using state vector variables. A description of this in more detail can be found in doc/LIDORT_Jacobian.pdf
Definition at line 36 of file atmosphere_oco.h.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< Aerosol > & | aerosolv, | ||
const boost::shared_ptr< RelativeHumidity > & | rhv, | ||
const boost::shared_ptr< Ground > & | groundv, | ||
const boost::shared_ptr< SurfaceTemperature > & | surface_tempv, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an an Atmosphere with all available components:
Required:
Optional:
Definition at line 75 of file atmosphere_oco.cc.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< Aerosol > & | aerosolv, | ||
const boost::shared_ptr< RelativeHumidity > & | rhv, | ||
const boost::shared_ptr< Ground > & | groundv, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an Atmosphere with required components and all optional components except for surface temperature.
Definition at line 100 of file atmosphere_oco.cc.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< Aerosol > & | aerosolv, | ||
const boost::shared_ptr< RelativeHumidity > & | rhv, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an Atmosphere with required components and all optional components except for ground and surface temperature.
Definition at line 124 of file atmosphere_oco.cc.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< RelativeHumidity > & | rhv, | ||
const boost::shared_ptr< Ground > & | groundv, | ||
const boost::shared_ptr< SurfaceTemperature > & | surface_tempv, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an Atmosphere with required components and all optional
Definition at line 147 of file atmosphere_oco.cc.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< RelativeHumidity > & | rhv, | ||
const boost::shared_ptr< Ground > & | groundv, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an Atmosphere with required components and all optional
Definition at line 171 of file atmosphere_oco.cc.
AtmosphereOco::AtmosphereOco | ( | const boost::shared_ptr< Absorber > & | absorberv, |
const boost::shared_ptr< Pressure > & | pressurev, | ||
const boost::shared_ptr< Temperature > & | temperaturev, | ||
const boost::shared_ptr< RelativeHumidity > & | Rh, | ||
const std::vector< boost::shared_ptr< Altitude > > & | altv, | ||
const boost::shared_ptr< Constant > & | C | ||
) |
Create an Atmosphere with required components and all optional components except for ground, aerosol and surface temperature.
Definition at line 194 of file atmosphere_oco.cc.
|
inlinevirtual |
Definition at line 97 of file atmosphere_oco.h.
|
inline |
Definition at line 202 of file atmosphere_oco.h.
|
inlinevirtualinherited |
Add an observer.
Implements FullPhysics::Observable< RtAtmosphere >.
Definition at line 56 of file rt_atmosphere.h.
|
inlineinherited |
Add an observer and keep a reference to it.
See the discussion in the Observer class description for details.
Definition at line 107 of file observer.h.
|
inlineprotectedinherited |
Add an observer.
Definition at line 148 of file observer.h.
|
inlineprotectedinherited |
Definition at line 159 of file observer.h.
|
inline |
Definition at line 205 of file atmosphere_oco.h.
|
virtual |
Altitude grid for current pressure grid.
Implements FullPhysics::RtAtmosphere.
Definition at line 530 of file atmosphere_oco.cc.
|
inline |
Definition at line 211 of file atmosphere_oco.h.
|
inline |
Definition at line 213 of file atmosphere_oco.h.
|
virtual |
The atmospheric thermal blackbody values per level.
Implements FullPhysics::RtAtmosphere.
Definition at line 545 of file atmosphere_oco.cc.
void AtmosphereOco::attach_children_to_sv | ( | StateVector & | statev | ) |
For unit test purposes, it is useful to be able to clone or create a new atmosphere class then attach all its nested children to the state vector in the historic order and in the manner done by the Lua configuration.
Definition at line 675 of file atmosphere_oco.cc.
|
inlineprotectedinherited |
Remove any dead pointers.
Definition at line 196 of file observer.h.
boost::shared_ptr< AtmosphereOco > AtmosphereOco::clone | ( | ) | const |
This clones a Atmosphere object.
This is a deep copy, all of the objects that are part of this are cloned also (e.g., Pressure, Temperature).
This cloned copy will not be attached to any StateVector, nor will any Observer<Atmosphere> objects be attached (although the original object is unchanged). You can attach the clone to any objects you wish to.
This property is particularly useful to "freeze" the state. For example, if the StateVector was set the apriori state and the Atmosphere attached to the StateVector is cloned, then the cloned version will continue to be the "Apriori atmosphere", even if the StateVector is subsequently changed thus updating the original object.
Definition at line 594 of file atmosphere_oco.cc.
|
inlinevirtual |
Total column optical depth for the given gas.
This is 0 if the band isn't one that sees that gas.
Implements FullPhysics::RtAtmosphere.
Definition at line 107 of file atmosphere_oco.h.
|
inlinevirtual |
Definition at line 119 of file atmosphere_oco.h.
|
inline |
Definition at line 209 of file atmosphere_oco.h.
|
inlinevirtual |
Object that represents the ground surface.
If null then there is no surface for this atmosphere.
Implements FullPhysics::RtAtmosphere.
Definition at line 182 of file atmosphere_oco.h.
|
inlinevirtual |
This gives the values of the intermediate variables and the Jacobian with respect to the state vector.
This is number_layer() x number variables
Implements FullPhysics::RtAtmosphere.
Definition at line 176 of file atmosphere_oco.h.
|
inlinevirtualinherited |
Mark elements that we are actively using (i.e., that aren't ignored).
You only need to mark the ones that are used as true, everything is already initialized as false. Default is to do nothing.
Reimplemented in FullPhysics::SubStateVectorObserver.
Definition at line 26 of file state_vector_observer.h.
|
inlinevirtualinherited |
Called when an object is added to an Observable.
Default is to do nothing.
Definition at line 47 of file observer.h.
|
inlinevirtualinherited |
Called when an object is added to an Observable.
Default is to do nothing.
Definition at line 47 of file observer.h.
|
inlinevirtualinherited |
Definition at line 48 of file observer.h.
|
inlinevirtualinherited |
Definition at line 48 of file observer.h.
|
inlinevirtualinherited |
Definition at line 48 of file observer.h.
|
inlinevirtual |
Called when an object is added to an Observable.
Default is to do nothing.
Reimplemented from FullPhysics::Observer< StateVector >.
Definition at line 186 of file atmosphere_oco.h.
|
inlinevirtualinherited |
Called when an object is removed from an Observable.
Default is to do nothing.
Definition at line 55 of file observer.h.
|
inlinevirtualinherited |
Called when an object is removed from an Observable.
Default is to do nothing.
Definition at line 55 of file observer.h.
|
inlinevirtualinherited |
Definition at line 56 of file observer.h.
|
inlinevirtualinherited |
Definition at line 56 of file observer.h.
|
inlinevirtualinherited |
Definition at line 56 of file observer.h.
|
inlinevirtual |
Called when an object is removed from an Observable.
Default is to do nothing.
Reimplemented from FullPhysics::Observer< StateVector >.
Definition at line 188 of file atmosphere_oco.h.
|
inlinevirtual |
Called when the Observed object is updated.
Reimplemented from FullPhysics::Observer< StateVector >.
Definition at line 190 of file atmosphere_oco.h.
|
virtual |
For performance, we cache some data as we calculate it.
This becomes stale when the aerosol is changed, so we observe aerosol and mark the cache when it changes.
Reimplemented from FullPhysics::Observer< Aerosol >.
Definition at line 333 of file atmosphere_oco.cc.
|
inlinevirtual |
Called when the Observed object is updated.
Reimplemented from FullPhysics::Observer< Pressure >.
Definition at line 195 of file atmosphere_oco.h.
|
inlineprotectedinherited |
Function to call to notify Observers of a state change.
The object should pass itself to this function, so it can be passed to the Observers.
Definition at line 121 of file observer.h.
|
inlinevirtual |
Number of layers we currently have.
Implements FullPhysics::RtAtmosphere.
Definition at line 100 of file atmosphere_oco.h.
|
inlinevirtual |
Number of spectrometers we have.
Implements FullPhysics::RtAtmosphere.
Definition at line 99 of file atmosphere_oco.h.
|
inlinevirtual |
The optical depth for each layer, for the given wave number.
The derivatives of the optical depth are with respect to the intermediate variables, rather than the state vector variables (see description of RtAtmosphere class for discussion of this).
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
Implements FullPhysics::RtAtmosphere.
Definition at line 124 of file atmosphere_oco.h.
|
inlinevirtual |
This is a variation of optical_depth that takes the supplied value for the intermediate variables rather than calculating it own value.
This is used by the LSI to get "average optical properties".
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
iv | Intermediate variable values to use. |
Implements FullPhysics::RtAtmosphere.
Definition at line 142 of file atmosphere_oco.h.
|
inherited |
The optical depth for each layer, for the given wave number.
This variation gives the derivatives with respect to the state vector, this just combines optical_depth with the Jacobian of the intermediate variables given by intermediate_variable.
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
Definition at line 43 of file rt_atmosphere.cc.
|
inline |
Definition at line 201 of file atmosphere_oco.h.
|
virtual |
Reimplemented from FullPhysics::StateVectorObserver.
Definition at line 620 of file atmosphere_oco.cc.
|
inlineinherited |
Print to string.
This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.
Definition at line 31 of file printable.h.
|
inline |
Indicate we have rayleigh only atmosphere, i.e., we don't have any aerosol content.
Definition at line 222 of file atmosphere_oco.h.
|
inline |
Definition at line 210 of file atmosphere_oco.h.
|
inline |
Definition at line 207 of file atmosphere_oco.h.
|
inlinevirtualinherited |
Remove an observer.
Implements FullPhysics::Observable< RtAtmosphere >.
Definition at line 58 of file rt_atmosphere.h.
|
inlineprotectedinherited |
Remove an observer.
Definition at line 173 of file observer.h.
|
inlineprotectedinherited |
Definition at line 181 of file observer.h.
|
virtual |
Reset timer.
Reimplemented from FullPhysics::RtAtmosphere.
Definition at line 311 of file atmosphere_oco.cc.
|
inlinevirtual |
The scattering moments for for each layer, for the given wave number.
The scattering moments use the de Rooij convention for the 6 scattering matrix element.
The derivatives of the optical depth are with respect to the intermediate variables, rather than the state vector variables (see description of RtAtmosphere class for discussion of this).
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
nummom | Number of moments to include in scatt_mom_each_layer, the default it to include all of them. |
numscat | Number of scattering matrix elements to include in scatt_mom_each_layer, the default it to include all of them. |
Implements FullPhysics::RtAtmosphere.
Definition at line 136 of file atmosphere_oco.h.
|
inlinevirtual |
This is a variation of scattering_moment that takes the supplied value for the intermediate variables rather than calculating it own value.
This is used by the LSI to get "average optical properties".
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
iv | Intermediate variable values to use. |
nummom | Number of moments to include in scatt_mom_each_layer, the default it to include all of them. |
numscat | Number of scattering matrix elements to include in scatt_mom_each_layer, the default it to include all of them. |
Implements FullPhysics::RtAtmosphere.
Definition at line 158 of file atmosphere_oco.h.
|
inherited |
The scattering moments for for each layer, for the given wave number.
The scattering moments use the de Rooij convention for the 6 scattering matrix element.
This variation gives the derivatives with respect to the state vector, this just combines single_scattering_albedo with the Jacobian of the intermediate variables given by intermediate_variable.
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
nummom | Number of moments to include in scatt_mom_each_layer, the default it to include all of them. |
numscat | Number of scattering matrix elements to include in scatt_mom_each_layer, the default it to include all of them. |
Definition at line 114 of file rt_atmosphere.cc.
void AtmosphereOco::set_aerosol | ( | boost::shared_ptr< Aerosol > & | new_aerosol, |
StateVector & | Sv | ||
) |
Changes the aerosol class used.
Notifies the relevant obsevers and invalidates the cache
Definition at line 233 of file atmosphere_oco.cc.
void AtmosphereOco::set_surface_pressure_for_testing | ( | double | x | ) |
For unit test purposes, it is useful to be able to directly change the surface pressure.
This is intended just for testing purposes. This only works if the Pressure is a PressureFixedLevel, otherwise it will fail.
Definition at line 662 of file atmosphere_oco.cc.
|
inlinevirtual |
The single scattering albedo for each layer, for the given wave number.
The derivatives of the optical depth are with respect to the intermediate variables, rather than the state vector variables (see description of RtAtmosphere class for discussion of this).
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
Implements FullPhysics::RtAtmosphere.
Definition at line 130 of file atmosphere_oco.h.
|
inlinevirtual |
This is a variation of single_scattering_albedo that takes the supplied value for the intermediate variables rather than calculating it own value.
This is used by the LSI to get "average optical properties".
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
iv | Intermediate variable values to use. |
Implements FullPhysics::RtAtmosphere.
Definition at line 150 of file atmosphere_oco.h.
|
inherited |
The single scattering albedo for each layer, for the given wave number.
This variation gives the derivatives with respect to the state vector, this just combines single_scattering_albedo with the Jacobian of the intermediate variables given by intermediate_variable.
wn | The wave number to calculate parameters for. |
spec_index | The spectrometer index |
Definition at line 73 of file rt_atmosphere.cc.
|
inlinevirtualinherited |
Update any portion of the list of the state vector names that apply to this object.
Default is to do nothing.
Reimplemented in FullPhysics::SubStateVectorObserver.
Definition at line 34 of file state_vector_observer.h.
|
virtual |
The surface thermal blackbody.
Implements FullPhysics::RtAtmosphere.
Definition at line 563 of file atmosphere_oco.cc.
|
inline |
Definition at line 203 of file atmosphere_oco.h.
|
virtual |
Return timer information.
Reimplemented from FullPhysics::RtAtmosphere.
Definition at line 318 of file atmosphere_oco.cc.
|
protectedinherited |
Definition at line 200 of file observer.h.
|
protectedinherited |
Definition at line 201 of file observer.h.
|
staticinherited |
Timer for RtAtmosphere.
Definition at line 55 of file rt_atmosphere.h.