Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 23253)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 23254)
@@ -89,11 +89,11 @@
 	this->parameters->FindParam(&amr_frequency,TransientAmrFrequencyEnum);
 	this->parameters->FindParam(&amr_frequency,TransientAmrFrequencyEnum);
-	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 	this->amr = NULL;
 	#endif
-	#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 	this->amrbamg = NULL;
 	#endif
-	#if !defined(_HAVE_ADOLC_)
+	#if !defined(_HAVE_AD_)
 	if(amr_frequency && solution_type==TransientSolutionEnum){
 		/*Verifications. AMR supports SSA, P1 and horizontal 2D domain*/
@@ -152,8 +152,8 @@
 	profiler->Stop(MPROCESSOR);
 
-	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 	this->amr = NULL;
 	#endif
-	#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 	this->amrbamg = NULL;
 	#endif
@@ -189,9 +189,9 @@
 	if(results)delete results;
 
-	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 	if(amr)delete amr;
 	#endif
 
-	#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 	if(amrbamg)delete amrbamg;
 	#endif
@@ -328,8 +328,8 @@
 
 	/*AMR, no copy for now*/
-	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 	this->amr = NULL;
 	#endif
-	#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+	#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 	this->amrbamg = NULL;
 	#endif
@@ -2564,9 +2564,9 @@
 	this->parameters->FindParam(&amrtype,AmrTypeEnum);
 	switch(amrtype){
-		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 		case AmrNeopzEnum: this->ReMeshNeopz(&newnumberofvertices,&newnumberofelements,&newx,&newy,&newz,&newelementslist); break;
 								 #endif
 
-		#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 		case AmrBamgEnum: this->ReMeshBamg(&newnumberofvertices,&newnumberofelements,&newx,&newy,&newz,&newelementslist); break;
 		#endif
@@ -4920,5 +4920,5 @@
 #endif
 
-#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 void FemModel::ReMeshBamg(int* pnewnumberofvertices,int* pnewnumberofelements,IssmDouble** pnewx,IssmDouble** pnewy,IssmDouble** pnewz,int** pnewelementslist){/*{{{*/
 
@@ -5246,5 +5246,5 @@
 #endif
 
-#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 void FemModel::ReMeshNeopz(int* pnewnumberofvertices,int* pnewnumberofelements,IssmDouble** pnewx,IssmDouble** pnewy,IssmDouble** pnewz,int** pnewelementslist){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 23253)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 23254)
@@ -20,8 +20,8 @@
 class Profiler;
 class Elements;
-#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 #include "./AdaptiveMeshRefinement.h"
 #endif
-#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 #include "./AmrBamg.h"
 #endif
@@ -51,9 +51,9 @@
 
 		//FIXME: do we want only one class and have virtual functions? or keep 2 classes, at least rename AdaptiveMeshRefinement -> AmrNeopz
-		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 		AdaptiveMeshRefinement *amr;		  //adaptive mesh refinement object. It keeps coarse mesh and execute refinement process
 		#endif
 
-		#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 		AmrBamg *amrbamg; //adaptive mesh refinement object. It keeps coarse mesh and execute refinement process
 		#endif
@@ -164,5 +164,5 @@
 
 		/*AMR*/
-		#if !defined(_HAVE_ADOLC_)
+		#if !defined(_HAVE_AD_)
 		void ReMesh(void);
 		void BedrockFromMismipPlus(void);
@@ -191,5 +191,5 @@
 		#endif
 
-		#if defined(_HAVE_BAMG_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_)
 		void ReMeshBamg(int* pnewnumberofvertices,int* pnewnumberofelements,IssmDouble** pnewx,IssmDouble** pnewy,IssmDouble** pnewz,int** pnewelementslist);
 		void InitializeAdaptiveRefinementBamg(void);
@@ -199,5 +199,5 @@
 		#endif
 
-		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_ADOLC_)
+		#if defined(_HAVE_NEOPZ_) && !defined(_HAVE_AD_)
 		void ReMeshNeopz(int* pnewnumberofvertices,int* pnewnumberofelements,IssmDouble** pnewx,IssmDouble** pnewy,IssmDouble** pnewz,int** pnewelementslist);
 		void InitializeAdaptiveRefinementNeopz(void);
Index: /issm/trunk-jpl/src/c/classes/Options/GenericOption.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Options/GenericOption.h	(revision 23253)
+++ /issm/trunk-jpl/src/c/classes/Options/GenericOption.h	(revision 23254)
@@ -102,5 +102,5 @@
 };
 
-#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_) 
+#if defined(_HAVE_AD_) && !defined(_WRAPPERS_) 
 /*We hook off this specific specialization when not running ADOLC, otherwise we get a redeclaration with the next specialization*/
 template <> inline void GenericOption<IssmPDouble*>::Get(IssmPDouble** pvalue){ /*{{{*/
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 23253)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.cpp	(revision 23254)
@@ -719,5 +719,5 @@
 
 /*Specific case with ADOL-C, we might need to get double params for m1qn3*/
-#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_) 
+#if defined(_HAVE_AD_) && !defined(_WRAPPERS_) 
 void Parameters::FindParamAndMakePassive(double* pscalar,int param_enum){ _assert_(this);/*{{{*/
 	_assert_(param_enum>ParametersSTARTEnum);
Index: /issm/trunk-jpl/src/c/classes/Params/Parameters.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/Params/Parameters.h	(revision 23253)
+++ /issm/trunk-jpl/src/c/classes/Params/Parameters.h	(revision 23254)
@@ -71,5 +71,5 @@
 
 		/*Specific instantiations for IssmDouble*: */
-		#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_) 
+		#if defined(_HAVE_AD_) && !defined(_WRAPPERS_) 
 		void  FindParamAndMakePassive(double* pscalar, int enum_type);
 		#endif
Index: /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h	(revision 23253)
+++ /issm/trunk-jpl/src/c/toolkits/mpi/issmmpi.h	(revision 23254)
@@ -40,7 +40,9 @@
 	#define ISSM_MPI_CHAR       MPI_CHAR
 	#if defined(_HAVE_AMPI_)
+		#ifdef _HAVE_ADJOINTMPI_
+		#define ISSM_MPI_DOUBLE    AMPI_DOUBLE // corresponds to IssmDouble
+		#else
 		#define ISSM_MPI_DOUBLE    AMPI_ADOUBLE // corresponds to IssmDouble
-	#elif defined(_HAVE_ADJOINTMPI_)
-		#define ISSM_MPI_DOUBLE    AMPI_DOUBLE // corresponds to IssmDouble
+		#endif
 	#else 
 		#define ISSM_MPI_DOUBLE    MPI_DOUBLE  // corresponds to IssmDouble 
