Index: ../trunk-jpl/m4/issm_options.m4
===================================================================
--- ../trunk-jpl/m4/issm_options.m4	(revision 18800)
+++ ../trunk-jpl/m4/issm_options.m4	(revision 18801)
@@ -1080,10 +1080,37 @@
 	dnl m1qn3 headers and libraries
 	if test "x$HAVE_M1QN3" == "xyes"; then
 	  M1QN3LIB="$M1QN3_ROOT/libm1qn3.a $M1QN3_ROOT//libddot.a"
-	  AC_DEFINE([_HAVE_M1QN3_],[1],[with M1QN3I in ISSM src])
+	  AC_DEFINE([_HAVE_M1QN3_],[1],[with M1QN3 in ISSM src])
 	  AC_SUBST([M1QN3LIB])
 	fi
 	dnl }}}
+	dnl proj.4{{{
+	AC_ARG_WITH([proj4-dir],
+		AS_HELP_STRING([--with-proj4-dir=DIR], [proj4 root directory.]),
+		[PROJ4_ROOT=$withval],[PROJ4_ROOT="no"]) 
+
+	dnl Check whether proj4 is enabled
+	AC_MSG_CHECKING([for proj.4])
+	if test "x$PROJ4_ROOT" = "xno" ; then
+		HAVE_PROJ4=no
+	else
+		HAVE_PROJ4=yes
+		if ! test -d "$PROJ4_ROOT"; then
+			AC_MSG_ERROR([proj4 directory provided ($PROJ4_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_PROJ4)
+	
+	dnl proj4 headers and libraries
+	if test "x$HAVE_PROJ4" == "xyes"; then
+	  PROJ4INCL="-I$PROJ4_ROOT/include "
+	  PROJ4LIB="-L$PROJ4_ROOT/lib -lproj"
+	  AC_DEFINE([_HAVE_PROJ4_],[1],[with PROJ4 in ISSM src])
+	  AC_SUBST([PROJ4INCL])
+	  AC_SUBST([PROJ4LIB])
+	fi
+	AM_CONDITIONAL([PROJ4],[test x$HAVE_PROJ4 = xyes])
+	dnl }}}
 	dnl slepc{{{
 	AC_ARG_WITH([slepc-dir],
 	  AS_HELP_STRING([--with-slepc-dir=DIR],[slepc root directory]),
Index: ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.cpp
===================================================================
--- ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.cpp	(revision 0)
+++ ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.cpp	(revision 18801)
@@ -0,0 +1,40 @@
+/*!\file TriMeshx
+ * \brief: x code for TriMesh mesher
+ */
+
+/*Header files*/
+#include "./CoordinateSystemTransformx.h"
+#include "../../shared/shared.h"
+#include "../../toolkits/toolkits.h"
+#include <proj_api.h>
+
+void CoordinateSystemTransformx(IssmDouble** px_dest,IssmDouble** py_dest,IssmDouble* x_src,IssmDouble* y_src,int size,const char* str_src,const char* str_dst){
+
+#if !defined(_HAVE_PROJ4_)
+	_error_("proj.4 has not been installed");
+#else
+
+	/*Allocate output and initialize values as src*/
+	_assert_(size>0);
+	IssmDouble* x_dest = xNew<IssmDouble>(size);
+	IssmDouble* y_dest = xNew<IssmDouble>(size);
+	for(int i=0;i<size;i++){
+		x_dest[i] = x_src[i];
+		y_dest[i] = y_src[i];
+	}
+
+	/*Create proj.4 projection objects for src and dst*/
+	projPJ pj_src  = pj_init_plus(str_src);
+	projPJ pj_dst  = pj_init_plus(str_dst);
+	if(!pj_src) _error_("Failed to initialize PROJ.4 with source projection \""    <<str_src<<"\"\n");
+	if(!pj_dst) _error_("Failed to initialize PROJ.4 with destination projection\""<<str_dst<<"\"\n");
+
+	/*Perform transformation*/
+	int p = pj_transform(pj_src,pj_dst,size,1,x_dest,y_dest,NULL);
+	if(p!=0) _error_("Reprojection failed, PROJ.4 error code: "<<p<<"\n");
+
+	/*Output : */
+	*px_dest=x_dest;
+	*py_dest=y_dest;
+#endif
+}
Index: ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.h
===================================================================
--- ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.h	(revision 0)
+++ ../trunk-jpl/src/c/modules/CoordinateSystemTransformx/CoordinateSystemTransformx.h	(revision 18801)
@@ -0,0 +1,11 @@
+/*!\file:  CoordinateSystemTransformx.h
+ */ 
+
+#ifndef _CORRDSYSTRANFER_
+#define _CORRDSYSTRANFER_
+
+#include "../../classes/classes.h"
+
+/* local prototypes: */
+void CoordinateSystemTransformx(IssmDouble** px_dest,IssmDouble** py_dest,IssmDouble* x_src,IssmDouble* y_src,int size,const char* str_src,const char* str_dst);
+#endif  
Index: ../trunk-jpl/src/c/modules/CoordinateSystemTransformx
===================================================================
--- ../trunk-jpl/src/c/modules/CoordinateSystemTransformx	(revision 18800)
+++ ../trunk-jpl/src/c/modules/CoordinateSystemTransformx	(revision 18801)

Property changes on: ../trunk-jpl/src/c/modules/CoordinateSystemTransformx
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,2 ##
+.deps
+.dirstamp
Index: ../trunk-jpl/src/c/Makefile.am
===================================================================
--- ../trunk-jpl/src/c/Makefile.am	(revision 18800)
+++ ../trunk-jpl/src/c/Makefile.am	(revision 18801)
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@
+AM_CPPFLAGS = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJ4INCL@
 
 AUTOMAKE_OPTIONS = subdir-objects
 
@@ -575,6 +575,11 @@
 					./toolkits/gsl/DenseGslSolve.cpp
 endif
 #}}}
+#proj.4 sources  {{{
+if PROJ4
+issm_sources += ./modules/CoordinateSystemTransformx/CoordinateSystemTransformx.cpp
+endif
+#}}}
 #Analyses{{{
 if ADJOINTBALANCETHICKNESS
 issm_sources += ./analyses/AdjointBalancethicknessAnalysis.cpp
@@ -926,7 +931,7 @@
 endif
 
 #External packages
-LDADD += $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB)  $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
+LDADD += $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB)  $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJ4LIB)
 
 if FORTRAN
 LDADD += $(FLIBS) $(FORTRANLIB)
Index: ../trunk-jpl/src/wrappers/python/Makefile.am
===================================================================
--- ../trunk-jpl/src/wrappers/python/Makefile.am	(revision 18800)
+++ ../trunk-jpl/src/wrappers/python/Makefile.am	(revision 18801)
@@ -93,43 +93,43 @@
 #Bin sources {{{
 BamgConvertMesh_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp\
 									  ../BamgConvertMesh/BamgConvertMesh.h
-BamgConvertMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+BamgConvertMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 BamgMesher_la_SOURCES = ../BamgMesher/BamgMesher.cpp\
 								../BamgMesher/BamgMesher.h
-BamgMesher_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+BamgMesher_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 ContourToMesh_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp\
 									 ../ContourToMesh/ContourToMesh.h
-ContourToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ContourToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 ContourToNodes_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp\
 									 ../ContourToNodes/ContourToNodes.h
-ContourToNodes_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ContourToNodes_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 ElementConnectivity_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp\
 											../ElementConnectivity/ElementConnectivity.h
-ElementConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ElementConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 EnumToString_la_SOURCES = ../EnumToString/EnumToString.cpp\
 								  ../EnumToString/EnumToString.h
-EnumToString_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+EnumToString_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToMesh2d_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp\
 												../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h
-InterpFromMeshToMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromMeshToMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToMesh3d_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp\
 												../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h
-InterpFromMeshToMesh3d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromMeshToMesh3d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromGridToMesh_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp\
 												../InterpFromGridToMesh/InterpFromGridToMesh.h
-InterpFromGridToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromGridToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToGrid_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp\
 												../InterpFromMeshToGrid/InterpFromMeshToGrid.h
-InterpFromMeshToGrid_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromMeshToGrid_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 IssmConfig_la_SOURCES = ../IssmConfig/IssmConfig.cpp\
 											 ../IssmConfig/IssmConfig.h
@@ -137,21 +137,21 @@
 
 MeshProfileIntersection_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp\
 										../MeshProfileIntersection/MeshProfileIntersection.h
-MeshProfileIntersection_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+MeshProfileIntersection_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 NodeConnectivity_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp\
 										../NodeConnectivity/NodeConnectivity.h
-NodeConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+NodeConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 StringToEnum_la_SOURCES = ../StringToEnum/StringToEnum.cpp\
 								  ../StringToEnum/StringToEnum.h
-StringToEnum_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+StringToEnum_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 TriMesh_la_SOURCES = ../TriMesh/TriMesh.cpp\
 							../TriMesh/TriMesh.h
-TriMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(TRIANGLELIB) $(GSLLIB)
+TriMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(TRIANGLELIB) $(GSLLIB) $(PROJ4LIB)
 
 TriMeshProcessRifts_la_SOURCES = ../TriMeshProcessRifts/TriMeshProcessRifts.cpp\
 											../TriMeshProcessRifts/TriMeshProcessRifts.h
-TriMeshProcessRifts_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+TriMeshProcessRifts_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 #}}}
Index: ../trunk-jpl/src/wrappers/matlab/Makefile.am
===================================================================
--- ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 18800)
+++ ../trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 18801)
@@ -108,13 +108,13 @@
 AM_CXXFLAGS += $(CXXOPTFLAGS) 
 #}}}
 # Module sources and dependencies {{{
-libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(MPILIB) $(PETSCLIB) $(GSLLIB) $(MATHLIB) $(MEXLIB) 
+libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB) 
 
 if STANDALONE_LIBRARIES
 libISSMMatlab_la_LDFLAGS = -static 
 endif
 
-libISSMApi_la_LIBADD = $(MPILIB) $(PETSCLIB) $(GSLLIB) $(MATHLIB) $(MEXLIB)
+libISSMApi_la_LIBADD = $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB) $(MEXLIB)
 
 if STANDALONE_LIBRARIES
 libISSMApi_la_LDFLAGS = -static 
@@ -122,59 +122,59 @@
 
 BamgMesher_la_SOURCES = ../BamgMesher/BamgMesher.cpp\
 								../BamgMesher/BamgMesher.h
-BamgMesher_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+BamgMesher_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 BamgConvertMesh_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp\
 									  ../BamgConvertMesh/BamgConvertMesh.h
-BamgConvertMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+BamgConvertMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 BamgTriangulate_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp\
 									  ../BamgTriangulate/BamgTriangulate.h
-BamgTriangulate_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+BamgTriangulate_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Chaco_la_SOURCES = ../Chaco/Chaco.cpp\
 						 ../Chaco/Chaco.h
-Chaco_la_LIBADD = ${deps} $(MPILIB) $(CHACOLIB) $(GSLLIB) $(PETSCLIB)
+Chaco_la_LIBADD = ${deps} $(MPILIB) $(CHACOLIB) $(GSLLIB) $(PROJ4LIB) $(PETSCLIB)
 
 ContourToMesh_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp\
 									../ContourToMesh/ContourToMesh.h
-ContourToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+ContourToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 ContourToNodes_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp\
 									 ../ContourToNodes/ContourToNodes.h
-ContourToNodes_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ContourToNodes_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 ElementConnectivity_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp\
 											../ElementConnectivity/ElementConnectivity.h
-ElementConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ElementConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 EnumToString_la_SOURCES = ../EnumToString/EnumToString.cpp\
 								  ../EnumToString/EnumToString.h
-EnumToString_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+EnumToString_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 StringToEnum_la_SOURCES = ../StringToEnum/StringToEnum.cpp\
 								  ../StringToEnum/StringToEnum.h
-StringToEnum_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+StringToEnum_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromGridToMesh_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp\
 											 ../InterpFromGridToMesh/InterpFromGridToMesh.h
-InterpFromGridToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromGridToMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToMesh2d_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp\
 												../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h
-InterpFromMeshToMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromMeshToMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToMesh3d_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp\
 												../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h
-InterpFromMeshToMesh3d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+InterpFromMeshToMesh3d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMeshToGrid_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp\
 											 ../InterpFromMeshToGrid/InterpFromMeshToGrid.h
-InterpFromMeshToGrid_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+InterpFromMeshToGrid_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 InterpFromMesh2d_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp\
 										../InterpFromMesh2d/InterpFromMesh2d.h
-InterpFromMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+InterpFromMesh2d_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 IssmConfig_la_SOURCES = ../IssmConfig/IssmConfig.cpp\
 										../IssmConfig/IssmConfig.h
@@ -182,59 +182,59 @@
 
 KMLFileRead_la_SOURCES = ../KMLFileRead/KMLFileRead.cpp\
 								 ../KMLFileRead/KMLFileRead.h
-KMLFileRead_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+KMLFileRead_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 KMLMeshWrite_la_SOURCES = ../KMLMeshWrite/KMLMeshWrite.cpp\
 								  ../KMLMeshWrite/KMLMeshWrite.h
-KMLMeshWrite_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+KMLMeshWrite_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 KMLOverlay_la_SOURCES = ../KMLOverlay/KMLOverlay.cpp\
 								../KMLOverlay/KMLOverlay.h
-KMLOverlay_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+KMLOverlay_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Xy2ll_la_SOURCES = ../Xy2ll/Xy2ll.cpp\
 						 ../Xy2ll/Xy2ll.h
-Xy2ll_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+Xy2ll_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Ll2xy_la_SOURCES = ../Ll2xy/Ll2xy.cpp\
 						 ../Ll2xy/Ll2xy.h
-Ll2xy_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+Ll2xy_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 ExpSimplify_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp\
 							../ExpSimplify/ExpSimplify.h
-ExpSimplify_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ExpSimplify_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Exp2Kml_la_SOURCES = ../Exp2Kml/Exp2Kml.cpp\
 							../Exp2Kml/Exp2Kml.h
-Exp2Kml_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+Exp2Kml_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Kml2Exp_la_SOURCES = ../Kml2Exp/Kml2Exp.cpp\
 							../Kml2Exp/Kml2Exp.h
-Kml2Exp_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+Kml2Exp_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Kriging_la_SOURCES = ../Kriging/Kriging.cpp\
 							../Kriging/Kriging.h
-Kriging_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+Kriging_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 MeshPartition_la_SOURCES = ../MeshPartition/MeshPartition.cpp\
 									../MeshPartition/MeshPartition.h
-MeshPartition_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(METISLIB) $(GSLLIB)
+MeshPartition_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(METISLIB) $(GSLLIB) $(PROJ4LIB)
 
 MeshProfileIntersection_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp\
 												 ../MeshProfileIntersection/MeshProfileIntersection.h
-MeshProfileIntersection_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+MeshProfileIntersection_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 NodeConnectivity_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp\
 										../NodeConnectivity/NodeConnectivity.h
-NodeConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+NodeConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 PointCloudFindNeighbors_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp\
 												 ../PointCloudFindNeighbors/PointCloudFindNeighbors.h
-PointCloudFindNeighbors_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB)
+PointCloudFindNeighbors_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
 
 PropagateFlagsFromConnectivity_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp\
 														  ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h
-PropagateFlagsFromConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+PropagateFlagsFromConnectivity_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Scotch_la_SOURCES = ../Scotch/Scotch.cpp\
 						  ../Scotch/Scotch.h
@@ -242,21 +242,21 @@
 
 ShpRead_la_SOURCES = ../ShpRead/ShpRead.cpp\
 							../ShpRead/ShpRead.h
-ShpRead_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(GSLLIB)
+ShpRead_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 Shp2Kml_la_SOURCES = ../Shp2Kml/Shp2Kml.cpp\
 							../Shp2Kml/Shp2Kml.h
-Shp2Kml_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(GSLLIB)
+Shp2Kml_la_LIBADD = ${deps} $(SHAPELIBLIB) $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 TriaSearch_la_SOURCES = ../TriaSearch/TriaSearch.cpp\
 								../TriaSearch/TriaSearch.h
-TriaSearch_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+TriaSearch_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 
 TriMesh_la_SOURCES = ../TriMesh/TriMesh.cpp\
 							../TriMesh/TriMesh.h
-TriMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(TRIANGLELIB) $(GSLLIB)
+TriMesh_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(TRIANGLELIB) $(GSLLIB) $(PROJ4LIB)
 
 TriMeshProcessRifts_la_SOURCES = ../TriMeshProcessRifts/TriMeshProcessRifts.cpp\
 											../TriMeshProcessRifts/TriMeshProcessRifts.h
-TriMeshProcessRifts_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB)
+TriMeshProcessRifts_la_LIBADD = ${deps} $(MPILIB) $(PETSCLIB) $(GSLLIB) $(PROJ4LIB)
 #}}}
