Index: /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14742)
+++ /issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp	(revision 14743)
@@ -25,6 +25,8 @@
 Matpar::Matpar(int matpar_mid, IoModel* iomodel){
 
-	int hydrology_model;
+	bool ispdd;
+	int  hydrology_model;
 	iomodel->Constant(&hydrology_model,HydrologyEnum);
+	iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum);
 
 	this->mid = matpar_mid;
@@ -42,6 +44,9 @@
 	iomodel->Constant(&this->thermal_exchange_velocity,MaterialsThermalExchangeVelocityEnum);
 	iomodel->Constant(&this->g,ConstantsGEnum);
-	iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum);
-	iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum);
+
+	if(ispdd){
+		iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum);
+		iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum);
+	}
 
 	if(hydrology_model==HydrologyshreveEnum){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 14742)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 14743)
@@ -24,5 +24,5 @@
 	Parameters *parameters       = NULL;
 	IssmDouble *requestedoutputs = NULL;
-	bool        isdelta18o;
+	bool        ispdd,isdelta18o;
 
 	/*parameters for mass flux: {{{*/
@@ -103,26 +103,31 @@
 	parameters->AddObject(iomodel->CopyConstantObject(InversionTaoEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIspddEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIssmbgradientsEnum));
 
-	iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
-	if(isdelta18o){
-		IssmDouble *temp = NULL;
-		IssmDouble  yts;
-		int         N,M;
-
-		iomodel->Constant(&yts,ConstantsYtsEnum);
-
-		iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2);
-		for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i];
-		parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],M));
-		iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum);
-
-		iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum); _assert_(N==2);
-		for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i];
-		parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],M));
-		iomodel->DeleteData(temp,SurfaceforcingsDelta18oSurfaceEnum);
+	iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum);
+	if(ispdd){
+
+		parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
+		parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum));
+
+		iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
+		if(isdelta18o){
+			IssmDouble *temp = NULL;
+			IssmDouble  yts;
+			int         N,M;
+
+			iomodel->Constant(&yts,ConstantsYtsEnum);
+
+			iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2);
+			for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i];
+			parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],M));
+			iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum);
+
+			iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum); _assert_(N==2);
+			for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i];
+			parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],M));
+			iomodel->DeleteData(temp,SurfaceforcingsDelta18oSurfaceEnum);
+		}
 	}
 
