ReFRACtor
|
Creates a VMR profile for a gas using a set of dated reference VMRs with a known latitude. More...
#include <reference_vmr_apriori.h>
Public Member Functions | |
ReferenceVmrApriori (const blitz::Array< double, 1 > &Model_pressure, const blitz::Array< double, 1 > &Model_altitude, const blitz::Array< double, 1 > &Model_temperature, const blitz::Array< double, 1 > &Ref_altitude, const double Ref_latitude, const Time &Ref_time, const double Ref_tropopause_altitude, const double Obs_latitude, const Time &Obs_time) | |
const double | age_of_air (const double altitude) const |
Computes the Age of Air at particular location (Altitude, Latitude) relative to the surface at 50N, where Age=0. More... | |
const blitz::Array< double, 1 > | apply_latitude_gradient (const blitz::Array< double, 1 > &vmr, const std::string &gas_name) const |
Modifies the vmr profiles to account for the difference in latitude between the observation latitude and the reference latitude. More... | |
const blitz::Array< double, 1 > | apply_seasonal_cycle (const blitz::Array< double, 1 > &vmr, const std::string &gas_name) const |
Modifies the a priori vmr profile to account for the season of the observation/model. More... | |
const blitz::Array< double, 1 > | apply_secular_trend (const blitz::Array< double, 1 > &vmr, const std::string &gas_name) const |
Modifies the a priori profiles on a gas-by-gas basis to account for the difference in time between the observation/model and the reference vmrs. More... | |
const blitz::Array< double, 1 > | apriori_vmr (const blitz::Array< double, 1 > &vmr, const std::string &gas_name) const |
Creates the a priori VMR using the various transformation methods of the class. More... | |
const blitz::Array< double, 1 > | effective_altitude () const |
Computes an altitude grid for resampling that takes into account a difference in the tropopause altitude for the target from the model. More... | |
DoubleWithUnit | model_tropopause_altitude () const |
Calculate the tropopause altitude for the model data used to initalize the class. More... | |
void | print (std::ostream &Os) const |
std::string | print_to_string () const |
Print to string. More... | |
const blitz::Array< double, 1 > | resample_to_model_grid (const blitz::Array< double, 1 > &vmr) const |
Resamples a VMR to the effective model altitude grid that accounts for the difference in tropopause altitudes. More... | |
Creates a VMR profile for a gas using a set of dated reference VMRs with a known latitude.
These VMRs are then modified as so:
This class is based on the TCCON 2014 release of gsetup. As per those techniques, values are interpolated based on altitudes.
NOTE: Inputs are expected to be in increasing altitude decreasing pressure order.
Make sure gas names are capatilized.
Definition at line 27 of file reference_vmr_apriori.h.
ReferenceVmrApriori::ReferenceVmrApriori | ( | const blitz::Array< double, 1 > & | Model_pressure, |
const blitz::Array< double, 1 > & | Model_altitude, | ||
const blitz::Array< double, 1 > & | Model_temperature, | ||
const blitz::Array< double, 1 > & | Ref_altitude, | ||
const double | Ref_latitude, | ||
const Time & | Ref_time, | ||
const double | Ref_tropopause_altitude, | ||
const double | Obs_latitude, | ||
const Time & | Obs_time | ||
) |
Definition at line 78 of file reference_vmr_apriori.cc.
const double ReferenceVmrApriori::age_of_air | ( | const double | altitude | ) | const |
Computes the Age of Air at particular location (Altitude, Latitude) relative to the surface at 50N, where Age=0.
Definition at line 206 of file reference_vmr_apriori.cc.
const blitz::Array< double, 1 > ReferenceVmrApriori::apply_latitude_gradient | ( | const blitz::Array< double, 1 > & | vmr, |
const std::string & | gas_name | ||
) | const |
Modifies the vmr profiles to account for the difference in latitude between the observation latitude and the reference latitude.
In the middle stratosphere, gas distributions are assumed symmetrical about equator. At the surface, gas distributions are assumed anti-symmetric about equator. At intermediate altitudes the profiles are interpolated between these limiting behaviors.
Definition at line 251 of file reference_vmr_apriori.cc.
const blitz::Array< double, 1 > ReferenceVmrApriori::apply_seasonal_cycle | ( | const blitz::Array< double, 1 > & | vmr, |
const std::string & | gas_name | ||
) | const |
Modifies the a priori vmr profile to account for the season of the observation/model.
Definition at line 309 of file reference_vmr_apriori.cc.
const blitz::Array< double, 1 > ReferenceVmrApriori::apply_secular_trend | ( | const blitz::Array< double, 1 > & | vmr, |
const std::string & | gas_name | ||
) | const |
Modifies the a priori profiles on a gas-by-gas basis to account for the difference in time between the observation/model and the reference vmrs.
Definition at line 279 of file reference_vmr_apriori.cc.
const blitz::Array< double, 1 > ReferenceVmrApriori::apriori_vmr | ( | const blitz::Array< double, 1 > & | vmr, |
const std::string & | gas_name | ||
) | const |
Creates the a priori VMR using the various transformation methods of the class.
Definition at line 353 of file reference_vmr_apriori.cc.
const blitz::Array< double, 1 > ReferenceVmrApriori::effective_altitude | ( | ) | const |
Computes an altitude grid for resampling that takes into account a difference in the tropopause altitude for the target from the model.
Definition at line 173 of file reference_vmr_apriori.cc.
DoubleWithUnit ReferenceVmrApriori::model_tropopause_altitude | ( | ) | const |
Calculate the tropopause altitude for the model data used to initalize the class.
Which is the first instance where the lapse rate exceeds -2K/km
Definition at line 100 of file reference_vmr_apriori.cc.
|
inline |
Definition at line 51 of file reference_vmr_apriori.h.
|
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.
const blitz::Array< double, 1 > ReferenceVmrApriori::resample_to_model_grid | ( | const blitz::Array< double, 1 > & | vmr | ) | const |
Resamples a VMR to the effective model altitude grid that accounts for the difference in tropopause altitudes.
Definition at line 223 of file reference_vmr_apriori.cc.