From f890a086f0d706c1063ed061b0f3694a2bb40efe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Fri, 24 Mar 2023 12:29:42 +0100
Subject: [PATCH] ramsey_policy and estimation: remove incorrect check about
 number of instruments

These should only be warnings, and they are already implemented in
model_diagnostics (see 39ae080997618787ec229adeeb1a6d7364136bf6).
---
 matlab/initial_estimation_checks.m | 18 ++----------------
 matlab/ramsey_policy.m             | 18 +-----------------
 2 files changed, 3 insertions(+), 33 deletions(-)

diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m
index 325ca12b05..e899e97444 100644
--- a/matlab/initial_estimation_checks.m
+++ b/matlab/initial_estimation_checks.m
@@ -20,7 +20,7 @@ function DynareResults = initial_estimation_checks(objective_function,xparam1,Dy
 % SPECIAL REQUIREMENTS
 %    none
 
-% Copyright © 2003-2022 Dynare Team
+% Copyright © 2003-2023 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -228,20 +228,6 @@ if isfield(Model,'filter_initial_state') && ~isempty(Model.filter_initial_state)
     end
 end
 
-if DynareOptions.ramsey_policy
-    %test whether specification matches
-    inst_nbr = size(DynareOptions.instruments,1);
-    if inst_nbr~=0
-        orig_endo_aux_nbr = Model.orig_endo_nbr + min(find([Model.aux_vars.type] == 6)) - 1;
-        implied_inst_nbr = orig_endo_aux_nbr - Model.orig_eq_nbr;
-        if inst_nbr>implied_inst_nbr
-            error('You have specified more instruments than there are omitted equations')
-        elseif inst_nbr<implied_inst_nbr
-            error('You have specified fewer instruments than there are omitted equations')
-        end
-    end
-end
-
 if ~isreal(DynareDataset.data)
     error('initial_estimation_checks: the data contains complex values.')
 end
@@ -329,4 +315,4 @@ end
 function evaluate_expression(expression,M_,oo_)
 % function evaluate_expression(expression,M_,oo_)
 %evaluates expressions relying on M_ and oo_ having their original names
-eval(expression);
\ No newline at end of file
+eval(expression);
diff --git a/matlab/ramsey_policy.m b/matlab/ramsey_policy.m
index a12e954c74..3c4b901104 100644
--- a/matlab/ramsey_policy.m
+++ b/matlab/ramsey_policy.m
@@ -1,6 +1,6 @@
 function info = ramsey_policy(var_list)
 
-% Copyright © 2007-2021 Dynare Team
+% Copyright © 2007-2023 Dynare Team
 %
 % This file is part of Dynare.
 %
@@ -22,22 +22,6 @@ global options_ oo_ M_
 options_.ramsey_policy = 1;
 oldoptions = options_;
 
-%test whether specification matches
-inst_nbr = size(options_.instruments,1);
-if inst_nbr~=0
-    orig_endo_aux_nbr = M_.orig_endo_nbr + min(find([M_.aux_vars.type] == 6)) - 1;
-    implied_inst_nbr = orig_endo_aux_nbr - M_.orig_eq_nbr;
-    if inst_nbr>implied_inst_nbr
-        error('You have specified more instruments than there are omitted equations')
-    elseif inst_nbr<implied_inst_nbr
-        error('You have specified fewer instruments than there are omitted equations')
-    end
-else
-    if options_.steadystate_flag
-        error('You have specified a steady state file, but not provided an instrument. Either delete the steady state file or provide an instrument')
-    end
-end
-
 [info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list);
 
 oo_.steady_state = oo_.dr.ys;
-- 
GitLab