Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 27573)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 27574)
@@ -170,4 +170,5 @@
 		case FloatingMeltRateEnum:
 			iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.floatingice_melting_rate",BasalforcingsFloatingiceMeltingRateEnum);
+			iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.perturbation_melting_rate",BasalforcingsPerturbationMeltingRateEnum,0.);
 			if(isstochastic){
             iomodel->FetchDataToInput(inputs,elements,"md.stochasticforcing.default_id",StochasticForcingDefaultIdEnum);
@@ -622,5 +623,5 @@
 	IssmDouble  fraction1,fraction2;
 	IssmDouble  Jdet,dt;
-	IssmDouble  ms,mb,gmb,fmb,thickness;
+	IssmDouble  ms,mb,gmb,fmb,thickness,fmb_pert;
 	IssmDouble  vx,vy,vel,dvxdx,dvydy,xi,h,tau;
 	IssmDouble  dvx[2],dvy[2];
@@ -653,4 +654,5 @@
 	Input* gmb_input        = element->GetInput(BasalforcingsGroundediceMeltingRateEnum);  _assert_(gmb_input);
 	Input* fmb_input        = element->GetInput(BasalforcingsFloatingiceMeltingRateEnum);  _assert_(fmb_input);
+	Input* fmb_pert_input   = element->GetInput(BasalforcingsPerturbationMeltingRateEnum); _assert_(fmb_pert_input);
 	Input* gllevelset_input = element->GetInput(MaskOceanLevelsetEnum);              _assert_(gllevelset_input);
 	Input* ms_input         = element->GetInput(SmbMassBalanceEnum);                       _assert_(ms_input);
@@ -659,9 +661,4 @@
 	Input* vyaverage_input  = element->GetInput(VyAverageEnum);										_assert_(vyaverage_input);
 
-//	if(element->Id()==9){
-//		gmb_input->Echo();
-//		_error_("S");
-//	}
-
 	h=element->CharacteristicLength();
 
@@ -685,4 +682,5 @@
 		gmb_input->GetInputValue(&gmb,gauss);
 		fmb_input->GetInputValue(&fmb,gauss);
+		fmb_pert_input->GetInputValue(&fmb_pert,gauss);
 		gllevelset_input->GetInputValue(&gllevelset,gauss);
 		thickness_input->GetInputValue(&thickness,gauss);
@@ -697,5 +695,7 @@
 		}
 		else if(melt_style==NoMeltOnPartiallyFloatingEnum){
-			if (phi<0.00000001) mb=fmb;
+			if (phi<0.00000001){
+				mb=fmb+fmb_pert;
+			}
 			else mb=gmb;
 		}
