Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 9231)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 9232)
@@ -41,4 +41,8 @@
 	IoModelToInputsx(elements,iomodel,iomodel_handle,VxEnum);
 	IoModelToInputsx(elements,iomodel,iomodel_handle,VyEnum);
+
+	if(iomodel->prognostic_DG){
+		IoModelToInputsx(elements,iomodel,iomodel_handle,SpcthicknessEnum); //for DG, we need the spc in the element
+	}
 	
 	if (iomodel->dim==3){
Index: /issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 9231)
+++ /issm/trunk/src/c/objects/Loads/Numericalflux.cpp	(revision 9232)
@@ -515,6 +515,6 @@
 	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
 	parameters->FindParam(&dt,DtEnum);
-	Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
-	Input* vyaverage_input=tria->inputs->GetInput(VyEnum);
+	Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input);
+	Input* vyaverage_input=tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);
 	GetNormal(&normal[0],xyz_list);
 
@@ -793,7 +793,7 @@
 	GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
 	parameters->FindParam(&dt,DtEnum);
-	Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input); 
-	Input* vyaverage_input=tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);
-	Input* thickness_input=tria->inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
+	Input* vxaverage_input   =tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input); 
+	Input* vyaverage_input   =tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);
+	Input* spcthickness_input=tria->inputs->GetInput(SpcthicknessEnum); _assert_(spcthickness_input);
 	GetNormal(&normal[0],xyz_list);
 
@@ -826,5 +826,7 @@
 		vxaverage_input->GetParameterValue(&vx,gauss);
 		vyaverage_input->GetParameterValue(&vy,gauss);
-		thickness_input->GetParameterValue(&thickness,gauss);
+		spcthickness_input->GetParameterValue(&thickness,gauss);
+		if(isnan(thickness)) _error_("Cannot weakly apply constraint because NaN was provided");
+
 		UdotN=vx*normal[0]+vy*normal[1];
 		tria->GetSegmentJacobianDeterminant(&Jdet,&xyz_list[0][0],gauss);
@@ -917,4 +919,5 @@
 		vyaverage_input->GetParameterValue(&vy,gauss);
 		thickness_input->GetParameterValue(&thickness,gauss);
+
 		UdotN=vx*normal[0]+vy*normal[1];
 		tria->GetSegmentJacobianDeterminant(&Jdet,&xyz_list[0][0],gauss);
