Version 6 will bring many improvements but also a few potentially breaking changes. We most strongly encourage you to modify your own code to comply with the new version in advance of its release. Relying on an older version of Dynare to run your own code may seem like a gain of time in the short term but will lead to more problems later. Note also that possible bugs found later in version 5 won't be fixed in that version. We expect users to run version 6 after its release.
Changes related to the storage of results
Information stored in oo_.endo_simul, oo_.exo_simul, oo_.irfs
and M_.params
will not be duplicated in the base workspace anymore.
- IRFs stored by
stoch_simul
inoo_.irfs
are not stored as vectors of the same in the base workspace. Users can use the newsend_irfs_to_workspace
function to send the IRFs to the base workspace after executing the command. - Endogenous and exogenous variable values stored in
oo_.endo_simul
andoo_.exo_simul
are not stored as vectors of the same name as the variables in the base workspace after runningstoch_simul
withperiods>0
orperfect_foresight_solver
. Users can use the newsend_endogenous_variables_to_workspace
andsend_exogenous_variables_to_workspace
functions to send the variable values to the base workspace after the respective commands.
Changes related to global variables
Global variables have been removed from the downstream pipeline of Dynare commands like perfect_foresight
, identification
, and sensitivity
. It is therefore necessary to explicitly pass the former global variables as function in- and outputs.
estimation
Changes related to The default value of mode_compute
is now 5. If you want to restore the old behavior, you have to explicitly set mode_compute=4
.
sensitivity
Changes related to The dynare_sensitivity
command has been renamed sensitivity
. The old name is still accepted but will trigger a warning.
estimated_params
Changes related to Multiple estimated_params
blocks now concatenate their contents, instead of overwriting previous ones. To restore the old (undocumented) behavior, you need to use the overwrite
option:
estimated_params(overwrite);
end;
Changes related to the macro-processor
A macro-processor variable defined without a value will now be equal to true
(it would previously be equal to 1
).
This affects lines such as:
@#define var
in a .mod
file.
This also affects variable defined on the dynare
command line, such as:
dynare myfile.mod -Dvar
This change should have no impact in most cases, since variable thus defined are typically tested with @#ifdef
/@#ifndef
(in which case their value does not matter).
resid
Changes related to The resid
-command now only accepts the new non_zero
-option. The old syntax
resid(1);
will trigger an error
syntax error, unexpected INT_NUMBER, expecting NON_ZERO
and needs to be replaced by
resid;
mh_jscale
-option of estimation
Changes related to the The default value of mh_jscale
is now 2.38^2/npar
, where npar
denotes the number of estimated parameters, instead of a fixed 0.2
. The new value corresponds to the optimal value for a Gaussian symmetric random walk Metropolis-Hastings (Gelman et al. 1995). Particularly for big models, the new default value should perform better.
At the same time, the mh_init_scale
-option has become deprecated. Use the new mh_init_scale_factor
-option to govern the overdispersion of the starting values for multiple MCMC chains. This option specifies the multiple of mh_jscale
to be used.
model_info
-command
Changes related to the The static
-option has been superseded by the block_static
-option.
Removed commands
- The
periods
command has been removed. Use theperiods
option instead. - The
Sigma_e
command has been removed. Use theshocks
block instead.