Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 12300)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 12301)
@@ -103,4 +103,5 @@
 	MaterialsRhoIceEnum,
 	MaterialsRhoWaterEnum,
+	MaterialsRhoFreshwaterEnum,
 	MaterialsMuWaterEnum,
 	MaterialsThermalExchangeVelocityEnum,
@@ -160,5 +161,5 @@
 	SurfaceforcingsMassBalanceEnum,
 	SurfaceforcingsIspddEnum,
-	SurfaceforcingsMonthlytemperatures,
+	SurfaceforcingsMonthlytemperaturesEnum,
 	ThermalMaxiterEnum,
 	ThermalPenaltyFactorEnum,
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 12300)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 12301)
@@ -107,4 +107,5 @@
 		case MaterialsRhoIceEnum : return "MaterialsRhoIce";
 		case MaterialsRhoWaterEnum : return "MaterialsRhoWater";
+		case MaterialsRhoFreshwaterEnum : return "MaterialsRhoFreshwater";
 		case MaterialsMuWaterEnum : return "MaterialsMuWater";
 		case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity";
@@ -164,4 +165,5 @@
 		case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance";
 		case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
+		case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures";
 		case ThermalMaxiterEnum : return "ThermalMaxiter";
 		case ThermalPenaltyFactorEnum : return "ThermalPenaltyFactor";
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 12300)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 12301)
@@ -71,5 +71,5 @@
 	  iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum);
 	  iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum);
-	  iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperatures);
+	  iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperaturesEnum);
 	}
 	else{
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 12300)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 12301)
@@ -108,4 +108,5 @@
 	      else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
 	      else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
+	      else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;
 	      else if (strcmp(name,"MaterialsMuWater")==0) return MaterialsMuWaterEnum;
 	      else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum;
@@ -136,9 +137,9 @@
 	      else if (strcmp(name,"PrognosticMinThickness")==0) return PrognosticMinThicknessEnum;
 	      else if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum;
-	      else if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum;
          else stage=2;
    }
    if(stage==2){
-	      if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum;
+	      if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum;
+	      else if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum;
 	      else if (strcmp(name,"PrognosticVertexPairing")==0) return PrognosticVertexPairingEnum;
 	      else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum;
@@ -168,4 +169,5 @@
 	      else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum;
 	      else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;
+	      else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum;
 	      else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
 	      else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
@@ -258,10 +260,10 @@
 	      else if (strcmp(name,"IntInput")==0) return IntInputEnum;
 	      else if (strcmp(name,"IntParam")==0) return IntParamEnum;
-	      else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
-	      else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum;
          else stage=3;
    }
    if(stage==3){
-	      if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
+	      if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
+	      else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum;
+	      else if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
 	      else if (strcmp(name,"Matice")==0) return MaticeEnum;
 	      else if (strcmp(name,"Matpar")==0) return MatparEnum;
@@ -381,10 +383,10 @@
 	      else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum;
 	      else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
-	      else if (strcmp(name,"P0")==0) return P0Enum;
-	      else if (strcmp(name,"P1")==0) return P1Enum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"P1DG")==0) return P1DGEnum;
+	      if (strcmp(name,"P0")==0) return P0Enum;
+	      else if (strcmp(name,"P1")==0) return P1Enum;
+	      else if (strcmp(name,"P1DG")==0) return P1DGEnum;
 	      else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
 	      else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 12300)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 12301)
@@ -2316,7 +2316,7 @@
    /*Get material parameters :*/
    rho_ice=matpar->GetRhoIce();
-   //rho_freshwater=matpar->GetRhoWater();
+   rho_water=matpar->GetRhoFreshwater();
    
-   sconv=(1000/rho_ice)/12.; //rhow_rain/rhoi / 12 months
+   sconv=(rho_water/rho_ice)/12.; //rhow_rain/rhoi / 12 months
      
      /*PDD constant*/
Index: /issm/trunk/src/c/objects/Materials/Matpar.cpp
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 12300)
+++ /issm/trunk/src/c/objects/Materials/Matpar.cpp	(revision 12301)
@@ -25,7 +25,8 @@
 Matpar::Matpar(int matpar_mid, IoModel* iomodel){
 
-	this->mid                       = matpar_mid;
+	this->mid = matpar_mid;
 	iomodel->Constant(&this->rho_ice,MaterialsRhoIceEnum);
 	iomodel->Constant(&this->rho_water,MaterialsRhoWaterEnum);
+	iomodel->Constant(&this->rho_freshwater,MaterialsRhoFreshwaterEnum);
 	iomodel->Constant(&this->mu_water,MaterialsMuWaterEnum);
 	iomodel->Constant(&this->heatcapacity,MaterialsHeatcapacityEnum);
@@ -60,4 +61,5 @@
 	printf("   rho_ice: %g\n",rho_ice);
 	printf("   rho_water: %g\n",rho_water);
+	printf("   rho_freshwater: %g\n",rho_freshwater);
 	printf("   mu_water: %g\n",mu_water);
 	printf("   heatcapacity: %g\n",heatcapacity);
@@ -76,19 +78,5 @@
 void Matpar::DeepEcho(void){
 
-	printf("Matpar:\n");
-	printf("   mid: %i\n",mid);
-	printf("   rho_ice: %g\n",rho_ice);
-	printf("   rho_water: %g\n",rho_water);
-	printf("   mu_water: %g\n",mu_water);
-	printf("   heatcapacity: %g\n",heatcapacity);
-	printf("   thermalconductivity: %g\n",thermalconductivity);
-	printf("   latentheat: %g\n",latentheat);
-	printf("   beta: %g\n",beta);
-	printf("   meltingpoint: %g\n",meltingpoint);
-	printf("   referencetemperature: %g\n",referencetemperature);
-	printf("   mixed_layer_capacity: %g\n",mixed_layer_capacity);
-	printf("   thermal_exchange_velocity: %g\n",thermal_exchange_velocity);
-	printf("   g: %g\n",g);
-	return;
+	this->Echo();
 }		
 /*}}}1*/
@@ -122,4 +110,5 @@
 	memcpy(marshalled_dataset,&rho_ice,sizeof(rho_ice));marshalled_dataset+=sizeof(rho_ice);
 	memcpy(marshalled_dataset,&rho_water,sizeof(rho_water));marshalled_dataset+=sizeof(rho_water);
+	memcpy(marshalled_dataset,&rho_freshwater,sizeof(rho_freshwater));marshalled_dataset+=sizeof(rho_freshwater);
 	memcpy(marshalled_dataset,&mu_water,sizeof(mu_water));marshalled_dataset+=sizeof(mu_water);
 	memcpy(marshalled_dataset,&heatcapacity,sizeof(heatcapacity));marshalled_dataset+=sizeof(heatcapacity);
@@ -143,4 +132,5 @@
 		sizeof(rho_ice)+
 		sizeof(rho_water)+
+		sizeof(rho_freshwater)+
 		sizeof(mu_water)+
 		sizeof(heatcapacity)+
@@ -170,4 +160,5 @@
 	memcpy(&rho_ice,marshalled_dataset,sizeof(rho_ice));marshalled_dataset+=sizeof(rho_ice);
 	memcpy(&rho_water,marshalled_dataset,sizeof(rho_water));marshalled_dataset+=sizeof(rho_water);
+	memcpy(&rho_freshwater,marshalled_dataset,sizeof(rho_freshwater));marshalled_dataset+=sizeof(rho_freshwater);
 	memcpy(&mu_water,marshalled_dataset,sizeof(mu_water));marshalled_dataset+=sizeof(mu_water);
 	memcpy(&heatcapacity,marshalled_dataset,sizeof(heatcapacity));marshalled_dataset+=sizeof(heatcapacity);
@@ -243,49 +234,40 @@
 			this->rho_ice=constant;
 			break;
-
 		case MaterialsRhoWaterEnum:
 			this->rho_water=constant;
 			break;
-
+		case MaterialsRhoFreshwaterEnum:
+			this->rho_freshwater=constant;
+			break;
 		case MaterialsMuWaterEnum:
 			this->mu_water=constant;
 			break;
-
 		case MaterialsHeatcapacityEnum:
 			this->heatcapacity=constant;
 			break;
-
 		case MaterialsThermalconductivityEnum:
 			this->thermalconductivity=constant;
 			break;
-
 		case  MaterialsLatentheatEnum:
 			this->latentheat=constant;
 			break;
-
 		case  MaterialsBetaEnum:
 			this->beta=constant;
 			break;
-
 		case  MaterialsMeltingpointEnum:
 			this->meltingpoint=constant;
 			break;
-
 		case  ConstantsReferencetemperatureEnum:
 			this->referencetemperature=constant;
 			break;
-
 		case  MaterialsMixedLayerCapacityEnum:
 			this->mixed_layer_capacity=constant;
 			break;
-
 		case  MaterialsThermalExchangeVelocityEnum:
 			this->thermalconductivity=constant;
 			break;
-
 		case  ConstantsGEnum:
 			this->g=constant;
 			break;
-
 		default: 
 			break;
@@ -362,4 +344,9 @@
 double Matpar::GetRhoWater(){
 	return rho_water;
+}
+/*}}}1*/
+/*FUNCTION Matpar::GetRhoFreshwater {{{1*/
+double Matpar::GetRhoFreshwater(){
+	return rho_freshwater;
 }
 /*}}}1*/
Index: /issm/trunk/src/c/objects/Materials/Matpar.h
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matpar.h	(revision 12300)
+++ /issm/trunk/src/c/objects/Materials/Matpar.h	(revision 12301)
@@ -15,7 +15,8 @@
 
 	private: 
-		int	mid;
-		double	rho_ice; 
-		double	rho_water;
+		int	  mid;
+		double  rho_ice; 
+		double  rho_water;
+		double  rho_freshwater;
 		double  mu_water;
 		double  heatcapacity;
@@ -77,4 +78,5 @@
 		double GetRhoIce();
 		double GetRhoWater();
+		double GetRhoFreshwater();
 		double GetMuWater();
 		double GetMixedLayerCapacity();
Index: /issm/trunk/src/m/classes/materials.m
===================================================================
--- /issm/trunk/src/m/classes/materials.m	(revision 12300)
+++ /issm/trunk/src/m/classes/materials.m	(revision 12301)
@@ -8,4 +8,5 @@
 		rho_ice                    = 0;
 		rho_water                  = 0;
+		rho_freshwater             = 0;
 		mu_water                   = 0;
 		heatcapacity               = 0;
@@ -34,6 +35,9 @@
 			obj.rho_ice=917;
 
-			%water density (kg/m^3)
+			%ocean water density (kg/m^3)
 			obj.rho_water=1023;
+
+			%fresh water density (kg/m^3)
+			obj.rho_freshwater=1000;
 
 			%water viscosity (N.s/m^2)
@@ -68,4 +72,5 @@
 			checkfield(md,'materials.rho_ice','>',0);
 			checkfield(md,'materials.rho_water','>',0);
+			checkfield(md,'materials.rho_freshwater','>',0);
 			checkfield(md,'materials.mu_water','>',0);
 			checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
@@ -77,5 +82,6 @@
 
 			fielddisplay(obj,'rho_ice','ice density [kg/m^3]');
-			fielddisplay(obj,'rho_water','water density [kg/m^3]');
+			fielddisplay(obj,'rho_water','ocean water density [kg/m^3]');
+			fielddisplay(obj,'freshrho_water','fresh water density [kg/m^3]');
 			fielddisplay(obj,'mu_water','water viscosity [N s/m^2]');
 			fielddisplay(obj,'heatcapacity','heat capacity [J/kg/K]');
@@ -93,4 +99,5 @@
 			WriteData(fid,'object',obj,'fieldname','rho_ice','format','Double');
 			WriteData(fid,'object',obj,'fieldname','rho_water','format','Double');
+			WriteData(fid,'object',obj,'fieldname','rho_freshwater','format','Double');
 			WriteData(fid,'object',obj,'fieldname','mu_water','format','Double');
 			WriteData(fid,'object',obj,'fieldname','heatcapacity','format','Double');
Index: /issm/trunk/src/m/enum/MaterialsRhoFreshwaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaterialsRhoFreshwaterEnum.m	(revision 12301)
+++ /issm/trunk/src/m/enum/MaterialsRhoFreshwaterEnum.m	(revision 12301)
@@ -0,0 +1,11 @@
+function macro=MaterialsRhoFreshwaterEnum()
+%MATERIALSRHOFRESHWATERENUM - Enum of MaterialsRhoFreshwater
+%
+%   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=MaterialsRhoFreshwaterEnum()
+
+macro=StringToEnum('MaterialsRhoFreshwater');
Index: /issm/trunk/src/m/enum/SurfaceforcingsMonthlytemperaturesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceforcingsMonthlytemperaturesEnum.m	(revision 12301)
+++ /issm/trunk/src/m/enum/SurfaceforcingsMonthlytemperaturesEnum.m	(revision 12301)
@@ -0,0 +1,11 @@
+function macro=SurfaceforcingsMonthlytemperaturesEnum()
+%SURFACEFORCINGSMONTHLYTEMPERATURESENUM - Enum of SurfaceforcingsMonthlytemperatures
+%
+%   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=SurfaceforcingsMonthlytemperaturesEnum()
+
+macro=StringToEnum('SurfaceforcingsMonthlytemperatures');
