66#include " ../classes/Inputs/TransientInput.h"
77
88#define FINITEELEMENT P1Enum
9+ // #define MELTPERTURBATION
910
1011/* Model processing*/
1112void MasstransportAnalysis::CreateConstraints (Constraints* constraints,IoModel* iomodel){/* {{{*/
@@ -668,7 +669,9 @@ ElementVector* MasstransportAnalysis::CreatePVectorCG(Element* element){/*{{{*/
668669
669670 Input* gmb_input = element->GetInput (BasalforcingsGroundediceMeltingRateEnum); _assert_ (gmb_input);
670671 Input* fmb_input = element->GetInput (BasalforcingsFloatingiceMeltingRateEnum); _assert_ (fmb_input);
671- // Input* fmb_pert_input = element->GetInput(BasalforcingsPerturbationMeltingRateEnum); _assert_(fmb_pert_input);
672+ #ifdef MELTPERTURBATION
673+ Input* fmb_pert_input = element->GetInput (BasalforcingsPerturbationMeltingRateEnum); _assert_ (fmb_pert_input);
674+ #endif
672675 Input* gllevelset_input = element->GetInput (MaskOceanLevelsetEnum); _assert_ (gllevelset_input);
673676 Input* ms_input = element->GetInput (SmbMassBalanceEnum); _assert_ (ms_input);
674677 Input* thickness_input = element->GetInput (ThicknessEnum); _assert_ (thickness_input);
@@ -700,7 +703,9 @@ ElementVector* MasstransportAnalysis::CreatePVectorCG(Element* element){/*{{{*/
700703 ms_input->GetInputValue (&ms,gauss);
701704 gmb_input->GetInputValue (&gmb,gauss);
702705 fmb_input->GetInputValue (&fmb,gauss);
703- // fmb_pert_input->GetInputValue(&fmb_pert,gauss);
706+ #ifdef MELTPERTURBATION
707+ fmb_pert_input->GetInputValue (&fmb_pert,gauss);
708+ #endif
704709 gllevelset_input->GetInputValue (&gllevelset,gauss);
705710 thickness_input->GetInputValue (&thickness,gauss);
706711
@@ -714,7 +719,10 @@ ElementVector* MasstransportAnalysis::CreatePVectorCG(Element* element){/*{{{*/
714719 }
715720 else if (melt_style==NoMeltOnPartiallyFloatingEnum){
716721 if (phi<0.00000001 ){
717- mb=fmb;// +fmb_pert;
722+ mb=fmb;
723+ #ifdef MELTPERTURBATION
724+ mb += +fmb_pert;
725+ #endif
718726 }
719727 else mb=gmb;
720728 }
0 commit comments