ReFRACtor
surface_temperature_direct.cc
Go to the documentation of this file.
2 
3 using namespace FullPhysics;
4 
6 {
7  if(surf_temp.rows() != flag.rows()) {
8  Exception error;
9  error << "Number of surface temperature channels: " << surf_temp.rows()
10  << " must match retrieval flag array size: " << flag.rows();
11  throw error;
12  }
13 
14  // Save units seperately so it can not be saved into the state vector coefficients
15  units = surf_temp.units;
16 
17  init(surf_temp.value, flag);
18 }
19 
21 {
22  return AutoDerivativeWithUnit<double>(coeff(channel_index), units);
23 }
24 
26 {
28 }
29 
31 {
32  std::stringstream sv_name;
33  sv_name << "Surface Temperature for channel " << i;
34  return sv_name.str();
35 }
virtual boost::shared_ptr< SurfaceTemperature > clone() const
Clone a SurfaceTemperature object.
This is a AutoDerivative that also has units associated with it.
std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
This is the base of the exception hierarchy for Full Physics code.
Definition: fp_exception.h:16
const blitz::Array< bool, 1 > & used_flag_value() const
blitz::Array< T, D > value
SurfaceTemperatureDirect(const ArrayWithUnit< double, 1 > &surf_temp, blitz::Array< bool, 1 > flag)
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
void init(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag, const boost::shared_ptr< Pressure > &Press=boost::shared_ptr< Pressure >(), bool Mark_according_to_press=true, int Pdep_start=0)
double value(const FullPhysics::AutoDerivative< double > &Ad)
virtual AutoDerivativeWithUnit< double > surface_temperature(int channel_index) const
Return the temperature of the surface.

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