diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index fe6bdda85a941a25352afd1450a87469aec9e274..459810deb02f3d557329ff4a8e873536a137c473 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -2879,7 +2879,7 @@ DynamicModel::computeDynJacobianCols() for (const auto &[symb_lag, deriv_id] : deriv_id_table) { int symb_id{symb_lag.first}; - int tsid{symbol_table.getTypeSpecificID(symb_id)}; + int tsid{symbol_table.getTypeSpecificID(symb_id)}; // At this point, there is no trend_var if (SymbolType type{symbol_table.getType(symb_id)}; type == SymbolType::exogenous) dyn_jacobian_cols_table[deriv_id] = ordered_dyn_endo.size() + tsid; diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index 0ca6faff9e151db1d72cc8ef284a0909331c8ef7..83192410a2b9529d68b298a659725c4a35b2c39b 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -272,6 +272,10 @@ ParsingDriver::set_planner_discount_latex_name(string tex_name) void ParsingDriver::end_trend_var(bool log_trend, expr_t growth_factor, const vector<pair<string, string>> &symbol_list) { + /* Run detrending engine if trend variables are present, even if unused in + a var(deflator=…) statement (see #113). */ + mod_file->nonstationary_variables = true; + vector<int> declared_trend_vars; for (auto &[name, tex_name] : symbol_list) {