Index: /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 12249)
+++ /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp	(revision 12250)
@@ -17,8 +17,9 @@
 #include "../../objects/Kriging/GaussianVariogram.h"
 /*FUNCTION Krigingx{{{*/
-int Krigingx(double** ppredictions,double* obs_x, double* obs_y, double* obs_list, int obs_length,double* x_interp,double* y_interp,int n_interp,Options* options){
+int Krigingx(double** ppredictions,double **perror,double* obs_x, double* obs_y, double* obs_list, int obs_length,double* x_interp,double* y_interp,int n_interp,Options* options){
 
 	/*output*/
 	double *predictions = NULL;
+	double *error       = NULL;
 
 	/*Intermediaries*/
@@ -43,6 +44,6 @@
 
 	/*Allocate output*/
-	predictions =(double*)xmalloc(n_interp*sizeof(double));
-	for(int i=0;i<n_interp;i++) predictions[i]=0;
+	predictions =(double*)xcalloc(n_interp,sizeof(double));
+	error       =(double*)xcalloc(n_interp,sizeof(double));
 
 	/*Get output*/
@@ -65,4 +66,5 @@
 		gate.observations = observations;
 		gate.predictions  = predictions;
+		gate.error        = error;
 		gate.percent      = (double*)xcalloc(num,sizeof(double));
 
@@ -80,5 +82,6 @@
 	delete observations;
 	xfree((void**)&output);
-	*ppredictions=predictions;
+	*ppredictions = predictions;
+	*perror       = error;
 	return 1;
 }/*}}}*/
@@ -107,4 +110,5 @@
 	Observations *observations = gate->observations;
 	double       *predictions  = gate->predictions;
+	double       *error        = gate->error;
 	double       *percent      = gate->percent;
 
@@ -163,6 +167,8 @@
 		ratio=numerator/denominator;
 
-		predictions[idx]=0;
+		predictions[idx] = 0.;
+		error[idx]       = - numerator*numerator/denominator;
 		for(i=0;i<n_obs;i++) predictions[idx] += (gamma0[i]-ratio)*GinvZ[i];
+		for(i=0;i<n_obs;i++) error[idx] += gamma0[i]*GinvG0[i];
 
 		/*clean-up*/
Index: /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.h	(revision 12249)
+++ /issm/trunk-jpl/src/c/modules/Krigingx/Krigingx.h	(revision 12250)
@@ -12,5 +12,5 @@
 class Variogram;
 
-int  Krigingx(double** ppredictions,double* x, double* y, double* observations, int n_obs,double* x_interp,double* y_interp,int n_interp,Options* options);
+int  Krigingx(double** ppredictions,double **perror,double* x, double* y, double* observations, int n_obs,double* x_interp,double* y_interp,int n_interp,Options* options);
 void ProcessVariogram(Variogram **pvariogram,Options* options);
 void GslSolve(double** pX,double* A,double* B,int n);
@@ -25,4 +25,5 @@
 	Observations *observations;
 	double       *predictions;
+	double       *error;
 	double       *percent;
 }KrigingxThreadStruct;
