From 048e059b683b47524c4c16fc48e7013f9b8fb4a4 Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Thu, 21 Oct 2021 11:42:43 +0200
Subject: [PATCH] evaluate_planner_objective.m: add warning if NaN are
 encountered

---
 matlab/evaluate_planner_objective.m | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/matlab/evaluate_planner_objective.m b/matlab/evaluate_planner_objective.m
index cef2ebfc30..6f4fb89599 100644
--- a/matlab/evaluate_planner_objective.m
+++ b/matlab/evaluate_planner_objective.m
@@ -168,6 +168,13 @@ if options_.ramsey_policy
                 options_.noprint = 0;
             end
             
+            if any(isnan(oo_.mean)) || any(isnan(oo_.mean))
+                fprintf('evaluate_planner_objective: encountered NaN moments in the endogenous variables often associated\n')
+                fprintf('evaluate_planner_objective: with either non-stationary variables or singularity due e.g. including\n')
+                fprintf('evaluate_planner_objective: the planner objective function (or additive parts of it) in the model.\n')
+                fprintf('evaluate_planner_objective: I will replace the NaN with a large number, but tread carefully,\n')
+                fprintf('evaluate_planner_objective: check your model, and watch out for strange results.\n')
+            end
             oo_.mean(isnan(oo_.mean)) = options_.huge_number;
             oo_.var(isnan(oo_.var)) = options_.huge_number;
             
-- 
GitLab