Skip to content

Commit

Permalink
automatically set first order for linear models (and likewise with au…
Browse files Browse the repository at this point in the history
…tomatically setting second order when possible)
  • Loading branch information
tholden committed Sep 17, 2018
1 parent df2b4bf commit b8c1b06
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions Core/ModelSolution/ModelSolution.m
Expand Up @@ -26,6 +26,25 @@
return
end
end

if options.order > 1
if ( ~isfield( oo.dr, 'ghs2' ) ) || ( ~isfield( oo.dr, 'ghxx' ) ) || ( ~isfield( oo.dr, 'ghxu' ) ) || ( ~isfield( oo.dr, 'ghuu' ) )
options.order = 1;
dynareOBC.Order = 1;
dynareOBC.FirstOrderAroundRSS1OrMean2 = 0;
fprintf( '\n' );
disp( 'Falling back on a first order approximation as your model appears to be linear apart from any constraints.' );
fprintf( '\n' );
elseif options.order > 2
if ( ~isfield( oo.dr, 'ghxxx' ) ) || ( ~isfield( oo.dr, 'ghxxu' ) ) || ( ~isfield( oo.dr, 'ghxuu' ) ) || ( ~isfield( oo.dr, 'ghuuu' ) )
options.order = 2;
dynareOBC.Order = 2;
fprintf( '\n' );
disp( 'Falling back on a second order approximation as dynare did not generate a complete third order approximation for your model.' );
fprintf( '\n' );
end
end
end

if dynareOBC.FirstOrderAroundRSS1OrMean2 > 0
if dynareOBC.Sparse
Expand Down

0 comments on commit b8c1b06

Please sign in to comment.