15 blitz::Array<double, 1> pressure_levels(Pres->pressure_grid().convert(
units::Pa).value.value());
16 blitz::Array<double, 1> altitude(pressure_levels.shape());
17 for(
int lev_idx = 0; lev_idx < altitude.rows(); lev_idx++) {
29 boost::function<blitz::Array<double, 1> ()> f = boost::bind(&
altitude_levels, afreeze, pfreeze);
30 out->register_data_source(
"/RetrievalResults/vector_altitude_levels_apriori", f);
35 boost::function<blitz::Array<double, 1>()> f = boost::bind(&
altitude_levels, alt, pres);
36 out->register_data_source(
"/RetrievalResults/vector_altitude_levels", f);
This is a AutoDerivative that also has units associated with it.
blitz::Array< double, 1 > altitude_levels(boost::shared_ptr< Altitude > &Alt, boost::shared_ptr< Pressure > &Pres)
const Unit Pa("Pa", N/(m *m))
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Apply value function to a blitz array.
virtual void register_output(const boost::shared_ptr< Output > &out) const
Register portions of class that will be written to output.
const Unit m("m", 1.0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
This registers the portions of the Altitude class that should be written as output.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
#define REGISTER_LUA_END()
virtual void register_output_apriori(const boost::shared_ptr< Output > &out) const
Register apriori portions of class.