Possible Bug: Dynare 4.3.1 and Wieland's macromodel database


I was wondering if anybody ran into the similar problem. On my computer, Wieland’s MMB runs fine under Matlab 7.10.0 & Dynare 4.2.5 (Windows 32-bit).
However, it does not with Dynare 4.3.1, complaining that

Below is the complete error statement I receive.

[quote]Starting Dynare (version 4.3.1).
Starting preprocessing of the model file …
Substitution of endo leads >= 2: added 12 auxiliary variables and equations.
Substitution of endo lags >= 2: added 22 auxiliary variables and equations.
Found 267 equation(s).
Evaluating expressions…done
Computing static model derivatives:

  • order 1
    Computing dynamic model derivatives:
  • order 1
  • order 2
    Processing outputs …done
    Preprocessing completed.
    Starting MATLAB/Octave computing.

Total computing time : 0h00m00s
??? Input argument “oo” is undefined.

Error in ==> resol at 96
if isfield(oo,‘dr’);

Error in ==> stoch_simul_MMB at 50
[oo_.dr, info] = resol(oo_.steady_state,0); % solve

Error in ==> MMB at 544
modelbase=stoch_simul_MMB(modelbase); %
solve model

This is not a bug in Dynare but rather in stoch_simul_MMB.m. You can see from the error message you posted that it calls resol.m with:

whereas, the arguments to resol changed on 7 Sept 2011 (a while after the 4.2.0 release, so it would only be included in 4.3.X). The new arguments to resol are:

Hence, to solve this problem, you should be able to replace the line in stoch_simul_MMB.m with

Finally, as posted here macromodelbase.com/download, the macro database only works with Dynare 4.2 so you may encounter other problems even after fixing this…

Thanks for getting back to me. It is good to know where the origins of the problem.
As a side note, your suggestion did solve the problem with stoch_simul_MMB.m, but indeed there are other incompatible pieces of code left elsewhere.