Index: /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp	(revision 24479)
@@ -107,4 +107,5 @@
 		case BasalforcingsPicoEnum:
 			iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
+			iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum);
 			break;
 		case BasalforcingsIsmip6Enum:
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 24479)
@@ -180,4 +180,5 @@
 		case BasalforcingsPicoEnum:
 			iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
+			iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum);
 			break;
 		case BasalforcingsIsmip6Enum:{
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 24479)
@@ -799,4 +799,5 @@
 			case BasalforcingsPicoEnum:
 				iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.basin_id",BasalforcingsPicoBasinIdEnum);
+				iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum);
 				break;
 			case BasalforcingsIsmip6Enum:
Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 24479)
@@ -2574,9 +2574,8 @@
 	this->parameters->FindParam(&num_basins, BasalforcingsPicoNumBasinsEnum);
 	this->parameters->FindParam(&gamma_T,BasalforcingsPicoGammaTEnum);
-	this->parameters->FindParam(&overturning_coeff,BasalforcingsPicoOverturningCoeffEnum);
 	this->parameters->FindParam(&maxbox,BasalforcingsPicoMaxboxcountEnum);
 	this->GetInputValue(&basinid,BasalforcingsPicoBasinIdEnum);
 	this->parameters->FindParam(&isplume, BasalforcingsPicoIsplumeEnum);
-	Input2* thickness_input=this->GetInput2(ThicknessEnum); _assert_(thickness_input);
+	Input2 *thickness_input    = this->GetInput2(ThicknessEnum);                         _assert_(thickness_input);
 	_assert_(basinid<=num_basins);
 
@@ -2602,4 +2601,5 @@
 		IssmDouble 	s1 				= soc_farocean/(nu*lambda);
 		IssmDouble* overturnings 	= xNew<IssmDouble>(NUM_VERTICES);
+		Input2 *overturningC_input = this->GetInput2(BasalforcingsPicoOverturningCoeffEnum); _assert_(overturningC_input);
 
 		/* Start looping on the number of verticies and calculate ocean vars */
@@ -2608,4 +2608,5 @@
 			gauss->GaussVertex(i);
 			thickness_input->GetInputValue(&thickness,gauss);
+			overturningC_input->GetInputValue(&overturning_coeff,gauss);
 			pressure = (rhoi*earth_grav*1e-4)*thickness;
 			T_star   = a*soc_farocean+b-c*pressure-toc_farocean;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 24479)
@@ -224,5 +224,4 @@
 			parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsPicoNumBasinsEnum));
 			parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.maxboxcount",BasalforcingsPicoMaxboxcountEnum));
-			parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.overturning_coeff",BasalforcingsPicoOverturningCoeffEnum));
 			parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.gamma_T",BasalforcingsPicoGammaTEnum));
 			parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.isplume",BasalforcingsPicoIsplumeEnum));
Index: /issm/trunk-jpl/src/c/shared/Enum/Enum.vim
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 24478)
+++ /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 24479)
@@ -90,5 +90,4 @@
 syn keyword cConstant BasalforcingsPicoMaxboxcountEnum
 syn keyword cConstant BasalforcingsPicoNumBasinsEnum
-syn keyword cConstant BasalforcingsPicoOverturningCoeffEnum
 syn keyword cConstant BasalforcingsPlumeradiusEnum
 syn keyword cConstant BasalforcingsPlumexEnum
@@ -470,4 +469,5 @@
 syn keyword cConstant BasalforcingsPicoBasinIdEnum
 syn keyword cConstant BasalforcingsPicoBoxIdEnum
+syn keyword cConstant BasalforcingsPicoOverturningCoeffEnum
 syn keyword cConstant BasalforcingsPicoSubShelfOceanOverturningEnum
 syn keyword cConstant BasalforcingsPicoSubShelfOceanSalinityEnum
@@ -1329,4 +1329,5 @@
 syn keyword cType Cfsurfacesquare
 syn keyword cType Channel
+syn keyword cType classes
 syn keyword cType Constraint
 syn keyword cType Constraints
@@ -1335,6 +1336,6 @@
 syn keyword cType ControlInput2
 syn keyword cType Covertree
+syn keyword cType DatasetInput2
 syn keyword cType DataSetParam
-syn keyword cType DatasetInput2
 syn keyword cType Definition
 syn keyword cType DependentObject
@@ -1348,6 +1349,6 @@
 syn keyword cType ElementInput2
 syn keyword cType ElementMatrix
+syn keyword cType Elements
 syn keyword cType ElementVector
-syn keyword cType Elements
 syn keyword cType ExponentialVariogram
 syn keyword cType ExternalResult
@@ -1356,9 +1357,10 @@
 syn keyword cType Friction
 syn keyword cType Gauss
+syn keyword cType GaussianVariogram
+syn keyword cType gaussobjects
 syn keyword cType GaussPenta
 syn keyword cType GaussSeg
 syn keyword cType GaussTetra
 syn keyword cType GaussTria
-syn keyword cType GaussianVariogram
 syn keyword cType GenericExternalResult
 syn keyword cType GenericOption
@@ -1375,4 +1377,5 @@
 syn keyword cType IssmDirectApplicInterface
 syn keyword cType IssmParallelDirectApplicInterface
+syn keyword cType krigingobjects
 syn keyword cType Load
 syn keyword cType Loads
@@ -1385,4 +1388,5 @@
 syn keyword cType Matice
 syn keyword cType Matlitho
+syn keyword cType matrixobjects
 syn keyword cType MatrixParam
 syn keyword cType Misfit
@@ -1397,6 +1401,6 @@
 syn keyword cType Observations
 syn keyword cType Option
+syn keyword cType Options
 syn keyword cType OptionUtilities
-syn keyword cType Options
 syn keyword cType Param
 syn keyword cType Parameters
@@ -1412,10 +1416,10 @@
 syn keyword cType Regionaloutput
 syn keyword cType Results
+syn keyword cType Riftfront
 syn keyword cType RiftStruct
-syn keyword cType Riftfront
 syn keyword cType Seg
 syn keyword cType SegInput2
+syn keyword cType Segment
 syn keyword cType SegRef
-syn keyword cType Segment
 syn keyword cType SpcDynamic
 syn keyword cType SpcStatic
@@ -1436,8 +1440,4 @@
 syn keyword cType Vertex
 syn keyword cType Vertices
-syn keyword cType classes
-syn keyword cType gaussobjects
-syn keyword cType krigingobjects
-syn keyword cType matrixobjects
 syn keyword cType AdjointBalancethickness2Analysis
 syn keyword cType AdjointBalancethicknessAnalysis
@@ -1458,6 +1458,6 @@
 syn keyword cType FreeSurfaceBaseAnalysis
 syn keyword cType FreeSurfaceTopAnalysis
+syn keyword cType GiaIvinsAnalysis
 syn keyword cType GLheightadvectionAnalysis
-syn keyword cType GiaIvinsAnalysis
 syn keyword cType HydrologyDCEfficientAnalysis
 syn keyword cType HydrologyDCInefficientAnalysis
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 24478)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 24479)
@@ -84,5 +84,4 @@
 	BasalforcingsPicoMaxboxcountEnum,
 	BasalforcingsPicoNumBasinsEnum,
-	BasalforcingsPicoOverturningCoeffEnum,
 	BasalforcingsPlumeradiusEnum,
 	BasalforcingsPlumexEnum,
@@ -466,4 +465,5 @@
 	BasalforcingsPicoBasinIdEnum,
 	BasalforcingsPicoBoxIdEnum,
+	BasalforcingsPicoOverturningCoeffEnum,
 	BasalforcingsPicoSubShelfOceanOverturningEnum,
 	BasalforcingsPicoSubShelfOceanSalinityEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 24479)
@@ -92,5 +92,4 @@
 		case BasalforcingsPicoMaxboxcountEnum : return "BasalforcingsPicoMaxboxcount";
 		case BasalforcingsPicoNumBasinsEnum : return "BasalforcingsPicoNumBasins";
-		case BasalforcingsPicoOverturningCoeffEnum : return "BasalforcingsPicoOverturningCoeff";
 		case BasalforcingsPlumeradiusEnum : return "BasalforcingsPlumeradius";
 		case BasalforcingsPlumexEnum : return "BasalforcingsPlumex";
@@ -472,4 +471,5 @@
 		case BasalforcingsPicoBasinIdEnum : return "BasalforcingsPicoBasinId";
 		case BasalforcingsPicoBoxIdEnum : return "BasalforcingsPicoBoxId";
+		case BasalforcingsPicoOverturningCoeffEnum : return "BasalforcingsPicoOverturningCoeff";
 		case BasalforcingsPicoSubShelfOceanOverturningEnum : return "BasalforcingsPicoSubShelfOceanOverturning";
 		case BasalforcingsPicoSubShelfOceanSalinityEnum : return "BasalforcingsPicoSubShelfOceanSalinity";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 24478)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 24479)
@@ -92,5 +92,4 @@
 	      else if (strcmp(name,"BasalforcingsPicoMaxboxcount")==0) return BasalforcingsPicoMaxboxcountEnum;
 	      else if (strcmp(name,"BasalforcingsPicoNumBasins")==0) return BasalforcingsPicoNumBasinsEnum;
-	      else if (strcmp(name,"BasalforcingsPicoOverturningCoeff")==0) return BasalforcingsPicoOverturningCoeffEnum;
 	      else if (strcmp(name,"BasalforcingsPlumeradius")==0) return BasalforcingsPlumeradiusEnum;
 	      else if (strcmp(name,"BasalforcingsPlumex")==0) return BasalforcingsPlumexEnum;
@@ -137,9 +136,9 @@
 	      else if (strcmp(name,"EplZigZagCounter")==0) return EplZigZagCounterEnum;
 	      else if (strcmp(name,"EsaHElastic")==0) return EsaHElasticEnum;
+	      else if (strcmp(name,"EsaHemisphere")==0) return EsaHemisphereEnum;
          else stage=2;
    }
    if(stage==2){
-	      if (strcmp(name,"EsaHemisphere")==0) return EsaHemisphereEnum;
-	      else if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum;
+	      if (strcmp(name,"EsaRequestedOutputs")==0) return EsaRequestedOutputsEnum;
 	      else if (strcmp(name,"EsaUElastic")==0) return EsaUElasticEnum;
 	      else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum;
@@ -260,9 +259,9 @@
 	      else if (strcmp(name,"MaterialsLithosphereDensity")==0) return MaterialsLithosphereDensityEnum;
 	      else if (strcmp(name,"MaterialsLithosphereShearModulus")==0) return MaterialsLithosphereShearModulusEnum;
+	      else if (strcmp(name,"MaterialsMantleDensity")==0) return MaterialsMantleDensityEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"MaterialsMantleDensity")==0) return MaterialsMantleDensityEnum;
-	      else if (strcmp(name,"MaterialsMantleShearModulus")==0) return MaterialsMantleShearModulusEnum;
+	      if (strcmp(name,"MaterialsMantleShearModulus")==0) return MaterialsMantleShearModulusEnum;
 	      else if (strcmp(name,"MaterialsMeltingpoint")==0) return MaterialsMeltingpointEnum;
 	      else if (strcmp(name,"MaterialsMixedLayerCapacity")==0) return MaterialsMixedLayerCapacityEnum;
@@ -383,9 +382,9 @@
 	      else if (strcmp(name,"SmbRunoffgrad")==0) return SmbRunoffgradEnum;
 	      else if (strcmp(name,"SmbRunoffref")==0) return SmbRunoffrefEnum;
+	      else if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum;
-	      else if (strcmp(name,"SmbStepsPerStep")==0) return SmbStepsPerStepEnum;
+	      if (strcmp(name,"SmbStepsPerStep")==0) return SmbStepsPerStepEnum;
 	      else if (strcmp(name,"SmbSwIdx")==0) return SmbSwIdxEnum;
 	      else if (strcmp(name,"SmbT0dry")==0) return SmbT0dryEnum;
@@ -481,4 +480,5 @@
 	      else if (strcmp(name,"BasalforcingsPicoBasinId")==0) return BasalforcingsPicoBasinIdEnum;
 	      else if (strcmp(name,"BasalforcingsPicoBoxId")==0) return BasalforcingsPicoBoxIdEnum;
+	      else if (strcmp(name,"BasalforcingsPicoOverturningCoeff")==0) return BasalforcingsPicoOverturningCoeffEnum;
 	      else if (strcmp(name,"BasalforcingsPicoSubShelfOceanOverturning")==0) return BasalforcingsPicoSubShelfOceanOverturningEnum;
 	      else if (strcmp(name,"BasalforcingsPicoSubShelfOceanSalinity")==0) return BasalforcingsPicoSubShelfOceanSalinityEnum;
Index: /issm/trunk-jpl/src/m/classes/basalforcingspico.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/basalforcingspico.m	(revision 24478)
+++ /issm/trunk-jpl/src/m/classes/basalforcingspico.m	(revision 24479)
@@ -9,5 +9,5 @@
 		basin_id                  = NaN;
 		maxboxcount               = 0;
-		overturning_coeff         = 0.;
+		overturning_coeff         = NaN;
 		gamma_T                   = 0.;
 		farocean_temperature      = NaN;
@@ -40,5 +40,5 @@
 		   end
 			if isnan(self.overturning_coeff)
-				self.overturning_coeff = 1e6; %m^3/s
+				self.overturning_coeff = 1e6*ones(md.mesh.numberofvertices,1); %m^3/s
 				disp('      no overturning strength set, setting value to 1e6');
 			end
@@ -66,5 +66,9 @@
 				md = checkfield(md,'fieldname','basalforcings.basin_id','Inf',1,'>=',0,'<=',md.basalforcings.num_basins,'size',[md.mesh.numberofelements 1]);
 				md = checkfield(md,'fieldname','basalforcings.maxboxcount','numel',1,'NaN',1,'Inf',1,'>',0);
-				md = checkfield(md,'fieldname','basalforcings.overturning_coeff','numel',1,'NaN',1,'Inf',1,'>',0);
+				if numel(self.overturning_coeff)==1
+					md = checkfield(md,'fieldname','basalforcings.overturning_coeff','numel',1,'NaN',1,'Inf',1,'>',0);
+				else
+					md = checkfield(md,'fieldname','basalforcings.overturning_coeff','size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1,'>',0);
+				end
 				md = checkfield(md,'fieldname','basalforcings.gamma_T','numel',1,'NaN',1,'Inf',1,'>',0);
 				md = checkfield(md,'fieldname','basalforcings.farocean_temperature','NaN',1,'Inf',1,'size',[md.basalforcings.num_basins+1 NaN]);
@@ -96,5 +100,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','num_basins','format','Integer');
 			WriteData(fid,prefix,'object',self,'fieldname','maxboxcount','format','Integer');
-			WriteData(fid,prefix,'object',self,'fieldname','overturning_coeff','format','Double');
+			WriteData(fid,prefix,'object',self,'fieldname','overturning_coeff','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'fieldname','gamma_T','format','Double');
 			WriteData(fid,prefix,'object',self,'fieldname','farocean_temperature','format','DoubleMat','name','md.basalforcings.farocean_temperature','timeserieslength',md.basalforcings.num_basins+1,'yts',md.constants.yts);
