Index: /issm/trunk/src/c/include/macros.h
===================================================================
--- /issm/trunk/src/c/include/macros.h	(revision 3770)
+++ /issm/trunk/src/c/include/macros.h	(revision 3771)
@@ -5,4 +5,10 @@
 #ifndef _MACROS_H_
 #define _MACROS_H_
+
+#ifdef HAVE_CONFIG_H
+	#include "config.h"
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
 
 /*Printing macro: */
@@ -24,6 +30,8 @@
 #else
 #define ISSMASSERT(ignore)\
-  ((void) 0)
+  printf("ISSM_DEBUG undefined\n");
 #endif
+#define ISSMASSERT2(statement)\
+  if (!(statement)) ISSMERROR("ASSERT2 STOP"); else printf("NO STOP\n")
 
 /*The following macros hide the error exception handling in a matlab module. Just put 
Index: /issm/trunk/src/c/parallel/diagnostic_core.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic_core.cpp	(revision 3770)
+++ /issm/trunk/src/c/parallel/diagnostic_core.cpp	(revision 3771)
@@ -9,4 +9,5 @@
 #include "./parallel.h"
 #include "../modules.h"
+#include "../include/macros.h"
 
 void diagnostic_core(DataSet* results,Model* model){
@@ -78,8 +79,8 @@
 	/*recover fem models: */
 	fem_dh=model->GetFormulation(DiagnosticAnalysisEnum,HorizAnalysisEnum);
-	fem_dv=model->GetFormulation(DiagnosticAnalysisEnum,VertAnalysisEnum);
-	fem_ds=model->GetFormulation(DiagnosticAnalysisEnum,StokesAnalysisEnum);
-	fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum,HutterAnalysisEnum);
-	fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum);
+	fem_dv=model->GetFormulation(DiagnosticAnalysisEnum,VertAnalysisEnum);    ISSMASSERT(fem_dv);  
+	fem_ds=model->GetFormulation(DiagnosticAnalysisEnum,StokesAnalysisEnum);  ISSMASSERT(fem_ds);
+	fem_dhu=model->GetFormulation(DiagnosticAnalysisEnum,HutterAnalysisEnum); ISSMASSERT(fem_dhu);
+	fem_sl=model->GetFormulation(SlopecomputeAnalysisEnum);                   ISSMASSERT(fem_sl); 
 
 	//specific parameters for specific models
