108 SnowlineAlgorithm(
const std::vector< std::pair<std::string, std::string> >& vecArgs,
121 bool operator< (
const aspect &other)
const {
return this->deg_beg < other.deg_beg; }
122 bool operator<= (
const aspect &other)
const {
return this->deg_beg <= other.deg_beg; }
130 void initExpressionVars(
const std::vector< std::pair<std::string, double> >& substitutions, te_variable* vars)
const;
131 te_expr* compileExpression(
const std::string& expression,
const te_variable* te_vars,
const size_t& sz)
const;
132 std::vector<aspect> readSnowlineFile();
135 double calculateRate(
const double& snowline);
136 std::vector< std::pair<std::string, std::string> > prepareBaseArgs(
const double& snowline,
const std::string& base_alg_fallback);
137 void msg(
const std::string& message);
139 template <
class T>
static bool isSorted(std::vector<T> vec,
const bool& strict =
false)
143 for (
typename std::vector<T>::iterator it = vec.begin() + 1; it != vec.end(); ++it) {
145 if (*it <= *(it - 1))
157 std::string base_alg_;
158 std::vector< std::pair<std::string, std::string> > input_args_;
162 std::vector<aspect> snowlines_;
163 std::string snowlines_file_;
164 bool enforce_positive_rate_;
165 bool calc_base_rate_;
166 double fallback_rate_;
169 unsigned int band_no_;
170 std::string formula_;
171 bool has_warned_deduced_trend_;
172 bool has_warned_fixed_trend_;