Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9112)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9113)
@@ -544,4 +544,5 @@
 	MaxSteadystateIterationsEnum,
 	RequestedOutputsEnum,
+	NumRequestedOutputsEnum,
 	BasalFrictionEnum,
 	ViscousHeatingEnum
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9112)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9113)
@@ -485,4 +485,5 @@
 		case MaxSteadystateIterationsEnum : return "MaxSteadystateIterations";
 		case RequestedOutputsEnum : return "RequestedOutputs";
+		case NumRequestedOutputsEnum : return "NumRequestedOutputs";
 		case BasalFrictionEnum : return "BasalFriction";
 		case ViscousHeatingEnum : return "ViscousHeating";
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9112)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9113)
@@ -84,5 +84,6 @@
 	/*Requested output?*/
 	IoModelFetchData(&requestedoutputs,&numoutputs,NULL,iomodel_handle,RequestedOutputsEnum);
-	parameters->AddObject(new IntVecParam(RequestedOutputsEnum,requestedoutputs,numoutputs));
+	parameters->AddObject(new IntParam(NumRequestedOutputsEnum,numoutputs));
+	if(numoutputs)parameters->AddObject(new IntVecParam(RequestedOutputsEnum,requestedoutputs,numoutputs));
 	xfree((void**)&requestedoutputs);
 	
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9112)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9113)
@@ -483,4 +483,5 @@
 	else if (strcmp(name,"MaxSteadystateIterations")==0) return MaxSteadystateIterationsEnum;
 	else if (strcmp(name,"RequestedOutputs")==0) return RequestedOutputsEnum;
+	else if (strcmp(name,"NumRequestedOutputs")==0) return NumRequestedOutputsEnum;
 	else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum;
 	else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum;
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 9112)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 9113)
@@ -7725,4 +7725,5 @@
 	double epsilon[6];
 	double     viscousheating[NUMVERTICES]={0,0,0,0,0,0};
+	double     thickness;
 	GaussPenta *gauss=NULL;
 
@@ -7735,4 +7736,5 @@
 	Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
 	Input* vz_input=inputs->GetInput(VzEnum); _assert_(vz_input);
+	Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
 
 	/*loop over vertices: */
@@ -7740,10 +7742,13 @@
 	for (int iv=0;iv<NUMVERTICES;iv++){
 		gauss->GaussVertex(iv);
+		
+		thickness_input->GetParameterValue(&thickness,gauss);
 
 		this->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input,vz_input);
 		matice->GetViscosity3dStokes(&viscosity,&epsilon[0]);
 		GetPhi(&phi, &epsilon[0], viscosity);
-
-		viscousheating[iv]=phi;
+		
+
+		viscousheating[iv]=phi*thickness;
 	}
 
Index: /issm/trunk/src/m/classes/model.m
===================================================================
--- /issm/trunk/src/m/classes/model.m	(revision 9112)
+++ /issm/trunk/src/m/classes/model.m	(revision 9113)
@@ -236,5 +236,5 @@
 		 num_cm_responses                    = {0,true,'Integer'};
 		 %Output
-		 requested_outputs                    = {{},true,'DoubleMat',3};
+		 requested_outputs                    = {[],true,'DoubleMat',3};
 		 viscousheating                      = {NaN,false};
 		 pressure_elem                       = {NaN,false};
Index: /issm/trunk/src/m/enum/NumRequestedOutputsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumRequestedOutputsEnum.m	(revision 9113)
+++ /issm/trunk/src/m/enum/NumRequestedOutputsEnum.m	(revision 9113)
@@ -0,0 +1,11 @@
+function macro=NumRequestedOutputsEnum()
+%NUMREQUESTEDOUTPUTSENUM - Enum of NumRequestedOutputs
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NumRequestedOutputsEnum()
+
+macro=StringToEnum('NumRequestedOutputs');
