Index: /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 15167)
+++ /issm/trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp	(revision 15168)
@@ -19,5 +19,5 @@
 	bool   debug;
 	int    xflip,yflip;
-	double area,ymin;
+	double area;
 	double area_1,area_2,area_3;
 	double x_tria_min,y_tria_min;
@@ -51,4 +51,10 @@
 	debug=(bool)((double)ncols*nlines*nels >= 5*pow(10.,10.));
 
+	/*Initialize coordintes and griddata*/
+	for(i=0;i<nlines;i++){
+		for(j=0;j<ncols; j++){
+			griddata[i*ncols+j]=default_value;
+		}
+	}
 	/*figure out if x or y are flipped*/
 	if (xposting<0) xflip=1;
@@ -57,28 +63,26 @@
 	else yflip=0;
 
-	/*Compute coordinates lists*/
-	ymin=ymax-(nlines-1)*yposting;
-	for(i=0;i<nlines;i++)   y_grid[i]= ymin + fabs(yposting)*i;
-	for(i=0;i<ncols; i++)   x_grid[i]= xmin + fabs(xposting)*i;
 
-	/*Initialize coordintes and griddata*/
-	for(i=0;i<nlines;i++){
-		for(j=0;j<ncols; j++){
-			griddata[i*ncols+j]=default_value;
-		}
-	}
 
 	/*Get extreme coordinates of the grid*/
 	if (xflip){
-		x_grid_min=x_grid[ncols-1]; x_grid_max=x_grid[0];
+		for(i=0;i<ncols; i++) x_grid[ncols-1-i] = xmin - xposting*i;
+		x_grid_min=x_grid[ncols-1];
+		x_grid_max=x_grid[0];
 	}
 	else{
-		x_grid_min=x_grid[0]; x_grid_max=x_grid[ncols-1];
+		for(i=0;i<ncols; i++) x_grid[i]= xmin + xposting*i;
+		x_grid_min=x_grid[0];
+		x_grid_max=x_grid[ncols-1];
 	}
 	if (yflip){
-		y_grid_min=y_grid[nlines-1]; y_grid_max=y_grid[0];
+		for(i=0;i<nlines;i++) y_grid[i] = ymax + yposting*i;
+		y_grid_min=y_grid[nlines-1];
+		y_grid_max=y_grid[0];
 	}
 	else{
-		y_grid_min=y_grid[0]; y_grid_max=y_grid[nlines-1];
+		for(i=0;i<nlines;i++) y_grid[nlines-1-i]= ymax - yposting*i;
+		y_grid_min=y_grid[0];
+		y_grid_max=y_grid[nlines-1];
 	}
 
