diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 8418e8f23d251a7a0f7017df5610c963836028cc..ea98032b0542efed4f97d637d6140cbfffe2ac09 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -5150,7 +5150,7 @@ DynamicModel::computeDynJacobianCols(bool jacobianExo) int lag = it.first.second; int deriv_id = it.second; SymbolType type = symbol_table.getType(symb_id); - int tsid = symbol_table.getTypeSpecificID(symb_id); + int tsid = symbol_table.getTypeSpecificID(symb_id); // At this point, there is no trend_var switch (type) { diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index 8c15fd66661c6dd4a5ba8702505d013211689a05..0d6139fe9e4e1d9fec70e59b04a1714c1bfe896e 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -249,6 +249,10 @@ ParsingDriver::begin_trend() void ParsingDriver::declare_trend_var(bool log_trend, const string &name, const string &tex_name) { + /* Run detrending engine if trend variables are present, even if unused in + a var(deflator=…) statement (see #113). */ + mod_file->nonstationary_variables = true; + declare_symbol(name, log_trend ? SymbolType::logTrend : SymbolType::trend, tex_name, {}); declared_trend_vars.push_back(mod_file->symbol_table.getID(name)); }