Changeset 27250


Ignore:
Timestamp:
08/31/22 05:54:38 (3 years ago)
Author:
vverjans
Message:

CHG Changing autoregression schemes towards ARMA schemes: work is ongoing

Location:
issm/trunk-jpl
Files:
6 added
25 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

    r27246 r27250  
    149149                        break;
    150150                case FrontalForcingsRignotEnum:
    151          /*Retrieve thermal forcing only in the case of non-autoregressive FrontalForcingsRignot*/
     151         /*Retrieve thermal forcing only in the case of non-arma FrontalForcingsRignot*/
    152152         iomodel->FetchDataToInput(inputs,elements,"md.frontalforcings.thermalforcing",FrontalForcingsThermalForcingEnum);
    153153         /* Do not break here, still retrieve basin_ID,subglacial_discharge, etc.*/
    154       case FrontalForcingsRignotAutoregressionEnum:
     154      case FrontalForcingsRignotarmaEnum:
    155155         iomodel->FetchDataToInput(inputs,elements,"md.frontalforcings.basin_id",FrontalForcingsBasinIdEnum);
    156156         iomodel->FetchDataToInput(inputs,elements,"md.frontalforcings.subglacial_discharge",FrontalForcingsSubglacialDischargeEnum);
     
    238238                case FrontalForcingsDefaultEnum:
    239239                        break;
    240                 case FrontalForcingsRignotAutoregressionEnum:
     240                case FrontalForcingsRignotarmaEnum:
    241241                        /*Retrieve autoregressive parameters*/
    242          parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.ar_order",FrontalForcingsAutoregressiveOrderEnum));
    243          parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.ar_initialtime",FrontalForcingsAutoregressionInitialTimeEnum));
    244          parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.ar_timestep",FrontalForcingsAutoregressionTimestepEnum));
     242         parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.ar_order",FrontalForcingsARMAarOrderEnum));
     243         parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.arma_initialtime",FrontalForcingsARMAInitialTimeEnum));
     244         parameters->AddObject(iomodel->CopyConstantObject("md.frontalforcings.arma_timestep",FrontalForcingsARMATimestepEnum));
    245245                        iomodel->FetchData(&transparam,&M,&N,"md.frontalforcings.const");
    246          parameters->AddObject(new DoubleVecParam(FrontalForcingsautoregressionconstEnum,transparam,N));
     246         parameters->AddObject(new DoubleVecParam(FrontalForcingsARMAconstEnum,transparam,N));
    247247         xDelete<IssmDouble>(transparam);
    248248         iomodel->FetchData(&transparam,&M,&N,"md.frontalforcings.trend");
    249          parameters->AddObject(new DoubleVecParam(FrontalForcingsautoregressiontrendEnum,transparam,N));
     249         parameters->AddObject(new DoubleVecParam(FrontalForcingsARMAtrendEnum,transparam,N));
    250250         xDelete<IssmDouble>(transparam);
    251251         iomodel->FetchData(&transparam,&M,&N,"md.frontalforcings.arlag_coefs");
    252          parameters->AddObject(new DoubleMatParam(FrontalForcingsarlagcoefsEnum,transparam,M,N));
     252         parameters->AddObject(new DoubleMatParam(FrontalForcingsARMAarlagcoefsEnum,transparam,M,N));
     253         xDelete<IssmDouble>(transparam);
     254         iomodel->FetchData(&transparam,&M,&N,"md.frontalforcings.malag_coefs");
     255         parameters->AddObject(new DoubleMatParam(FrontalForcingsARMAmalagcoefsEnum,transparam,M,N));
    253256         xDelete<IssmDouble>(transparam);
    254257                        /*Do not break here, generic FrontalForcingsRignot parameters still to be retrieved*/
  • issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp

    r27102 r27250  
    219219                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum);
    220220                        break;
    221                 case AutoregressionLinearFloatingMeltRateEnum:
     221                case LinearFloatingMeltRatearmaEnum:
    222222                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.basin_id",BasalforcingsLinearBasinIdEnum);
    223223                        if(isstochastic) iomodel->FetchDataToInput(inputs,elements,"md.stochasticforcing.default_id",StochasticForcingDefaultIdEnum);
  • issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp

    r27229 r27250  
    185185                        iomodel->FetchDataToInput(inputs,elements,"md.smb.b_min",SmbBMinEnum);
    186186                        break;
    187                 case SMBautoregressionEnum:
     187                case SMBarmaEnum:
    188188         iomodel->FetchDataToInput(inputs,elements,"md.smb.basin_id",SmbBasinsIdEnum);
    189189         break;
     
    388388                        /*Nothing to add to parameters*/
    389389                        break;
    390                 case SMBautoregressionEnum:
     390                case SMBarmaEnum:
    391391         /*Nothing to add to parameters*/
    392392         break;
     
    483483                        SmbGradientsElax(femmodel);
    484484                        break;
    485                 case SMBautoregressionEnum:
    486          if(VerboseSolution())_printf0_("    call smb autoregression module\n");
    487          Smbautoregressionx(femmodel);
     485                case SMBarmaEnum:
     486         if(VerboseSolution())_printf0_("    call smb arma module\n");
     487         Smbarmax(femmodel);
    488488         break;
    489489                case SMBhenningEnum:
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r27246 r27250  
    6161        return false;
    6262}/*}}}*/
     63void       Element::ArmaProcess(bool isstepforarma,int arorder,IssmDouble telapsed_arma,IssmDouble tstep_arma,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* arlagcoefs,bool isfieldstochastic,int enum_type){/*{{{*/
     64}/*}}}*/
    6365void       Element::Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble tstep_ar,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* lagcoefs,bool isfieldstochastic,int enum_type){/*{{{*/
    6466
     
    7375   /*Get field-specific enums*/
    7476   switch(enum_type){
    75       case(SMBautoregressionEnum):
     77      case(SMBarmaEnum):
    7678         arenum_type    = SmbValuesAutoregressionEnum;
    7779         basinenum_type = SmbBasinsIdEnum;
    78          noiseenum_type = SmbAutoregressionNoiseEnum;
     80         noiseenum_type = SmbARMANoiseEnum;
    7981         outenum_type   = SmbMassBalanceEnum;
    8082         break;
    81       case(FrontalForcingsRignotAutoregressionEnum):
     83      case(FrontalForcingsRignotarmaEnum):
    8284         arenum_type    = ThermalforcingValuesAutoregressionEnum;
    8385         basinenum_type = FrontalForcingsBasinIdEnum;
    84          noiseenum_type = ThermalforcingAutoregressionNoiseEnum;
     86         noiseenum_type = ThermalforcingARMANoiseEnum;
    8587         outenum_type   = FrontalForcingsThermalForcingEnum;
    8688         break;
    87                 case(BasalforcingsDeepwaterMeltingRateAutoregressionEnum):
     89                case(BasalforcingsDeepwaterMeltingRatearmaEnum):
    8890         arenum_type    = BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum;
    8991         basinenum_type = BasalforcingsLinearBasinIdEnum;
     
    100102   /*Get basin coefficients*/
    101103   this->GetInputValue(&basinid,basinenum_type);
    102    for(int ii=0;ii<arorder;ii++) lagcoefs_basin[ii] = lagcoefs[basinid*arorder+ii];
     104        for(int ii=0;ii<arorder;ii++) lagcoefs_basin[ii] = lagcoefs[basinid*arorder+ii];
    103105   termconstant_basin   = termconstant[basinid];
    104106   trend_basin   = trend[basinid];
     
    113115
    114116   /*Get noise and autoregressive terms*/
    115    if(isfieldstochastic){
     117        if(isfieldstochastic){
    116118      noiseterm_input = this->GetInput(noiseenum_type);
    117119      Gauss* gauss = this->NewGauss();
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r27246 r27250  
    6868                /*bool               AnyActive(void);*/
    6969                bool               AnyFSet(void);
     70      void               ArmaProcess(bool isstepforarma,int arorder,IssmDouble telapsed_arma,IssmDouble tstep_arma,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* arlagcoefs,bool isfieldstochastic,int enum_type);
    7071      void               Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble tstep_ar,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* lagcoefs,bool isfieldstochastic,int enum_type);
    7172                void               BasinLinearFloatingiceMeltingRate(IssmDouble* deepwaterel,IssmDouble* upperwatermelt,IssmDouble* upperwaterel,IssmDouble* perturbation);
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp

    r27246 r27250  
    4646                        BeckmannGoosseFloatingiceMeltingRatex(femmodel);
    4747                        break;
    48                 case AutoregressionLinearFloatingMeltRateEnum:
    49                         if(VerboseSolution())_printf0_("        call Autoregression Linear Floating melting rate module\n");
    50                         AutoregressionLinearFloatingiceMeltingRatex(femmodel);
     48                case LinearFloatingMeltRatearmaEnum:
     49                        if(VerboseSolution())_printf0_("        call Linear Floating melting rate ARMA module\n");
     50                        LinearFloatingiceMeltingRatearmax(femmodel);
    5151                        break;
    5252                default:
     
    210210}
    211211/*}}}*/
    212 void AutoregressionLinearFloatingiceMeltingRatex(FemModel* femmodel){/*{{{*/
     212void LinearFloatingiceMeltingRatearmax(FemModel* femmodel){/*{{{*/
    213213
    214214        /*Get time parameters*/
    215    IssmDouble time,dt,starttime,tstep_ar;
     215   IssmDouble time,dt,starttime,tstep_arma;
    216216   femmodel->parameters->FindParam(&time,TimeEnum);
    217217   femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    218218   femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
    219    femmodel->parameters->FindParam(&tstep_ar,BasalforcingsAutoregressionTimestepEnum);
    220 
    221    /*Determine if this is a time step for the AR model*/
    222    bool isstepforar = false;
     219   femmodel->parameters->FindParam(&tstep_arma,BasalforcingsARMATimestepEnum);
     220
     221   /*Determine if this is a time step for the ARMA model*/
     222   bool isstepforarma = false;
    223223
    224224   #ifndef _HAVE_AD_
    225    if((fmod(time,tstep_ar)<fmod((time-dt),tstep_ar)) || (time<=starttime+dt) || tstep_ar==dt) isstepforar = true;
     225   if((fmod(time,tstep_arma)<fmod((time-dt),tstep_arma)) || (time<=starttime+dt) || tstep_arma==dt) isstepforarma = true;
    226226   #else
    227227   _error_("not implemented yet");
     
    231231   bool isstochastic;
    232232   bool isdeepmeltingstochastic = false;
    233    int M,N,Nlags,arorder,numbasins,my_rank;
     233   int M,N,Narlags,arorder,numbasins,my_rank;
    234234   femmodel->parameters->FindParam(&numbasins,BasalforcingsLinearNumBasinsEnum);
    235         femmodel->parameters->FindParam(&arorder,BasalforcingsAutoregressiveOrderEnum);
    236    IssmDouble tinit_ar;
     235        femmodel->parameters->FindParam(&arorder,BasalforcingsARMAarOrderEnum);
     236   IssmDouble tinit_arma;
    237237   IssmDouble* termconstant   = NULL;
    238238   IssmDouble* trend          = NULL;
    239    IssmDouble* lagcoefs       = NULL;
     239   IssmDouble* arlagcoefs     = NULL;
    240240   IssmDouble* deepwaterel    = NULL;
    241241   IssmDouble* upperwaterel   = NULL;
     
    244244
    245245        /*Get autoregressive parameters*/
    246    femmodel->parameters->FindParam(&tinit_ar,BasalforcingsAutoregressionInitialTimeEnum);
    247    femmodel->parameters->FindParam(&termconstant,&M,BasalforcingsautoregressionconstEnum);               _assert_(M==numbasins);
    248    femmodel->parameters->FindParam(&trend,&M,BasalforcingsautoregressiontrendEnum);               _assert_(M==numbasins);
    249    femmodel->parameters->FindParam(&lagcoefs,&M,&Nlags,BasalforcingsarlagcoefsEnum);             _assert_(M==numbasins); _assert_(Nlags==arorder);
     246   femmodel->parameters->FindParam(&tinit_arma,BasalforcingsARMAInitialTimeEnum);
     247   femmodel->parameters->FindParam(&termconstant,&M,BasalforcingsARMAconstEnum);              _assert_(M==numbasins);
     248   femmodel->parameters->FindParam(&trend,&M,BasalforcingsARMAtrendEnum);                     _assert_(M==numbasins);
     249   femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlags,BasalforcingsARMAarlagcoefsEnum);  _assert_(M==numbasins); _assert_(Narlags==arorder);
    250250
    251251        /*Get basin-specific parameters*/
     
    262262      femmodel->parameters->FindParam(&stochasticfields,&N,StochasticForcingFieldsEnum); _assert_(N==numstochasticfields);
    263263      for(int i=0;i<numstochasticfields;i++){
    264          if(stochasticfields[i]==BasalforcingsDeepwaterMeltingRateAutoregressionEnum) isdeepmeltingstochastic = true;
     264         if(stochasticfields[i]==BasalforcingsDeepwaterMeltingRatearmaEnum) isdeepmeltingstochastic = true;
    265265      }
    266266      xDelete<int>(stochasticfields);
    267267   }
    268    /*Time elapsed with respect to AR model initial time*/
    269    IssmDouble telapsed_ar = time-tinit_ar;
     268   /*Time elapsed with respect to ARMA model initial time*/
     269   IssmDouble telapsed_arma = time-tinit_arma;
    270270
    271271        /*Loop over each element to compute FloatingiceMeltingRate at vertices*/
     
    273273      Element* element = xDynamicCast<Element*>(object);
    274274      /*Compute autoregression*/
    275       element->Autoregression(isstepforar,arorder,telapsed_ar,tstep_ar,termconstant,trend,lagcoefs,isdeepmeltingstochastic,BasalforcingsDeepwaterMeltingRateAutoregressionEnum);
     275      element->Autoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,isdeepmeltingstochastic,BasalforcingsDeepwaterMeltingRatearmaEnum);
    276276                element->BasinLinearFloatingiceMeltingRate(deepwaterel,upperwatermelt,upperwaterel,perturbation);
    277277        }
     
    280280        xDelete<IssmDouble>(termconstant);
    281281        xDelete<IssmDouble>(trend);
    282         xDelete<IssmDouble>(lagcoefs);
     282        xDelete<IssmDouble>(arlagcoefs);
    283283        xDelete<IssmDouble>(deepwaterel);
    284284        xDelete<IssmDouble>(upperwaterel);
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h

    r27246 r27250  
    1616void FloatingiceMeltingRateIsmip6x(FemModel* femmodel);
    1717void BeckmannGoosseFloatingiceMeltingRatex(FemModel* femmodel);
    18 void AutoregressionLinearFloatingiceMeltingRatex(FemModel* femmodel);
     18void LinearFloatingiceMeltingRatearmax(FemModel* femmodel);
    1919
    2020#endif  /* _FloatingiceMeltingRatex_H*/
  • issm/trunk-jpl/src/c/modules/FrontalForcingsx/FrontalForcingsx.cpp

    r27246 r27250  
    1818                case FrontalForcingsDefaultEnum:
    1919                        break;
    20                 case FrontalForcingsRignotAutoregressionEnum:
    21                         Thermalforcingautoregressionx(femmodel);
     20                case FrontalForcingsRignotarmaEnum:
     21                        Thermalforcingarmax(femmodel);
    2222                        /*Do not break here, call IcefrontAreax(),RignotMeltParameterizationx()*/
    2323                case FrontalForcingsRignotEnum:
     
    2929        }
    3030}/*}}}*/
    31 void Thermalforcingautoregressionx(FemModel* femmodel){/*{{{*/
     31void Thermalforcingarmax(FemModel* femmodel){/*{{{*/
    3232
    3333   /*Get time parameters*/
    34    IssmDouble time,dt,starttime,tstep_ar;
     34   IssmDouble time,dt,starttime,tstep_arma;
    3535   femmodel->parameters->FindParam(&time,TimeEnum);
    3636   femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    3737   femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
    38    femmodel->parameters->FindParam(&tstep_ar,FrontalForcingsAutoregressionTimestepEnum);
     38   femmodel->parameters->FindParam(&tstep_arma,FrontalForcingsARMATimestepEnum);
    3939
    40    /*Determine if this is a time step for the AR model*/
    41    bool isstepforar = false;
     40   /*Determine if this is a time step for the ARMA model*/
     41   bool isstepforarma = false;
    4242
    4343   #ifndef _HAVE_AD_
    44    if((fmod(time,tstep_ar)<fmod((time-dt),tstep_ar)) || (time<=starttime+dt) || tstep_ar==dt) isstepforar = true;
     44   if((fmod(time,tstep_arma)<fmod((time-dt),tstep_arma)) || (time<=starttime+dt) || tstep_arma==dt) isstepforarma = true;
    4545   #else
    4646   _error_("not implemented yet");
     
    5050        bool isstochastic;
    5151   bool istfstochastic = false;
    52         int M,N,Nlagcoefs,arorder,numbasins,my_rank;
     52        int M,N,Narlagcoefs,arorder,numbasins,my_rank;
    5353   femmodel->parameters->FindParam(&numbasins,FrontalForcingsNumberofBasinsEnum);
    54    femmodel->parameters->FindParam(&arorder,FrontalForcingsAutoregressiveOrderEnum);
    55    IssmDouble tinit_ar;
     54   femmodel->parameters->FindParam(&arorder,FrontalForcingsARMAarOrderEnum);
     55   IssmDouble tinit_arma;
    5656   IssmDouble* termconstant  = NULL;
    5757   IssmDouble* trend         = NULL;
    58    IssmDouble* lagcoefs      = NULL;
     58   IssmDouble* arlagcoefs    = NULL;
    5959
    60         femmodel->parameters->FindParam(&tinit_ar,FrontalForcingsAutoregressionInitialTimeEnum);
    61    femmodel->parameters->FindParam(&termconstant,&M,FrontalForcingsautoregressionconstEnum);    _assert_(M==numbasins);
    62    femmodel->parameters->FindParam(&trend,&M,FrontalForcingsautoregressiontrendEnum);    _assert_(M==numbasins);
    63    femmodel->parameters->FindParam(&lagcoefs,&M,&Nlagcoefs,FrontalForcingsarlagcoefsEnum);  _assert_(M==numbasins); _assert_(Nlagcoefs==arorder);
     60        femmodel->parameters->FindParam(&tinit_arma,FrontalForcingsARMAInitialTimeEnum);
     61   femmodel->parameters->FindParam(&termconstant,&M,FrontalForcingsARMAconstEnum);                  _assert_(M==numbasins);
     62   femmodel->parameters->FindParam(&trend,&M,FrontalForcingsARMAtrendEnum);                         _assert_(M==numbasins);
     63   femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlagcoefs,FrontalForcingsARMAarlagcoefsEnum);  _assert_(M==numbasins); _assert_(Narlagcoefs==arorder);
    6464
    6565        femmodel->parameters->FindParam(&isstochastic,StochasticForcingIsStochasticForcingEnum);
     
    7070                femmodel->parameters->FindParam(&stochasticfields,&N,StochasticForcingFieldsEnum); _assert_(N==numstochasticfields);
    7171                for(int i=0;i<numstochasticfields;i++){
    72                         if(stochasticfields[i]==FrontalForcingsRignotAutoregressionEnum) istfstochastic = true;
     72                        if(stochasticfields[i]==FrontalForcingsRignotarmaEnum) istfstochastic = true;
    7373                }
    7474                xDelete<int>(stochasticfields);
    7575        }
    76    /*Time elapsed with respect to AR model initial time*/
    77    IssmDouble telapsed_ar = time-tinit_ar;
     76   /*Time elapsed with respect to ARMA model initial time*/
     77   IssmDouble telapsed_arma = time-tinit_arma;
    7878
    7979   /*Loop over each element to compute Thermal Forcing at vertices*/
    8080   for(Object* &object:femmodel->elements->objects){
    8181      Element* element = xDynamicCast<Element*>(object);
    82       element->Autoregression(isstepforar,arorder,telapsed_ar,tstep_ar,termconstant,trend,lagcoefs,istfstochastic,FrontalForcingsRignotAutoregressionEnum);
     82      element->Autoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,istfstochastic,FrontalForcingsRignotarmaEnum);
    8383   }
    8484
     
    8686   xDelete<IssmDouble>(termconstant);
    8787   xDelete<IssmDouble>(trend);
    88    xDelete<IssmDouble>(lagcoefs);
     88   xDelete<IssmDouble>(arlagcoefs);
    8989}/*}}}*/
  • issm/trunk-jpl/src/c/modules/FrontalForcingsx/FrontalForcingsx.h

    r27246 r27250  
    77/* local prototypes: */
    88void FrontalForcingsx(FemModel* femmodel);
    9 void Thermalforcingautoregressionx(FemModel* femmodel);
     9void Thermalforcingarmax(FemModel* femmodel);
    1010
    1111#endif
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r27246 r27250  
    254254                case BeckmannGoosseFloatingMeltRateEnum:
    255255                        break;
    256                 case AutoregressionLinearFloatingMeltRateEnum:
     256                case LinearFloatingMeltRatearmaEnum:
    257257                        /*Add parameters that are not in standard nbvertices format*/
    258258         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsLinearNumBasinsEnum));
    259          parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_order",BasalforcingsAutoregressiveOrderEnum));
    260          parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_initialtime",BasalforcingsAutoregressionInitialTimeEnum));
    261          parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_timestep",BasalforcingsAutoregressionTimestepEnum));
     259         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_order",BasalforcingsARMAarOrderEnum));
     260         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ma_order",BasalforcingsARMAmaOrderEnum));
     261         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.arma_initialtime",BasalforcingsARMAInitialTimeEnum));
     262         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.arma_timestep",BasalforcingsARMATimestepEnum));
    262263                        iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.const");
    263          parameters->AddObject(new DoubleVecParam(BasalforcingsautoregressionconstEnum,transparam,N));
     264         parameters->AddObject(new DoubleVecParam(BasalforcingsARMAconstEnum,transparam,N));
    264265         xDelete<IssmDouble>(transparam);
    265266         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.trend");
    266          parameters->AddObject(new DoubleVecParam(BasalforcingsautoregressiontrendEnum,transparam,N));
     267         parameters->AddObject(new DoubleVecParam(BasalforcingsARMAtrendEnum,transparam,N));
    267268         xDelete<IssmDouble>(transparam);
    268269         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.arlag_coefs");
    269          parameters->AddObject(new DoubleMatParam(BasalforcingsarlagcoefsEnum,transparam,M,N));
     270         parameters->AddObject(new DoubleMatParam(BasalforcingsARMAarlagcoefsEnum,transparam,M,N));
     271         xDelete<IssmDouble>(transparam);
     272         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.malag_coefs");
     273         parameters->AddObject(new DoubleMatParam(BasalforcingsARMAmalagcoefsEnum,transparam,M,N));
    270274         xDelete<IssmDouble>(transparam);
    271275                        iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.upperwater_melting_rate");
     
    425429                        /*Nothing to add*/
    426430                        break;
    427                 case SMBautoregressionEnum:
     431                //case SMBarmaEnum:
     432                case SMBarmaEnum:
    428433         /*Add parameters that are not in standard nbvertices format*/
    429434         parameters->AddObject(iomodel->CopyConstantObject("md.smb.num_basins",SmbNumBasinsEnum));
    430          parameters->AddObject(iomodel->CopyConstantObject("md.smb.ar_order",SmbAutoregressiveOrderEnum));
    431          parameters->AddObject(iomodel->CopyConstantObject("md.smb.ar_initialtime",SmbAutoregressionInitialTimeEnum));
    432          parameters->AddObject(iomodel->CopyConstantObject("md.smb.ar_timestep",SmbAutoregressionTimestepEnum));
     435         parameters->AddObject(iomodel->CopyConstantObject("md.smb.ar_order",SmbARMAarOrderEnum));
     436         parameters->AddObject(iomodel->CopyConstantObject("md.smb.ma_order",SmbARMAmaOrderEnum));
     437         parameters->AddObject(iomodel->CopyConstantObject("md.smb.arma_initialtime",SmbARMAInitialTimeEnum));
     438         parameters->AddObject(iomodel->CopyConstantObject("md.smb.arma_timestep",SmbARMATimestepEnum));
    433439         parameters->AddObject(iomodel->CopyConstantObject("md.smb.num_bins",SmbNumElevationBinsEnum));
    434440         iomodel->FetchData(&transparam,&M,&N,"md.smb.const");
    435          parameters->AddObject(new DoubleVecParam(SmbautoregressionconstEnum,transparam,N));
     441         parameters->AddObject(new DoubleVecParam(SmbARMAconstEnum,transparam,N));
    436442         xDelete<IssmDouble>(transparam);
    437443         iomodel->FetchData(&transparam,&M,&N,"md.smb.trend");
    438          parameters->AddObject(new DoubleVecParam(SmbautoregressiontrendEnum,transparam,N));
     444         parameters->AddObject(new DoubleVecParam(SmbARMAtrendEnum,transparam,N));
    439445         xDelete<IssmDouble>(transparam);
    440446         iomodel->FetchData(&transparam,&M,&N,"md.smb.arlag_coefs");
    441          parameters->AddObject(new DoubleMatParam(SmbarlagcoefsEnum,transparam,M,N));
     447         parameters->AddObject(new DoubleMatParam(SmbARMAarlagcoefsEnum,transparam,M,N));
     448         xDelete<IssmDouble>(transparam);
     449         iomodel->FetchData(&transparam,&M,&N,"md.smb.malag_coefs");
     450         parameters->AddObject(new DoubleMatParam(SmbARMAmalagcoefsEnum,transparam,M,N));
    442451         xDelete<IssmDouble>(transparam);
    443452         iomodel->FetchData(&transparam,&M,&N,"md.smb.lapserates");
  • issm/trunk-jpl/src/c/modules/StochasticForcingx/StochasticForcingx.cpp

    r27165 r27250  
    7575                int dimensionid;
    7676
    77                 /*Deal with the autoregressive models*/
    78                 if(fields[j]==SMBautoregressionEnum || fields[j]==FrontalForcingsRignotAutoregressionEnum || fields[j]==BasalforcingsDeepwaterMeltingRateAutoregressionEnum){
     77                /*Deal with the ARMA models*/
     78                if(fields[j]==SMBarmaEnum || fields[j]==FrontalForcingsRignotarmaEnum || fields[j]==BasalforcingsDeepwaterMeltingRatearmaEnum){
    7979                        switch(fields[j]){
    80                                 case SMBautoregressionEnum:
     80                                case SMBarmaEnum:
    8181                                        dimenum_type   = SmbBasinsIdEnum;
    82                                         noiseenum_type = SmbAutoregressionNoiseEnum;
    83                                         break;
    84                                 case FrontalForcingsRignotAutoregressionEnum:
     82                                        noiseenum_type = SmbARMANoiseEnum;
     83                                        break;
     84                                case FrontalForcingsRignotarmaEnum:
    8585                                        dimenum_type   = FrontalForcingsBasinIdEnum;
    86                                         noiseenum_type = ThermalforcingAutoregressionNoiseEnum;
    87                                         break;
    88                                 case BasalforcingsDeepwaterMeltingRateAutoregressionEnum:
     86                                        noiseenum_type = ThermalforcingARMANoiseEnum;
     87                                        break;
     88                                case BasalforcingsDeepwaterMeltingRatearmaEnum:
    8989                                        dimenum_type   = BasalforcingsLinearBasinIdEnum;
    9090                                        noiseenum_type = BasalforcingsDeepwaterMeltingRateNoiseEnum;
     
    103103                else{
    104104                        switch(fields[j]){
    105                                 case SMBautoregressionEnum:
    106                                 case FrontalForcingsRignotAutoregressionEnum:
    107                                 case BasalforcingsDeepwaterMeltingRateAutoregressionEnum:
     105                                case SMBarmaEnum:
     106                                case FrontalForcingsRignotarmaEnum:
     107                                case BasalforcingsDeepwaterMeltingRatearmaEnum:
    108108                                        /*Already done above*/
    109109                                        break;
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp

    r27246 r27250  
    147147
    148148}/*}}}*/
    149 void Smbautoregressionx(FemModel* femmodel){/*{{{*/
     149void Smbarmax(FemModel* femmodel){/*{{{*/
    150150
    151151   /*Get time parameters*/
    152    IssmDouble time,dt,starttime,tstep_ar;
     152   IssmDouble time,dt,starttime,tstep_arma;
    153153   femmodel->parameters->FindParam(&time,TimeEnum);
    154154   femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    155155   femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
    156    femmodel->parameters->FindParam(&tstep_ar,SmbAutoregressionTimestepEnum);
    157 
    158    /*Determine if this is a time step for the AR model*/
    159    bool isstepforar = false;
     156   femmodel->parameters->FindParam(&tstep_arma,SmbARMATimestepEnum);
     157
     158   /*Determine if this is a time step for the ARMA model*/
     159   bool isstepforarma = false;
    160160
    161161   #ifndef _HAVE_AD_
    162    if((fmod(time,tstep_ar)<fmod((time-dt),tstep_ar)) || (time<=starttime+dt) || tstep_ar==dt) isstepforar = true;
     162   if((fmod(time,tstep_arma)<fmod((time-dt),tstep_arma)) || (time<=starttime+dt) || tstep_arma==dt) isstepforarma = true;
    163163   #else
    164164   _error_("not implemented yet");
     
    168168   bool isstochastic;
    169169   bool issmbstochastic = false;
    170    int M,N,Nlagcoefs,arorder,numbasins,numelevbins,my_rank;
     170   int M,N,Narlagcoefs,arorder,numbasins,numelevbins,my_rank;
    171171   femmodel->parameters->FindParam(&numbasins,SmbNumBasinsEnum);
    172    femmodel->parameters->FindParam(&arorder,SmbAutoregressiveOrderEnum);
     172   femmodel->parameters->FindParam(&arorder,SmbARMAarOrderEnum);
    173173   femmodel->parameters->FindParam(&numelevbins,SmbNumElevationBinsEnum);
    174    IssmDouble tinit_ar;
     174   IssmDouble tinit_arma;
    175175   IssmDouble* termconstant  = NULL;
    176176   IssmDouble* trend         = NULL;
    177    IssmDouble* lagcoefs      = NULL;
     177   IssmDouble* arlagcoefs    = NULL;
    178178   IssmDouble* lapserates    = NULL;
    179179   IssmDouble* elevbins      = NULL;
    180180   IssmDouble* refelevation  = NULL;
    181181
    182    femmodel->parameters->FindParam(&tinit_ar,SmbAutoregressionInitialTimeEnum);
    183    femmodel->parameters->FindParam(&termconstant,&M,SmbautoregressionconstEnum);  _assert_(M==numbasins);
    184    femmodel->parameters->FindParam(&trend,&M,SmbautoregressiontrendEnum);         _assert_(M==numbasins);
    185    femmodel->parameters->FindParam(&lagcoefs,&M,&Nlagcoefs,SmbarlagcoefsEnum);    _assert_(M==numbasins); _assert_(Nlagcoefs==arorder);
    186    femmodel->parameters->FindParam(&lapserates,&M,&N,SmbLapseRatesEnum);          _assert_(M==numbasins); _assert_(N==numelevbins);
    187    femmodel->parameters->FindParam(&elevbins,&M,&N,SmbElevationBinsEnum);         _assert_(M==numbasins); _assert_(N==numelevbins-1);
    188    femmodel->parameters->FindParam(&refelevation,&M,SmbRefElevationEnum);         _assert_(M==numbasins);
     182   femmodel->parameters->FindParam(&tinit_arma,SmbARMAInitialTimeEnum);
     183   femmodel->parameters->FindParam(&termconstant,&M,SmbARMAconstEnum);                   _assert_(M==numbasins);
     184   femmodel->parameters->FindParam(&trend,&M,SmbARMAtrendEnum);                          _assert_(M==numbasins);
     185   femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlagcoefs,SmbARMAarlagcoefsEnum);   _assert_(M==numbasins); _assert_(Narlagcoefs==arorder);
     186   femmodel->parameters->FindParam(&lapserates,&M,&N,SmbLapseRatesEnum);                 _assert_(M==numbasins); _assert_(N==numelevbins);
     187   femmodel->parameters->FindParam(&elevbins,&M,&N,SmbElevationBinsEnum);                _assert_(M==numbasins); _assert_(N==numelevbins-1);
     188   femmodel->parameters->FindParam(&refelevation,&M,SmbRefElevationEnum);                _assert_(M==numbasins);
    189189
    190190   femmodel->parameters->FindParam(&isstochastic,StochasticForcingIsStochasticForcingEnum);
     
    195195      femmodel->parameters->FindParam(&stochasticfields,&N,StochasticForcingFieldsEnum); _assert_(N==numstochasticfields);
    196196      for(int i=0;i<numstochasticfields;i++){
    197          if(stochasticfields[i]==SMBautoregressionEnum) issmbstochastic = true;
     197         if(stochasticfields[i]==SMBarmaEnum) issmbstochastic = true;
    198198      }
    199199      xDelete<int>(stochasticfields);
    200200   }
    201    /*Time elapsed with respect to AR model initial time*/
    202    IssmDouble telapsed_ar = time-tinit_ar;
     201   /*Time elapsed with respect to ARMA model initial time*/
     202   IssmDouble telapsed_arma = time-tinit_arma;
    203203
    204204   /*Loop over each element to compute SMB at vertices*/
    205205   for(Object* &object:femmodel->elements->objects){
    206206      Element* element = xDynamicCast<Element*>(object);
    207       /*Compute autoregression*/
    208                 element->Autoregression(isstepforar,arorder,telapsed_ar,tstep_ar,termconstant,trend,lagcoefs,issmbstochastic,SMBautoregressionEnum);
     207      /*Compute ARMA*/
     208                element->Autoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,issmbstochastic,SMBarmaEnum);
    209209                /*Compute lapse rate adjustment*/
    210210                element->LapseRateBasinSMB(numelevbins,lapserates,elevbins,refelevation);
     
    214214   xDelete<IssmDouble>(termconstant);
    215215   xDelete<IssmDouble>(trend);
    216    xDelete<IssmDouble>(lagcoefs);
     216   xDelete<IssmDouble>(arlagcoefs);
    217217   xDelete<IssmDouble>(lapserates);
    218218   xDelete<IssmDouble>(elevbins);
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h

    r27246 r27250  
    1313void SmbGradientsx(FemModel* femmodel);
    1414void SmbGradientsElax(FemModel* femmodel);
    15 void Smbautoregressionx(FemModel* femmodel);
     15void Smbarmax(FemModel* femmodel);
    1616void Delta18oParameterizationx(FemModel* femmodel);
    1717void MungsmtpParameterizationx(FemModel* femmodel);
  • issm/trunk-jpl/src/c/shared/Enum/Enum.vim

    r27246 r27250  
    6767syn keyword cConstant BalancethicknessStabilizationEnum
    6868syn keyword cConstant BarystaticContributionsEnum
    69 syn keyword cConstant BasalforcingsAutoregressionInitialTimeEnum
    70 syn keyword cConstant BasalforcingsAutoregressionTimestepEnum
    71 syn keyword cConstant BasalforcingsAutoregressiveOrderEnum
    72 syn keyword cConstant BasalforcingsautoregressionconstEnum
    73 syn keyword cConstant BasalforcingsautoregressiontrendEnum
     69syn keyword cConstant BasalforcingsARMAInitialTimeEnum
     70syn keyword cConstant BasalforcingsARMATimestepEnum
     71syn keyword cConstant BasalforcingsARMAarOrderEnum
     72syn keyword cConstant BasalforcingsARMAmaOrderEnum
     73syn keyword cConstant BasalforcingsARMAconstEnum
     74syn keyword cConstant BasalforcingsARMAtrendEnum
    7475syn keyword cConstant BasalforcingsBottomplumedepthEnum
    7576syn keyword cConstant BasalforcingsCrustthicknessEnum
     
    8990syn keyword cConstant BasalforcingsMantleconductivityEnum
    9091syn keyword cConstant BasalforcingsNusseltEnum
    91 syn keyword cConstant BasalforcingsarlagcoefsEnum
     92syn keyword cConstant BasalforcingsARMAarlagcoefsEnum
     93syn keyword cConstant BasalforcingsARMAmalagcoefsEnum
    9294syn keyword cConstant BasalforcingsPicoAverageOverturningEnum
    9395syn keyword cConstant BasalforcingsPicoAverageSalinityEnum
     
    196198syn keyword cConstant FrictionVoidRatioEnum
    197199syn keyword cConstant FrontalForcingsBasinIcefrontAreaEnum
    198 syn keyword cConstant FrontalForcingsAutoregressionInitialTimeEnum
    199 syn keyword cConstant FrontalForcingsAutoregressionTimestepEnum
    200 syn keyword cConstant FrontalForcingsAutoregressiveOrderEnum
    201 syn keyword cConstant FrontalForcingsautoregressionconstEnum
    202 syn keyword cConstant FrontalForcingsautoregressiontrendEnum
     200syn keyword cConstant FrontalForcingsARMAInitialTimeEnum
     201syn keyword cConstant FrontalForcingsARMATimestepEnum
     202syn keyword cConstant FrontalForcingsARMAarOrderEnum
     203syn keyword cConstant FrontalForcingsARMAmaOrderEnum
     204syn keyword cConstant FrontalForcingsARMAconstEnum
     205syn keyword cConstant FrontalForcingsARMAtrendEnum
    203206syn keyword cConstant FrontalForcingsNumberofBasinsEnum
    204207syn keyword cConstant FrontalForcingsParamEnum
    205 syn keyword cConstant FrontalForcingsarlagcoefsEnum
     208syn keyword cConstant FrontalForcingsARMAarlagcoefsEnum
     209syn keyword cConstant FrontalForcingsARMAmalagcoefsEnum
    206210syn keyword cConstant GrdModelEnum
    207211syn keyword cConstant GroundinglineFrictionInterpolationEnum
     
    474478syn keyword cConstant SmbAccurefEnum
    475479syn keyword cConstant SmbAdThreshEnum
    476 syn keyword cConstant SmbAutoregressionInitialTimeEnum
    477 syn keyword cConstant SmbAutoregressionTimestepEnum
    478 syn keyword cConstant SmbAutoregressiveOrderEnum
     480syn keyword cConstant SmbARMAInitialTimeEnum
     481syn keyword cConstant SmbARMATimestepEnum
     482syn keyword cConstant SmbARMAarOrderEnum
     483syn keyword cConstant SmbARMAmaOrderEnum
    479484syn keyword cConstant SmbAveragingEnum
    480 syn keyword cConstant SmbautoregressionconstEnum
    481 syn keyword cConstant SmbautoregressiontrendEnum
     485syn keyword cConstant SmbARMAconstEnum
     486syn keyword cConstant SmbARMAtrendEnum
    482487syn keyword cConstant SmbDesfacEnum
    483488syn keyword cConstant SmbDpermilEnum
     
    516521syn keyword cConstant SmbNumRequestedOutputsEnum
    517522syn keyword cConstant SmbPfacEnum
    518 syn keyword cConstant SmbarlagcoefsEnum
     523syn keyword cConstant SmbARMAarlagcoefsEnum
     524syn keyword cConstant SmbARMAmalagcoefsEnum
    519525syn keyword cConstant SmbRdlEnum
    520526syn keyword cConstant SmbRefElevationEnum
     
    631637syn keyword cConstant BalancethicknessThickeningRateEnum
    632638syn keyword cConstant BasalCrevasseEnum
    633 syn keyword cConstant BasalforcingsDeepwaterMeltingRateAutoregressionEnum
     639syn keyword cConstant BasalforcingsDeepwaterMeltingRatearmaEnum
    634640syn keyword cConstant BasalforcingsDeepwaterMeltingRateNoiseEnum
    635641syn keyword cConstant BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum
     
    954960syn keyword cConstant SmbAdiffiniEnum
    955961syn keyword cConstant SmbAiniEnum
    956 syn keyword cConstant SmbAutoregressionNoiseEnum
     962syn keyword cConstant SmbARMANoiseEnum
    957963syn keyword cConstant SmbBasinsIdEnum
    958964syn keyword cConstant SmbBMaxEnum
     
    10431049syn keyword cConstant SmbTzEnum
    10441050syn keyword cConstant SmbValuesAutoregressionEnum
     1051syn keyword cConstant SmbValuesMovingaverageEnum
    10451052syn keyword cConstant SmbVEnum
    10461053syn keyword cConstant SmbVmeanEnum
     
    10931100syn keyword cConstant TemperaturePicardEnum
    10941101syn keyword cConstant TemperatureSEMICEnum
    1095 syn keyword cConstant ThermalforcingAutoregressionNoiseEnum
     1102syn keyword cConstant ThermalforcingARMANoiseEnum
    10961103syn keyword cConstant ThermalforcingValuesAutoregressionEnum
    10971104syn keyword cConstant ThermalSpctemperatureEnum
     
    12491256syn keyword cConstant ArrheniusEnum
    12501257syn keyword cConstant AutodiffJacobianEnum
    1251 syn keyword cConstant AutoregressionLinearFloatingMeltRateEnum
    12521258syn keyword cConstant Balancethickness2AnalysisEnum
    12531259syn keyword cConstant Balancethickness2SolutionEnum
     
    13461352syn keyword cConstant FrontalForcingsDefaultEnum
    13471353syn keyword cConstant FrontalForcingsRignotEnum
    1348 syn keyword cConstant FrontalForcingsRignotAutoregressionEnum
     1354syn keyword cConstant FrontalForcingsRignotarmaEnum
    13491355syn keyword cConstant FsetEnum
    13501356syn keyword cConstant FullMeltOnPartiallyFloatingEnum
     
    14151421syn keyword cConstant LevelsetfunctionPicardEnum
    14161422syn keyword cConstant LinearFloatingMeltRateEnum
     1423syn keyword cConstant LinearFloatingMeltRatearmaEnum
    14171424syn keyword cConstant LliboutryDuvalEnum
    14181425syn keyword cConstant LoadsEnum
     
    15241531syn keyword cConstant SamplingSolutionEnum
    15251532syn keyword cConstant SIAApproximationEnum
    1526 syn keyword cConstant SMBautoregressionEnum
     1533syn keyword cConstant SMBarmaEnum
    15271534syn keyword cConstant SMBcomponentsEnum
    15281535syn keyword cConstant SMBd18opddEnum
     
    16471654syn keyword cType Cfsurfacesquare
    16481655syn keyword cType Channel
     1656syn keyword cType classes
    16491657syn keyword cType Constraint
    16501658syn keyword cType Constraints
     
    16531661syn keyword cType ControlInput
    16541662syn keyword cType Covertree
     1663syn keyword cType DatasetInput
    16551664syn keyword cType DataSetParam
    1656 syn keyword cType DatasetInput
    16571665syn keyword cType Definition
    16581666syn keyword cType DependentObject
     
    16671675syn keyword cType ElementInput
    16681676syn keyword cType ElementMatrix
     1677syn keyword cType Elements
    16691678syn keyword cType ElementVector
    1670 syn keyword cType Elements
    16711679syn keyword cType ExponentialVariogram
    16721680syn keyword cType ExternalResult
     
    16751683syn keyword cType Friction
    16761684syn keyword cType Gauss
     1685syn keyword cType GaussianVariogram
     1686syn keyword cType gaussobjects
    16771687syn keyword cType GaussPenta
    16781688syn keyword cType GaussSeg
    16791689syn keyword cType GaussTetra
    16801690syn keyword cType GaussTria
    1681 syn keyword cType GaussianVariogram
    16821691syn keyword cType GenericExternalResult
    16831692syn keyword cType GenericOption
     
    16961705syn keyword cType IssmDirectApplicInterface
    16971706syn keyword cType IssmParallelDirectApplicInterface
     1707syn keyword cType krigingobjects
    16981708syn keyword cType Load
    16991709syn keyword cType Loads
     
    17061716syn keyword cType Matice
    17071717syn keyword cType Matlitho
     1718syn keyword cType matrixobjects
    17081719syn keyword cType MatrixParam
    17091720syn keyword cType Misfit
     
    17181729syn keyword cType Observations
    17191730syn keyword cType Option
     1731syn keyword cType Options
    17201732syn keyword cType OptionUtilities
    1721 syn keyword cType Options
    17221733syn keyword cType Param
    17231734syn keyword cType Parameters
     
    17331744syn keyword cType Regionaloutput
    17341745syn keyword cType Results
     1746syn keyword cType Riftfront
    17351747syn keyword cType RiftStruct
    1736 syn keyword cType Riftfront
    17371748syn keyword cType SealevelGeometry
    17381749syn keyword cType Seg
    17391750syn keyword cType SegInput
     1751syn keyword cType Segment
    17401752syn keyword cType SegRef
    1741 syn keyword cType Segment
    17421753syn keyword cType SpcDynamic
    17431754syn keyword cType SpcStatic
     
    17581769syn keyword cType Vertex
    17591770syn keyword cType Vertices
    1760 syn keyword cType classes
    1761 syn keyword cType gaussobjects
    1762 syn keyword cType krigingobjects
    1763 syn keyword cType matrixobjects
    17641771syn keyword cType AdjointBalancethickness2Analysis
    17651772syn keyword cType AdjointBalancethicknessAnalysis
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r27246 r27250  
    6161        BalancethicknessStabilizationEnum,
    6262        BarystaticContributionsEnum,
    63         BasalforcingsAutoregressionInitialTimeEnum,
    64         BasalforcingsAutoregressionTimestepEnum,
    65         BasalforcingsAutoregressiveOrderEnum,
    66         BasalforcingsautoregressionconstEnum,
    67         BasalforcingsautoregressiontrendEnum,
     63        BasalforcingsARMAInitialTimeEnum,
     64        BasalforcingsARMATimestepEnum,
     65        BasalforcingsARMAarOrderEnum,
     66        BasalforcingsARMAmaOrderEnum,
     67        BasalforcingsARMAconstEnum,
     68        BasalforcingsARMAtrendEnum,
    6869        BasalforcingsBottomplumedepthEnum,
    6970        BasalforcingsCrustthicknessEnum,
     
    8384        BasalforcingsMantleconductivityEnum,
    8485        BasalforcingsNusseltEnum,
    85         BasalforcingsarlagcoefsEnum,
     86        BasalforcingsARMAarlagcoefsEnum,
     87        BasalforcingsARMAmalagcoefsEnum,
    8688        BasalforcingsPicoAverageOverturningEnum,
    8789        BasalforcingsPicoAverageSalinityEnum,
     
    190192        FrictionVoidRatioEnum,
    191193        FrontalForcingsBasinIcefrontAreaEnum,
    192         FrontalForcingsAutoregressionInitialTimeEnum,
    193    FrontalForcingsAutoregressionTimestepEnum,
    194    FrontalForcingsAutoregressiveOrderEnum,
    195         FrontalForcingsautoregressionconstEnum,
    196    FrontalForcingsautoregressiontrendEnum,
     194        FrontalForcingsARMAInitialTimeEnum,
     195   FrontalForcingsARMATimestepEnum,
     196   FrontalForcingsARMAarOrderEnum,
     197   FrontalForcingsARMAmaOrderEnum,
     198        FrontalForcingsARMAconstEnum,
     199   FrontalForcingsARMAtrendEnum,
    197200        FrontalForcingsNumberofBasinsEnum,
    198201        FrontalForcingsParamEnum,
    199    FrontalForcingsarlagcoefsEnum,
     202   FrontalForcingsARMAarlagcoefsEnum,
     203   FrontalForcingsARMAmalagcoefsEnum,
    200204        GrdModelEnum,
    201205        GroundinglineFrictionInterpolationEnum,
     
    468472        SmbAccurefEnum,
    469473        SmbAdThreshEnum,
    470         SmbAutoregressionInitialTimeEnum,
    471         SmbAutoregressionTimestepEnum,
    472    SmbAutoregressiveOrderEnum,
     474        SmbARMAInitialTimeEnum,
     475        SmbARMATimestepEnum,
     476   SmbARMAarOrderEnum,
     477   SmbARMAmaOrderEnum,
    473478        SmbAveragingEnum,
    474         SmbautoregressionconstEnum,
    475    SmbautoregressiontrendEnum,
     479        SmbARMAconstEnum,
     480   SmbARMAtrendEnum,
    476481        SmbDesfacEnum,
    477482        SmbDpermilEnum,
     
    510515        SmbNumRequestedOutputsEnum,
    511516        SmbPfacEnum,
    512         SmbarlagcoefsEnum,
     517        SmbARMAarlagcoefsEnum,
     518        SmbARMAmalagcoefsEnum,
    513519        SmbRdlEnum,
    514520        SmbRefElevationEnum,
     
    627633        BalancethicknessThickeningRateEnum,
    628634        BasalCrevasseEnum,
    629         BasalforcingsDeepwaterMeltingRateAutoregressionEnum,
     635        BasalforcingsDeepwaterMeltingRatearmaEnum,
    630636        BasalforcingsDeepwaterMeltingRateNoiseEnum,
    631637        BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum,
     
    950956        SmbAdiffiniEnum,
    951957        SmbAiniEnum,
    952    SmbAutoregressionNoiseEnum,
     958   SmbARMANoiseEnum,
    953959        SmbBasinsIdEnum,
    954960        SmbBMaxEnum,
     
    10401046        SmbTzEnum,
    10411047        SmbValuesAutoregressionEnum,
     1048        SmbValuesMovingaverageEnum,
    10421049        SmbVEnum,
    10431050        SmbVmeanEnum,
     
    10901097        TemperaturePicardEnum,
    10911098        TemperatureSEMICEnum,
    1092    ThermalforcingAutoregressionNoiseEnum,
     1099   ThermalforcingARMANoiseEnum,
    10931100        ThermalforcingValuesAutoregressionEnum,
    10941101        ThermalSpctemperatureEnum,
     
    12481255        ArrheniusEnum,
    12491256        AutodiffJacobianEnum,
    1250         AutoregressionLinearFloatingMeltRateEnum,
    12511257        Balancethickness2AnalysisEnum,
    12521258        Balancethickness2SolutionEnum,
     
    13451351        FrontalForcingsDefaultEnum,
    13461352        FrontalForcingsRignotEnum,
    1347         FrontalForcingsRignotAutoregressionEnum,
     1353        FrontalForcingsRignotarmaEnum,
    13481354        FsetEnum,
    13491355        FullMeltOnPartiallyFloatingEnum,
     
    14141420        LevelsetfunctionPicardEnum,
    14151421        LinearFloatingMeltRateEnum,
     1422        LinearFloatingMeltRatearmaEnum,
    14161423        LliboutryDuvalEnum,
    14171424        LoadsEnum,
     
    15231530        SamplingSolutionEnum,
    15241531        SIAApproximationEnum,
    1525         SMBautoregressionEnum,
     1532        SMBarmaEnum,
    15261533        SMBcomponentsEnum,
    15271534        SMBd18opddEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r27246 r27250  
    6969                case BalancethicknessStabilizationEnum : return "BalancethicknessStabilization";
    7070                case BarystaticContributionsEnum : return "BarystaticContributions";
    71                 case BasalforcingsAutoregressionInitialTimeEnum : return "BasalforcingsAutoregressionInitialTime";
    72                 case BasalforcingsAutoregressionTimestepEnum : return "BasalforcingsAutoregressionTimestep";
    73                 case BasalforcingsAutoregressiveOrderEnum : return "BasalforcingsAutoregressiveOrder";
    74                 case BasalforcingsautoregressionconstEnum : return "Basalforcingsautoregressionconst";
    75                 case BasalforcingsautoregressiontrendEnum : return "Basalforcingsautoregressiontrend";
     71                case BasalforcingsARMAInitialTimeEnum : return "BasalforcingsARMAInitialTime";
     72                case BasalforcingsARMATimestepEnum : return "BasalforcingsARMATimestep";
     73                case BasalforcingsARMAarOrderEnum : return "BasalforcingsARMAarOrder";
     74                case BasalforcingsARMAmaOrderEnum : return "BasalforcingsARMAmaOrder";
     75                case BasalforcingsARMAconstEnum : return "BasalforcingsARMAconst";
     76                case BasalforcingsARMAtrendEnum : return "BasalforcingsARMAtrend";
    7677                case BasalforcingsBottomplumedepthEnum : return "BasalforcingsBottomplumedepth";
    7778                case BasalforcingsCrustthicknessEnum : return "BasalforcingsCrustthickness";
     
    9192                case BasalforcingsMantleconductivityEnum : return "BasalforcingsMantleconductivity";
    9293                case BasalforcingsNusseltEnum : return "BasalforcingsNusselt";
    93                 case BasalforcingsarlagcoefsEnum : return "Basalforcingsarlagcoefs";
     94                case BasalforcingsARMAarlagcoefsEnum : return "BasalforcingsARMAarlagcoefs";
     95                case BasalforcingsARMAmalagcoefsEnum : return "BasalforcingsARMAmalagcoefs";
    9496                case BasalforcingsPicoAverageOverturningEnum : return "BasalforcingsPicoAverageOverturning";
    9597                case BasalforcingsPicoAverageSalinityEnum : return "BasalforcingsPicoAverageSalinity";
     
    198200                case FrictionVoidRatioEnum : return "FrictionVoidRatio";
    199201                case FrontalForcingsBasinIcefrontAreaEnum : return "FrontalForcingsBasinIcefrontArea";
    200                 case FrontalForcingsAutoregressionInitialTimeEnum : return "FrontalForcingsAutoregressionInitialTime";
    201                 case FrontalForcingsAutoregressionTimestepEnum : return "FrontalForcingsAutoregressionTimestep";
    202                 case FrontalForcingsAutoregressiveOrderEnum : return "FrontalForcingsAutoregressiveOrder";
    203                 case FrontalForcingsautoregressionconstEnum : return "FrontalForcingsautoregressionconst";
    204                 case FrontalForcingsautoregressiontrendEnum : return "FrontalForcingsautoregressiontrend";
     202                case FrontalForcingsARMAInitialTimeEnum : return "FrontalForcingsARMAInitialTime";
     203                case FrontalForcingsARMATimestepEnum : return "FrontalForcingsARMATimestep";
     204                case FrontalForcingsARMAarOrderEnum : return "FrontalForcingsARMAarOrder";
     205                case FrontalForcingsARMAmaOrderEnum : return "FrontalForcingsARMAmaOrder";
     206                case FrontalForcingsARMAconstEnum : return "FrontalForcingsARMAconst";
     207                case FrontalForcingsARMAtrendEnum : return "FrontalForcingsARMAtrend";
    205208                case FrontalForcingsNumberofBasinsEnum : return "FrontalForcingsNumberofBasins";
    206209                case FrontalForcingsParamEnum : return "FrontalForcingsParam";
    207                 case FrontalForcingsarlagcoefsEnum : return "FrontalForcingsarlagcoefs";
     210                case FrontalForcingsARMAarlagcoefsEnum : return "FrontalForcingsARMAarlagcoefs";
     211                case FrontalForcingsARMAmalagcoefsEnum : return "FrontalForcingsARMAmalagcoefs";
    208212                case GrdModelEnum : return "GrdModel";
    209213                case GroundinglineFrictionInterpolationEnum : return "GroundinglineFrictionInterpolation";
     
    476480                case SmbAccurefEnum : return "SmbAccuref";
    477481                case SmbAdThreshEnum : return "SmbAdThresh";
    478                 case SmbAutoregressionInitialTimeEnum : return "SmbAutoregressionInitialTime";
    479                 case SmbAutoregressionTimestepEnum : return "SmbAutoregressionTimestep";
    480                 case SmbAutoregressiveOrderEnum : return "SmbAutoregressiveOrder";
     482                case SmbARMAInitialTimeEnum : return "SmbARMAInitialTime";
     483                case SmbARMATimestepEnum : return "SmbARMATimestep";
     484                case SmbARMAarOrderEnum : return "SmbARMAarOrder";
     485                case SmbARMAmaOrderEnum : return "SmbARMAmaOrder";
    481486                case SmbAveragingEnum : return "SmbAveraging";
    482                 case SmbautoregressionconstEnum : return "Smbautoregressionconst";
    483                 case SmbautoregressiontrendEnum : return "Smbautoregressiontrend";
     487                case SmbARMAconstEnum : return "SmbARMAconst";
     488                case SmbARMAtrendEnum : return "SmbARMAtrend";
    484489                case SmbDesfacEnum : return "SmbDesfac";
    485490                case SmbDpermilEnum : return "SmbDpermil";
     
    518523                case SmbNumRequestedOutputsEnum : return "SmbNumRequestedOutputs";
    519524                case SmbPfacEnum : return "SmbPfac";
    520                 case SmbarlagcoefsEnum : return "Smbarlagcoefs";
     525                case SmbARMAarlagcoefsEnum : return "SmbARMAarlagcoefs";
     526                case SmbARMAmalagcoefsEnum : return "SmbARMAmalagcoefs";
    521527                case SmbRdlEnum : return "SmbRdl";
    522528                case SmbRefElevationEnum : return "SmbRefElevation";
     
    633639                case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate";
    634640                case BasalCrevasseEnum : return "BasalCrevasse";
    635                 case BasalforcingsDeepwaterMeltingRateAutoregressionEnum : return "BasalforcingsDeepwaterMeltingRateAutoregression";
     641                case BasalforcingsDeepwaterMeltingRatearmaEnum : return "BasalforcingsDeepwaterMeltingRatearma";
    636642                case BasalforcingsDeepwaterMeltingRateNoiseEnum : return "BasalforcingsDeepwaterMeltingRateNoise";
    637643                case BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum : return "BasalforcingsDeepwaterMeltingRateValuesAutoregression";
     
    956962                case SmbAdiffiniEnum : return "SmbAdiffini";
    957963                case SmbAiniEnum : return "SmbAini";
    958                 case SmbAutoregressionNoiseEnum : return "SmbAutoregressionNoise";
     964                case SmbARMANoiseEnum : return "SmbARMANoise";
    959965                case SmbBasinsIdEnum : return "SmbBasinsId";
    960966                case SmbBMaxEnum : return "SmbBMax";
     
    10451051                case SmbTzEnum : return "SmbTz";
    10461052                case SmbValuesAutoregressionEnum : return "SmbValuesAutoregression";
     1053                case SmbValuesMovingaverageEnum : return "SmbValuesMovingaverage";
    10471054                case SmbVEnum : return "SmbV";
    10481055                case SmbVmeanEnum : return "SmbVmean";
     
    10951102                case TemperaturePicardEnum : return "TemperaturePicard";
    10961103                case TemperatureSEMICEnum : return "TemperatureSEMIC";
    1097                 case ThermalforcingAutoregressionNoiseEnum : return "ThermalforcingAutoregressionNoise";
     1104                case ThermalforcingARMANoiseEnum : return "ThermalforcingARMANoise";
    10981105                case ThermalforcingValuesAutoregressionEnum : return "ThermalforcingValuesAutoregression";
    10991106                case ThermalSpctemperatureEnum : return "ThermalSpctemperature";
     
    12511258                case ArrheniusEnum : return "Arrhenius";
    12521259                case AutodiffJacobianEnum : return "AutodiffJacobian";
    1253                 case AutoregressionLinearFloatingMeltRateEnum : return "AutoregressionLinearFloatingMeltRate";
    12541260                case Balancethickness2AnalysisEnum : return "Balancethickness2Analysis";
    12551261                case Balancethickness2SolutionEnum : return "Balancethickness2Solution";
     
    13481354                case FrontalForcingsDefaultEnum : return "FrontalForcingsDefault";
    13491355                case FrontalForcingsRignotEnum : return "FrontalForcingsRignot";
    1350                 case FrontalForcingsRignotAutoregressionEnum : return "FrontalForcingsRignotAutoregression";
     1356                case FrontalForcingsRignotarmaEnum : return "FrontalForcingsRignotarma";
    13511357                case FsetEnum : return "Fset";
    13521358                case FullMeltOnPartiallyFloatingEnum : return "FullMeltOnPartiallyFloating";
     
    14171423                case LevelsetfunctionPicardEnum : return "LevelsetfunctionPicard";
    14181424                case LinearFloatingMeltRateEnum : return "LinearFloatingMeltRate";
     1425                case LinearFloatingMeltRatearmaEnum : return "LinearFloatingMeltRatearma";
    14191426                case LliboutryDuvalEnum : return "LliboutryDuval";
    14201427                case LoadsEnum : return "Loads";
     
    15261533                case SamplingSolutionEnum : return "SamplingSolution";
    15271534                case SIAApproximationEnum : return "SIAApproximation";
    1528                 case SMBautoregressionEnum : return "SMBautoregression";
     1535                case SMBarmaEnum : return "SMBarma";
    15291536                case SMBcomponentsEnum : return "SMBcomponents";
    15301537                case SMBd18opddEnum : return "SMBd18opdd";
  • issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim

    r27246 r27250  
    6060syn keyword juliaConstC BalancethicknessStabilizationEnum
    6161syn keyword juliaConstC BarystaticContributionsEnum
    62 syn keyword juliaConstC BasalforcingsAutoregressionInitialTimeEnum
    63 syn keyword juliaConstC BasalforcingsAutoregressionTimestepEnum
    64 syn keyword juliaConstC BasalforcingsAutoregressiveOrderEnum
    65 syn keyword juliaConstC BasalforcingsautoregressionconstEnum
    66 syn keyword juliaConstC BasalforcingsautoregressiontrendEnum
     62syn keyword juliaConstC BasalforcingsARMAInitialTimeEnum
     63syn keyword juliaConstC BasalforcingsARMATimestepEnum
     64syn keyword juliaConstC BasalforcingsARMAarOrderEnum
     65syn keyword juliaConstC BasalforcingsARMAmaOrderEnum
     66syn keyword juliaConstC BasalforcingsARMAconstEnum
     67syn keyword juliaConstC BasalforcingsARMAtrendEnum
    6768syn keyword juliaConstC BasalforcingsBottomplumedepthEnum
    6869syn keyword juliaConstC BasalforcingsCrustthicknessEnum
     
    8283syn keyword juliaConstC BasalforcingsMantleconductivityEnum
    8384syn keyword juliaConstC BasalforcingsNusseltEnum
    84 syn keyword juliaConstC BasalforcingsarlagcoefsEnum
     85syn keyword juliaConstC BasalforcingsARMAarlagcoefsEnum
     86syn keyword juliaConstC BasalforcingsARMAmalagcoefsEnum
    8587syn keyword juliaConstC BasalforcingsPicoAverageOverturningEnum
    8688syn keyword juliaConstC BasalforcingsPicoAverageSalinityEnum
     
    189191syn keyword juliaConstC FrictionVoidRatioEnum
    190192syn keyword juliaConstC FrontalForcingsBasinIcefrontAreaEnum
    191 syn keyword juliaConstC FrontalForcingsAutoregressionInitialTimeEnum
    192 syn keyword juliaConstC FrontalForcingsAutoregressionTimestepEnum
    193 syn keyword juliaConstC FrontalForcingsAutoregressiveOrderEnum
    194 syn keyword juliaConstC FrontalForcingsautoregressionconstEnum
    195 syn keyword juliaConstC FrontalForcingsautoregressiontrendEnum
     193syn keyword juliaConstC FrontalForcingsARMAInitialTimeEnum
     194syn keyword juliaConstC FrontalForcingsARMATimestepEnum
     195syn keyword juliaConstC FrontalForcingsARMAarOrderEnum
     196syn keyword juliaConstC FrontalForcingsARMAmaOrderEnum
     197syn keyword juliaConstC FrontalForcingsARMAconstEnum
     198syn keyword juliaConstC FrontalForcingsARMAtrendEnum
    196199syn keyword juliaConstC FrontalForcingsNumberofBasinsEnum
    197200syn keyword juliaConstC FrontalForcingsParamEnum
    198 syn keyword juliaConstC FrontalForcingsarlagcoefsEnum
     201syn keyword juliaConstC FrontalForcingsARMAarlagcoefsEnum
     202syn keyword juliaConstC FrontalForcingsARMAmalagcoefsEnum
    199203syn keyword juliaConstC GrdModelEnum
    200204syn keyword juliaConstC GroundinglineFrictionInterpolationEnum
     
    467471syn keyword juliaConstC SmbAccurefEnum
    468472syn keyword juliaConstC SmbAdThreshEnum
    469 syn keyword juliaConstC SmbAutoregressionInitialTimeEnum
    470 syn keyword juliaConstC SmbAutoregressionTimestepEnum
    471 syn keyword juliaConstC SmbAutoregressiveOrderEnum
     473syn keyword juliaConstC SmbARMAInitialTimeEnum
     474syn keyword juliaConstC SmbARMATimestepEnum
     475syn keyword juliaConstC SmbARMAarOrderEnum
     476syn keyword juliaConstC SmbARMAmaOrderEnum
    472477syn keyword juliaConstC SmbAveragingEnum
    473 syn keyword juliaConstC SmbautoregressionconstEnum
    474 syn keyword juliaConstC SmbautoregressiontrendEnum
     478syn keyword juliaConstC SmbARMAconstEnum
     479syn keyword juliaConstC SmbARMAtrendEnum
    475480syn keyword juliaConstC SmbDesfacEnum
    476481syn keyword juliaConstC SmbDpermilEnum
     
    509514syn keyword juliaConstC SmbNumRequestedOutputsEnum
    510515syn keyword juliaConstC SmbPfacEnum
    511 syn keyword juliaConstC SmbarlagcoefsEnum
     516syn keyword juliaConstC SmbARMAarlagcoefsEnum
     517syn keyword juliaConstC SmbARMAmalagcoefsEnum
    512518syn keyword juliaConstC SmbRdlEnum
    513519syn keyword juliaConstC SmbRefElevationEnum
     
    624630syn keyword juliaConstC BalancethicknessThickeningRateEnum
    625631syn keyword juliaConstC BasalCrevasseEnum
    626 syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateAutoregressionEnum
     632syn keyword juliaConstC BasalforcingsDeepwaterMeltingRatearmaEnum
    627633syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateNoiseEnum
    628634syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum
     
    864870syn keyword juliaConstC SamplingBetaEnum
    865871syn keyword juliaConstC SamplingKappaEnum
    866 syn keyword juliaConstC SamplingarlagcoefsEnum
     872syn keyword juliaConstC SamplingPhiEnum
    867873syn keyword juliaConstC SamplingTauEnum
    868874syn keyword juliaConstC SealevelEnum
     
    947953syn keyword juliaConstC SmbAdiffiniEnum
    948954syn keyword juliaConstC SmbAiniEnum
    949 syn keyword juliaConstC SmbAutoregressionNoiseEnum
     955syn keyword juliaConstC SmbARMANoiseEnum
    950956syn keyword juliaConstC SmbBasinsIdEnum
    951957syn keyword juliaConstC SmbBMaxEnum
     
    10361042syn keyword juliaConstC SmbTzEnum
    10371043syn keyword juliaConstC SmbValuesAutoregressionEnum
     1044syn keyword juliaConstC SmbValuesMovingaverageEnum
    10381045syn keyword juliaConstC SmbVEnum
    10391046syn keyword juliaConstC SmbVmeanEnum
     
    10861093syn keyword juliaConstC TemperaturePicardEnum
    10871094syn keyword juliaConstC TemperatureSEMICEnum
    1088 syn keyword juliaConstC ThermalforcingAutoregressionNoiseEnum
     1095syn keyword juliaConstC ThermalforcingARMANoiseEnum
    10891096syn keyword juliaConstC ThermalforcingValuesAutoregressionEnum
    10901097syn keyword juliaConstC ThermalSpctemperatureEnum
     
    12421249syn keyword juliaConstC ArrheniusEnum
    12431250syn keyword juliaConstC AutodiffJacobianEnum
    1244 syn keyword juliaConstC AutoregressionLinearFloatingMeltRateEnum
    12451251syn keyword juliaConstC Balancethickness2AnalysisEnum
    12461252syn keyword juliaConstC Balancethickness2SolutionEnum
     
    13391345syn keyword juliaConstC FrontalForcingsDefaultEnum
    13401346syn keyword juliaConstC FrontalForcingsRignotEnum
    1341 syn keyword juliaConstC FrontalForcingsRignotAutoregressionEnum
     1347syn keyword juliaConstC FrontalForcingsRignotarmaEnum
    13421348syn keyword juliaConstC FsetEnum
    13431349syn keyword juliaConstC FullMeltOnPartiallyFloatingEnum
     
    14081414syn keyword juliaConstC LevelsetfunctionPicardEnum
    14091415syn keyword juliaConstC LinearFloatingMeltRateEnum
     1416syn keyword juliaConstC LinearFloatingMeltRatearmaEnum
    14101417syn keyword juliaConstC LliboutryDuvalEnum
    14111418syn keyword juliaConstC LoadsEnum
     
    15171524syn keyword juliaConstC SamplingSolutionEnum
    15181525syn keyword juliaConstC SIAApproximationEnum
    1519 syn keyword juliaConstC SMBautoregressionEnum
     1526syn keyword juliaConstC SMBarmaEnum
    15201527syn keyword juliaConstC SMBcomponentsEnum
    15211528syn keyword juliaConstC SMBd18opddEnum
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r27246 r27250  
    6969              else if (strcmp(name,"BalancethicknessStabilization")==0) return BalancethicknessStabilizationEnum;
    7070              else if (strcmp(name,"BarystaticContributions")==0) return BarystaticContributionsEnum;
    71               else if (strcmp(name,"BasalforcingsAutoregressionInitialTime")==0) return BasalforcingsAutoregressionInitialTimeEnum;
    72               else if (strcmp(name,"BasalforcingsAutoregressionTimestep")==0) return BasalforcingsAutoregressionTimestepEnum;
    73               else if (strcmp(name,"BasalforcingsAutoregressiveOrder")==0) return BasalforcingsAutoregressiveOrderEnum;
    74               else if (strcmp(name,"Basalforcingsautoregressionconst")==0) return BasalforcingsautoregressionconstEnum;
    75               else if (strcmp(name,"Basalforcingsautoregressiontrend")==0) return BasalforcingsautoregressiontrendEnum;
     71              else if (strcmp(name,"BasalforcingsARMAInitialTime")==0) return BasalforcingsARMAInitialTimeEnum;
     72              else if (strcmp(name,"BasalforcingsARMATimestep")==0) return BasalforcingsARMATimestepEnum;
     73              else if (strcmp(name,"BasalforcingsARMAarOrder")==0) return BasalforcingsARMAarOrderEnum;
     74              else if (strcmp(name,"BasalforcingsARMAmaOrder")==0) return BasalforcingsARMAmaOrderEnum;
     75              else if (strcmp(name,"BasalforcingsARMAconst")==0) return BasalforcingsARMAconstEnum;
     76              else if (strcmp(name,"BasalforcingsARMAtrend")==0) return BasalforcingsARMAtrendEnum;
    7677              else if (strcmp(name,"BasalforcingsBottomplumedepth")==0) return BasalforcingsBottomplumedepthEnum;
    7778              else if (strcmp(name,"BasalforcingsCrustthickness")==0) return BasalforcingsCrustthicknessEnum;
     
    9192              else if (strcmp(name,"BasalforcingsMantleconductivity")==0) return BasalforcingsMantleconductivityEnum;
    9293              else if (strcmp(name,"BasalforcingsNusselt")==0) return BasalforcingsNusseltEnum;
    93               else if (strcmp(name,"Basalforcingsarlagcoefs")==0) return BasalforcingsarlagcoefsEnum;
     94              else if (strcmp(name,"BasalforcingsARMAarlagcoefs")==0) return BasalforcingsARMAarlagcoefsEnum;
     95              else if (strcmp(name,"BasalforcingsARMAmalagcoefs")==0) return BasalforcingsARMAmalagcoefsEnum;
    9496              else if (strcmp(name,"BasalforcingsPicoAverageOverturning")==0) return BasalforcingsPicoAverageOverturningEnum;
    9597              else if (strcmp(name,"BasalforcingsPicoAverageSalinity")==0) return BasalforcingsPicoAverageSalinityEnum;
     
    135137              else if (strcmp(name,"ControlInputInterpolation")==0) return ControlInputInterpolationEnum;
    136138              else if (strcmp(name,"CumBslc")==0) return CumBslcEnum;
    137               else if (strcmp(name,"CumBslcIce")==0) return CumBslcIceEnum;
    138               else if (strcmp(name,"CumBslcHydro")==0) return CumBslcHydroEnum;
    139139         else stage=2;
    140140   }
    141141   if(stage==2){
    142               if (strcmp(name,"CumBslcOcean")==0) return CumBslcOceanEnum;
     142              if (strcmp(name,"CumBslcIce")==0) return CumBslcIceEnum;
     143              else if (strcmp(name,"CumBslcHydro")==0) return CumBslcHydroEnum;
     144              else if (strcmp(name,"CumBslcOcean")==0) return CumBslcOceanEnum;
    143145              else if (strcmp(name,"CumBslcIcePartition")==0) return CumBslcIcePartitionEnum;
    144146              else if (strcmp(name,"CumBslcHydroPartition")==0) return CumBslcHydroPartitionEnum;
     
    201203              else if (strcmp(name,"FrictionVoidRatio")==0) return FrictionVoidRatioEnum;
    202204              else if (strcmp(name,"FrontalForcingsBasinIcefrontArea")==0) return FrontalForcingsBasinIcefrontAreaEnum;
    203               else if (strcmp(name,"FrontalForcingsAutoregressionInitialTime")==0) return FrontalForcingsAutoregressionInitialTimeEnum;
    204               else if (strcmp(name,"FrontalForcingsAutoregressionTimestep")==0) return FrontalForcingsAutoregressionTimestepEnum;
    205               else if (strcmp(name,"FrontalForcingsAutoregressiveOrder")==0) return FrontalForcingsAutoregressiveOrderEnum;
    206               else if (strcmp(name,"FrontalForcingsautoregressionconst")==0) return FrontalForcingsautoregressionconstEnum;
    207               else if (strcmp(name,"FrontalForcingsautoregressiontrend")==0) return FrontalForcingsautoregressiontrendEnum;
     205              else if (strcmp(name,"FrontalForcingsARMAInitialTime")==0) return FrontalForcingsARMAInitialTimeEnum;
     206              else if (strcmp(name,"FrontalForcingsARMATimestep")==0) return FrontalForcingsARMATimestepEnum;
     207              else if (strcmp(name,"FrontalForcingsARMAarOrder")==0) return FrontalForcingsARMAarOrderEnum;
     208              else if (strcmp(name,"FrontalForcingsARMAmaOrder")==0) return FrontalForcingsARMAmaOrderEnum;
     209              else if (strcmp(name,"FrontalForcingsARMAconst")==0) return FrontalForcingsARMAconstEnum;
     210              else if (strcmp(name,"FrontalForcingsARMAtrend")==0) return FrontalForcingsARMAtrendEnum;
    208211              else if (strcmp(name,"FrontalForcingsNumberofBasins")==0) return FrontalForcingsNumberofBasinsEnum;
    209212              else if (strcmp(name,"FrontalForcingsParam")==0) return FrontalForcingsParamEnum;
    210               else if (strcmp(name,"FrontalForcingsarlagcoefs")==0) return FrontalForcingsarlagcoefsEnum;
     213              else if (strcmp(name,"FrontalForcingsARMAarlagcoefs")==0) return FrontalForcingsARMAarlagcoefsEnum;
     214              else if (strcmp(name,"FrontalForcingsARMAmalagcoefs")==0) return FrontalForcingsARMAmalagcoefsEnum;
    211215              else if (strcmp(name,"GrdModel")==0) return GrdModelEnum;
    212216              else if (strcmp(name,"GroundinglineFrictionInterpolation")==0) return GroundinglineFrictionInterpolationEnum;
     
    256260              else if (strcmp(name,"IcecapToEarthComm")==0) return IcecapToEarthCommEnum;
    257261              else if (strcmp(name,"Index")==0) return IndexEnum;
    258               else if (strcmp(name,"InputFileName")==0) return InputFileNameEnum;
     262         else stage=3;
     263   }
     264   if(stage==3){
     265              if (strcmp(name,"InputFileName")==0) return InputFileNameEnum;
    259266              else if (strcmp(name,"DirectoryName")==0) return DirectoryNameEnum;
    260267              else if (strcmp(name,"Indices")==0) return IndicesEnum;
    261268              else if (strcmp(name,"InputToDepthaverageIn")==0) return InputToDepthaverageInEnum;
    262          else stage=3;
    263    }
    264    if(stage==3){
    265               if (strcmp(name,"InputToDepthaverageOut")==0) return InputToDepthaverageOutEnum;
     269              else if (strcmp(name,"InputToDepthaverageOut")==0) return InputToDepthaverageOutEnum;
    266270              else if (strcmp(name,"InputToExtrude")==0) return InputToExtrudeEnum;
    267271              else if (strcmp(name,"InputToL2Project")==0) return InputToL2ProjectEnum;
     
    379383              else if (strcmp(name,"QmuResponsePartitions")==0) return QmuResponsePartitionsEnum;
    380384              else if (strcmp(name,"QmuResponsePartitionsNpart")==0) return QmuResponsePartitionsNpartEnum;
    381               else if (strcmp(name,"QmuStatistics")==0) return QmuStatisticsEnum;
     385         else stage=4;
     386   }
     387   if(stage==4){
     388              if (strcmp(name,"QmuStatistics")==0) return QmuStatisticsEnum;
    382389              else if (strcmp(name,"QmuNumstatistics")==0) return QmuNumstatisticsEnum;
    383390              else if (strcmp(name,"QmuNdirectories")==0) return QmuNdirectoriesEnum;
    384391              else if (strcmp(name,"QmuNfilesPerDirectory")==0) return QmuNfilesPerDirectoryEnum;
    385          else stage=4;
    386    }
    387    if(stage==4){
    388               if (strcmp(name,"QmuStatisticsMethod")==0) return QmuStatisticsMethodEnum;
     392              else if (strcmp(name,"QmuStatisticsMethod")==0) return QmuStatisticsMethodEnum;
    389393              else if (strcmp(name,"QmuMethods")==0) return QmuMethodsEnum;
    390394              else if (strcmp(name,"RestartFileName")==0) return RestartFileNameEnum;
     
    485489              else if (strcmp(name,"SmbAccuref")==0) return SmbAccurefEnum;
    486490              else if (strcmp(name,"SmbAdThresh")==0) return SmbAdThreshEnum;
    487               else if (strcmp(name,"SmbAutoregressionInitialTime")==0) return SmbAutoregressionInitialTimeEnum;
    488               else if (strcmp(name,"SmbAutoregressionTimestep")==0) return SmbAutoregressionTimestepEnum;
    489               else if (strcmp(name,"SmbAutoregressiveOrder")==0) return SmbAutoregressiveOrderEnum;
     491              else if (strcmp(name,"SmbARMAInitialTime")==0) return SmbARMAInitialTimeEnum;
     492              else if (strcmp(name,"SmbARMATimestep")==0) return SmbARMATimestepEnum;
     493              else if (strcmp(name,"SmbARMAarOrder")==0) return SmbARMAarOrderEnum;
     494              else if (strcmp(name,"SmbARMAmaOrder")==0) return SmbARMAmaOrderEnum;
    490495              else if (strcmp(name,"SmbAveraging")==0) return SmbAveragingEnum;
    491               else if (strcmp(name,"Smbautoregressionconst")==0) return SmbautoregressionconstEnum;
    492               else if (strcmp(name,"Smbautoregressiontrend")==0) return SmbautoregressiontrendEnum;
     496              else if (strcmp(name,"SmbARMAconst")==0) return SmbARMAconstEnum;
     497              else if (strcmp(name,"SmbARMAtrend")==0) return SmbARMAtrendEnum;
    493498              else if (strcmp(name,"SmbDesfac")==0) return SmbDesfacEnum;
    494499              else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum;
     
    501506              else if (strcmp(name,"SmbDt")==0) return SmbDtEnum;
    502507              else if (strcmp(name,"Smb")==0) return SmbEnum;
    503               else if (strcmp(name,"SmbEIdx")==0) return SmbEIdxEnum;
     508         else stage=5;
     509   }
     510   if(stage==5){
     511              if (strcmp(name,"SmbEIdx")==0) return SmbEIdxEnum;
    504512              else if (strcmp(name,"SmbF")==0) return SmbFEnum;
    505513              else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
    506514              else if (strcmp(name,"SmbIsaccumulation")==0) return SmbIsaccumulationEnum;
    507515              else if (strcmp(name,"SmbIsalbedo")==0) return SmbIsalbedoEnum;
    508          else stage=5;
    509    }
    510    if(stage==5){
    511               if (strcmp(name,"SmbIsconstrainsurfaceT")==0) return SmbIsconstrainsurfaceTEnum;
     516              else if (strcmp(name,"SmbIsconstrainsurfaceT")==0) return SmbIsconstrainsurfaceTEnum;
    512517              else if (strcmp(name,"SmbIsd18opd")==0) return SmbIsd18opdEnum;
    513518              else if (strcmp(name,"SmbIsdelta18o")==0) return SmbIsdelta18oEnum;
     
    530535              else if (strcmp(name,"SmbNumRequestedOutputs")==0) return SmbNumRequestedOutputsEnum;
    531536              else if (strcmp(name,"SmbPfac")==0) return SmbPfacEnum;
    532               else if (strcmp(name,"Smbarlagcoefs")==0) return SmbarlagcoefsEnum;
     537              else if (strcmp(name,"SmbARMAarlagcoefs")==0) return SmbARMAarlagcoefsEnum;
     538              else if (strcmp(name,"SmbARMAmalagcoefs")==0) return SmbARMAmalagcoefsEnum;
    533539              else if (strcmp(name,"SmbRdl")==0) return SmbRdlEnum;
    534540              else if (strcmp(name,"SmbRefElevation")==0) return SmbRefElevationEnum;
     
    623629              else if (strcmp(name,"WorldComm")==0) return WorldCommEnum;
    624630              else if (strcmp(name,"ParametersEND")==0) return ParametersENDEnum;
    625               else if (strcmp(name,"InputsSTART")==0) return InputsSTARTEnum;
     631         else stage=6;
     632   }
     633   if(stage==6){
     634              if (strcmp(name,"InputsSTART")==0) return InputsSTARTEnum;
    626635              else if (strcmp(name,"AccumulatedDeltaBottomPressure")==0) return AccumulatedDeltaBottomPressureEnum;
    627636              else if (strcmp(name,"AccumulatedDeltaIceThickness")==0) return AccumulatedDeltaIceThicknessEnum;
     
    629638              else if (strcmp(name,"Adjoint")==0) return AdjointEnum;
    630639              else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
    631          else stage=6;
    632    }
    633    if(stage==6){
    634               if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
     640              else if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
    635641              else if (strcmp(name,"AdjointxBase")==0) return AdjointxBaseEnum;
    636642              else if (strcmp(name,"AdjointxShear")==0) return AdjointxShearEnum;
     
    648654              else if (strcmp(name,"BalancethicknessThickeningRate")==0) return BalancethicknessThickeningRateEnum;
    649655              else if (strcmp(name,"BasalCrevasse")==0) return BasalCrevasseEnum;
    650               else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateAutoregression")==0) return BasalforcingsDeepwaterMeltingRateAutoregressionEnum;
     656              else if (strcmp(name,"BasalforcingsDeepwaterMeltingRatearma")==0) return BasalforcingsDeepwaterMeltingRatearmaEnum;
    651657              else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateNoise")==0) return BasalforcingsDeepwaterMeltingRateNoiseEnum;
    652658              else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateValuesAutoregression")==0) return BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum;
     
    746752              else if (strcmp(name,"EffectivePressureTransient")==0) return EffectivePressureTransientEnum;
    747753              else if (strcmp(name,"Enthalpy")==0) return EnthalpyEnum;
    748               else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
     754         else stage=7;
     755   }
     756   if(stage==7){
     757              if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
    749758              else if (strcmp(name,"EplHead")==0) return EplHeadEnum;
    750759              else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum;
     
    752761              else if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum;
    753762              else if (strcmp(name,"EplHeadSubstep")==0) return EplHeadSubstepEnum;
    754          else stage=7;
    755    }
    756    if(stage==7){
    757               if (strcmp(name,"EplHeadTransient")==0) return EplHeadTransientEnum;
     763              else if (strcmp(name,"EplHeadTransient")==0) return EplHeadTransientEnum;
    758764              else if (strcmp(name,"EsaEmotion")==0) return EsaEmotionEnum;
    759765              else if (strcmp(name,"EsaNmotion")==0) return EsaNmotionEnum;
     
    869875              else if (strcmp(name,"Node")==0) return NodeEnum;
    870876              else if (strcmp(name,"OmegaAbsGradient")==0) return OmegaAbsGradientEnum;
    871               else if (strcmp(name,"OceantransportSpcbottompressure")==0) return OceantransportSpcbottompressureEnum;
     877         else stage=8;
     878   }
     879   if(stage==8){
     880              if (strcmp(name,"OceantransportSpcbottompressure")==0) return OceantransportSpcbottompressureEnum;
    872881              else if (strcmp(name,"OceantransportSpcstr")==0) return OceantransportSpcstrEnum;
    873882              else if (strcmp(name,"OceantransportSpcdsl")==0) return OceantransportSpcdslEnum;
     
    875884              else if (strcmp(name,"P1")==0) return P1Enum;
    876885              else if (strcmp(name,"Partitioning")==0) return PartitioningEnum;
    877          else stage=8;
    878    }
    879    if(stage==8){
    880               if (strcmp(name,"Pressure")==0) return PressureEnum;
     886              else if (strcmp(name,"Pressure")==0) return PressureEnum;
    881887              else if (strcmp(name,"Radar")==0) return RadarEnum;
    882888              else if (strcmp(name,"RadarAttenuationMacGregor")==0) return RadarAttenuationMacGregorEnum;
     
    977983              else if (strcmp(name,"SmbAdiffini")==0) return SmbAdiffiniEnum;
    978984              else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum;
    979               else if (strcmp(name,"SmbAutoregressionNoise")==0) return SmbAutoregressionNoiseEnum;
     985              else if (strcmp(name,"SmbARMANoise")==0) return SmbARMANoiseEnum;
    980986              else if (strcmp(name,"SmbBasinsId")==0) return SmbBasinsIdEnum;
    981987              else if (strcmp(name,"SmbBMax")==0) return SmbBMaxEnum;
     
    992998              else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum;
    993999              else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum;
    994               else if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum;
     1000         else stage=9;
     1001   }
     1002   if(stage==9){
     1003              if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum;
    9951004              else if (strcmp(name,"SmbDailyrainfall")==0) return SmbDailyrainfallEnum;
    9961005              else if (strcmp(name,"SmbDailysnowfall")==0) return SmbDailysnowfallEnum;
     
    9981007              else if (strcmp(name,"SmbDailywindspeed")==0) return SmbDailywindspeedEnum;
    9991008              else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum;
    1000          else stage=9;
    1001    }
    1002    if(stage==9){
    1003               if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum;
     1009              else if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum;
    10041010              else if (strcmp(name,"SmbDulwrfValue")==0) return SmbDulwrfValueEnum;
    10051011              else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum;
     
    10691075              else if (strcmp(name,"SmbTz")==0) return SmbTzEnum;
    10701076              else if (strcmp(name,"SmbValuesAutoregression")==0) return SmbValuesAutoregressionEnum;
     1077              else if (strcmp(name,"SmbValuesMovingaverage")==0) return SmbValuesMovingaverageEnum;
    10711078              else if (strcmp(name,"SmbV")==0) return SmbVEnum;
    10721079              else if (strcmp(name,"SmbVmean")==0) return SmbVmeanEnum;
     
    11141121              else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;
    11151122              else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;
    1116               else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
     1123         else stage=10;
     1124   }
     1125   if(stage==10){
     1126              if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum;
    11171127              else if (strcmp(name,"Temperature")==0) return TemperatureEnum;
    11181128              else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum;
    11191129              else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum;
    11201130              else if (strcmp(name,"TemperatureSEMIC")==0) return TemperatureSEMICEnum;
    1121               else if (strcmp(name,"ThermalforcingAutoregressionNoise")==0) return ThermalforcingAutoregressionNoiseEnum;
     1131              else if (strcmp(name,"ThermalforcingARMANoise")==0) return ThermalforcingARMANoiseEnum;
    11221132              else if (strcmp(name,"ThermalforcingValuesAutoregression")==0) return ThermalforcingValuesAutoregressionEnum;
    1123          else stage=10;
    1124    }
    1125    if(stage==10){
    1126               if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
     1133              else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum;
    11271134              else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
    11281135              else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum;
     
    12371244              else if (strcmp(name,"Outputdefinition74")==0) return Outputdefinition74Enum;
    12381245              else if (strcmp(name,"Outputdefinition75")==0) return Outputdefinition75Enum;
    1239               else if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum;
     1246         else stage=11;
     1247   }
     1248   if(stage==11){
     1249              if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum;
    12401250              else if (strcmp(name,"Outputdefinition77")==0) return Outputdefinition77Enum;
    12411251              else if (strcmp(name,"Outputdefinition78")==0) return Outputdefinition78Enum;
     
    12441254              else if (strcmp(name,"Outputdefinition80")==0) return Outputdefinition80Enum;
    12451255              else if (strcmp(name,"Outputdefinition81")==0) return Outputdefinition81Enum;
    1246          else stage=11;
    1247    }
    1248    if(stage==11){
    1249               if (strcmp(name,"Outputdefinition82")==0) return Outputdefinition82Enum;
     1256              else if (strcmp(name,"Outputdefinition82")==0) return Outputdefinition82Enum;
    12501257              else if (strcmp(name,"Outputdefinition83")==0) return Outputdefinition83Enum;
    12511258              else if (strcmp(name,"Outputdefinition84")==0) return Outputdefinition84Enum;
     
    12811288              else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
    12821289              else if (strcmp(name,"AutodiffJacobian")==0) return AutodiffJacobianEnum;
    1283               else if (strcmp(name,"AutoregressionLinearFloatingMeltRate")==0) return AutoregressionLinearFloatingMeltRateEnum;
    12841290              else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum;
    12851291              else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum;
     
    13611367              else if (strcmp(name,"ExternalResult")==0) return ExternalResultEnum;
    13621368              else if (strcmp(name,"ExtrapolationAnalysis")==0) return ExtrapolationAnalysisEnum;
    1363               else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
     1369         else stage=12;
     1370   }
     1371   if(stage==12){
     1372              if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
    13641373              else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum;
    13651374              else if (strcmp(name,"FSApproximation")==0) return FSApproximationEnum;
     
    13671376              else if (strcmp(name,"FSpressure")==0) return FSpressureEnum;
    13681377              else if (strcmp(name,"FSvelocity")==0) return FSvelocityEnum;
    1369          else stage=12;
    1370    }
    1371    if(stage==12){
    1372               if (strcmp(name,"FemModel")==0) return FemModelEnum;
     1378              else if (strcmp(name,"FemModel")==0) return FemModelEnum;
    13731379              else if (strcmp(name,"FileParam")==0) return FileParamEnum;
    13741380              else if (strcmp(name,"FixedTimestepping")==0) return FixedTimesteppingEnum;
     
    13811387              else if (strcmp(name,"FrontalForcingsDefault")==0) return FrontalForcingsDefaultEnum;
    13821388              else if (strcmp(name,"FrontalForcingsRignot")==0) return FrontalForcingsRignotEnum;
    1383               else if (strcmp(name,"FrontalForcingsRignotAutoregression")==0) return FrontalForcingsRignotAutoregressionEnum;
     1389              else if (strcmp(name,"FrontalForcingsRignotarma")==0) return FrontalForcingsRignotarmaEnum;
    13841390              else if (strcmp(name,"Fset")==0) return FsetEnum;
    13851391              else if (strcmp(name,"FullMeltOnPartiallyFloating")==0) return FullMeltOnPartiallyFloatingEnum;
     
    14501456              else if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum;
    14511457              else if (strcmp(name,"LinearFloatingMeltRate")==0) return LinearFloatingMeltRateEnum;
     1458              else if (strcmp(name,"LinearFloatingMeltRatearma")==0) return LinearFloatingMeltRatearmaEnum;
    14521459              else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;
    14531460              else if (strcmp(name,"Loads")==0) return LoadsEnum;
     
    14831490              else if (strcmp(name,"Matestar")==0) return MatestarEnum;
    14841491              else if (strcmp(name,"Matice")==0) return MaticeEnum;
    1485               else if (strcmp(name,"Matlitho")==0) return MatlithoEnum;
     1492         else stage=13;
     1493   }
     1494   if(stage==13){
     1495              if (strcmp(name,"Matlitho")==0) return MatlithoEnum;
    14861496              else if (strcmp(name,"Mathydro")==0) return MathydroEnum;
    14871497              else if (strcmp(name,"MatrixParam")==0) return MatrixParamEnum;
     
    14901500              else if (strcmp(name,"MaxAbsVz")==0) return MaxAbsVzEnum;
    14911501              else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
    1492          else stage=13;
    1493    }
    1494    if(stage==13){
    1495               if (strcmp(name,"MaxVel")==0) return MaxVelEnum;
     1502              else if (strcmp(name,"MaxVel")==0) return MaxVelEnum;
    14961503              else if (strcmp(name,"MaxVx")==0) return MaxVxEnum;
    14971504              else if (strcmp(name,"MaxVy")==0) return MaxVyEnum;
     
    15621569              else if (strcmp(name,"SamplingSolution")==0) return SamplingSolutionEnum;
    15631570              else if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum;
    1564               else if (strcmp(name,"SMBautoregression")==0) return SMBautoregressionEnum;
     1571              else if (strcmp(name,"SMBarma")==0) return SMBarmaEnum;
    15651572              else if (strcmp(name,"SMBcomponents")==0) return SMBcomponentsEnum;
    15661573              else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum;
     
    16061613              else if (strcmp(name,"StatisticsSolution")==0) return StatisticsSolutionEnum;
    16071614              else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum;
    1608               else if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum;
     1615         else stage=14;
     1616   }
     1617   if(stage==14){
     1618              if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum;
    16091619              else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum;
    16101620              else if (strcmp(name,"StressbalanceConvergenceNumSteps")==0) return StressbalanceConvergenceNumStepsEnum;
     
    16131623              else if (strcmp(name,"StressbalanceVerticalAnalysis")==0) return StressbalanceVerticalAnalysisEnum;
    16141624              else if (strcmp(name,"StringArrayParam")==0) return StringArrayParamEnum;
    1615          else stage=14;
    1616    }
    1617    if(stage==14){
    1618               if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
     1625              else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
    16191626              else if (strcmp(name,"StringParam")==0) return StringParamEnum;
    16201627              else if (strcmp(name,"SubelementFriction1")==0) return SubelementFriction1Enum;
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r27031 r27250  
    241241                case 11: return SMBgradientscomponentsEnum;
    242242                case 12: return SMBsemicEnum;   
    243                 case 13: return SMBautoregressionEnum;
     243                case 13: return SMBarmaEnum;
    244244                default: _error_("Marshalled SMB code \""<<enum_in<<"\" not supported yet");
    245245        }
     
    255255                case 7: return BasalforcingsIsmip6Enum;
    256256                case 8: return BeckmannGoosseFloatingMeltRateEnum;
    257                 case 9: return AutoregressionLinearFloatingMeltRateEnum;
     257                case 9: return LinearFloatingMeltRatearmaEnum;
    258258                default: _error_("Marshalled Basal Forcings code \""<<enum_in<<"\" not supported yet");
    259259        }
     
    277277                case 1: return FrontalForcingsDefaultEnum;
    278278                case 2: return FrontalForcingsRignotEnum;
    279                 case 3: return FrontalForcingsRignotAutoregressionEnum;
     279                case 3: return FrontalForcingsRignotarmaEnum;
    280280                default: _error_("Marshalled Frontalforcings code \""<<enum_in<<"\" not supported yet");
    281281        }
  • issm/trunk-jpl/test/NightlyRun/test257.m

    r27246 r27250  
    1 %Test Name: SquareShelfSMBautoregression
     1%Test Name: SquareShelfSMBarma
    22md=triangle(model(),'../Exp/Square.exp',80000.);
    33md=setmask(md,'all','');
     
    3636md.timestepping.time_step  = 1;
    3737md.timestepping.final_time = 5;
    38 md.smb                = SMBautoregression();
    39 md.smb.num_basins     = 3; %number of basins
    40 md.smb.basin_id       = idbasin; %prescribe basin ID number to elements
    41 md.smb.const          = [0.5,1.2,1.5]; %intercept values of SMB in basins [m ice eq./yr]
    42 md.smb.trend          = [0.0,0.01,-0.01]; %trend values of SMB in basins [m ice eq./yr^2]
    43 md.smb.ar_initialtime = md.timestepping.start_time;
    44 md.smb.ar_order       = 4;
    45 md.smb.ar_timestep    = 2.0; %timestep of the autoregressive model [yr]
    46 md.smb.arlag_coefs            = [[0.2,0.1,0.05,0.01];[0.4,0.2,-0.2,0.1];[0.4,-0.4,0.1,-0.1]];
    47 md.smb.lapserates     = [0.01,0.0;0.01,-0.01;0.0,-0.01];
    48 md.smb.elevationbins  = [100;150;100];
     38md.smb                     = SMBarma();
     39md.smb.num_basins          = 3; %number of basins
     40md.smb.basin_id            = idbasin; %prescribe basin ID number to elements
     41md.smb.const               = [0.5,1.2,1.5]; %intercept values of SMB in basins [m ice eq./yr]
     42md.smb.trend               = [0.0,0.01,-0.01]; %trend values of SMB in basins [m ice eq./yr^2]
     43md.smb.arma_initialtime    = md.timestepping.start_time;
     44md.smb.ar_order            = 4;
     45md.smb.ma_order            = 1;
     46md.smb.arma_timestep       = 2.0; %timestep of the ARMA model [yr]
     47md.smb.arlag_coefs         = [[0.2,0.1,0.05,0.01];[0.4,0.2,-0.2,0.1];[0.4,-0.4,0.1,-0.1]];
     48md.smb.malag_coefs         = [0;0;0];
     49md.smb.lapserates          = [0.01,0.0;0.01,-0.01;0.0,-0.01];
     50md.smb.elevationbins       = [100;150;100];
    4951
    5052%Stochastic forcing
    5153md.stochasticforcing.isstochasticforcing = 1;
    52 md.stochasticforcing.fields              = [{'SMBautoregression'}];
     54md.stochasticforcing.fields              = [{'SMBarma'}];
    5355md.stochasticforcing.covariance          = [[0.15 0.08 -0.02];[0.08 0.12 -0.05];[-0.02 -0.05 0.1]]; %global covariance among- and between-fields
    5456md.stochasticforcing.randomflag          = 0; %fixed random seeds
  • issm/trunk-jpl/test/NightlyRun/test257.py

    r27246 r27250  
    1 #Test Name: SquareShelfSMBautoregression
     1#Test Name: SquareShelfSMBarma
    22from __future__ import division  # TODO: Remove this import after ISSM is updated to use Python 3 by default
    33import numpy as np
     
    77from setflowequation import setflowequation
    88from setmask import setmask
    9 from SMBautoregression import SMBautoregression
     9from SMBarma import SMBarma
    1010from solve import solve
    1111from triangle import triangle
     
    4141md.timestepping.time_step = 1
    4242md.timestepping.final_time = 5
    43 md.smb = SMBautoregression()
     43md.smb = SMBarma()
    4444md.smb.num_basins = 3  # number of basins
    4545md.smb.basin_id = idbasin  # prescribe basin ID number to elements;
    4646md.smb.const = np.array([[0.5, 1.2, 1.5]])  # intercept values of SMB in basins [m ice eq./yr]
    4747md.smb.trend = np.array([[0.0, 0.01, -0.01]])  # trend values of SMB in basins [m ice eq./yr^2]
    48 md.smb.ar_initialtime = md.timestepping.start_time
     48md.smb.arma_initialtime = md.timestepping.start_time
    4949md.smb.ar_order = 4
    50 md.smb.ar_timestep = 2.0  #timestep of the autoregressive model [yr]
     50md.smb.ma_order = 1
     51md.smb.arma_timestep = 2.0  #timestep of the ARMA model [yr]
    5152md.smb.arlag_coefs = np.array([[0.2, 0.1, 0.05, 0.01], [0.4, 0.2, -0.2, 0.1], [0.4, -0.4, 0.1, -0.1]])
     53md.smb.malag_coefs = np.array([[0],[0],[0]])
    5254md.smb.lapserates        = np.array([[0.01,0.0],[0.01,-0.01],[0.0,-0.01]])
    5355md.smb.elevationbins  = np.array([100,150,100]).reshape(md.smb.num_basins,1)
     
    5557# Stochastic forcing
    5658md.stochasticforcing.isstochasticforcing = 1
    57 md.stochasticforcing.fields = ['SMBautoregression']
     59md.stochasticforcing.fields = ['SMBarma']
    5860md.stochasticforcing.covariance = np.array([[0.15, 0.08, -0.02], [0.08, 0.12, -0.05], [-0.02, -0.05, 0.1]])  # global covariance among- and between-fields
    5961md.stochasticforcing.randomflag = 0  # fixed random seeds
  • issm/trunk-jpl/test/NightlyRun/test543.m

    r27246 r27250  
    4545md.levelset.migration_max = 10.0; %avoid fast advance/retreat of the front
    4646%Frontal forcing parameters
    47 md.frontalforcings=frontalforcingsrignotautoregression();
     47md.frontalforcings=frontalforcingsrignotarma();
    4848md.frontalforcings.num_basins           = nb_tf;
    4949md.frontalforcings.basin_id             = idb_tf;
     
    5151md.frontalforcings.const                = [0.05,0.01]; %intercept values of TF in basins [C]
    5252md.frontalforcings.trend                = [0.001,0.0001]; %trend values of TF in basins [C/yr]
    53 md.frontalforcings.ar_initialtime       = md.timestepping.start_time; %initial time in the AR model parameterization [yr]
     53md.frontalforcings.arma_initialtime     = md.timestepping.start_time; %initial time in the AR model parameterization [yr]
    5454md.frontalforcings.ar_order             = 4;
    55 md.frontalforcings.ar_timestep          = 2; %timestep of the autoregressive model [yr]
    56 md.frontalforcings.arlag_coefs                  = [[0.1,-0.1,0.01,-0.01];[0.2,-0.2,0.1,0.0]]; %autoregressive parameters
     55md.frontalforcings.ma_order             = 2;
     56md.frontalforcings.arma_timestep        = 2; %timestep of the ARMA model [yr]
     57md.frontalforcings.arlag_coefs          = [[0.1,-0.1,0.01,-0.01];[0.2,-0.2,0.1,0.0]]; %autoregressive parameters
     58md.frontalforcings.malag_coefs          = [[0.0,0.0];[0.0,0.0]]; %moving-average parameters
    5759
    5860% Floating Ice Melt parameters
     
    6870%Stochastic forcing
    6971md.stochasticforcing.isstochasticforcing = 1;
    70 md.stochasticforcing.fields              = [{'FrontalForcingsRignotAutoregression'},{'DefaultCalving'},{'FloatingMeltRate'}];
     72md.stochasticforcing.fields              = [{'FrontalForcingsRignotarma'},{'DefaultCalving'},{'FloatingMeltRate'}];
    7173md.stochasticforcing.defaultdimension    = 2;
    7274md.stochasticforcing.default_id          = idb_df;
  • issm/trunk-jpl/test/NightlyRun/test543.py

    r27246 r27250  
    11#Test Name: PigTranStochasticforcing
    22import numpy as np
    3 from frontalforcingsrignotautoregression import frontalforcingsrignotautoregression
     3from frontalforcingsrignotarma import frontalforcingsrignotarma
    44from socket import gethostname
    55from model import *
     
    5050md.levelset.migration_max = 10.0
    5151#Frontal forcing parameters
    52 md.frontalforcings = frontalforcingsrignotautoregression()
     52md.frontalforcings = frontalforcingsrignotarma()
    5353md.frontalforcings.num_basins = nb_tf
    5454md.frontalforcings.basin_id = idb_tf
     
    5656md.frontalforcings.const = np.array([[0.05, 0.01]])  # intercept values of TF in basins [C]
    5757md.frontalforcings.trend = np.array([[0.001, 0.0001]])  # trend values of TF in basins [C/yr]
    58 md.frontalforcings.ar_initialtime = md.timestepping.start_time  # initial time in the AR model parameterization [yr]
     58md.frontalforcings.arma_initialtime = md.timestepping.start_time  # initial time in the AR model parameterization [yr]
    5959md.frontalforcings.ar_order = 4
    60 md.frontalforcings.ar_timestep = 2  # timestep of the autoregressive model [yr]
     60md.frontalforcings.ma_order = 2
     61md.frontalforcings.arma_timestep = 2  # timestep of the ARMA model [yr]
    6162md.frontalforcings.arlag_coefs = np.array([[0.1, -0.1, 0.01, -0.01], [0.2, -0.2, 0.1, 0.0]])  # autoregressive parameters
     63md.frontalforcings.malag_coefs = np.array([[0.0, 0.0], [0.0, 0.0]])  # moving-average parameters
    6264#Floating Ice Melt parameters
    6365md.basalforcings.floatingice_melting_rate = 0.1 * np.ones((md.mesh.numberofvertices,))
     
    8587# Stochastic forcing
    8688md.stochasticforcing.isstochasticforcing = 1
    87 md.stochasticforcing.fields = ['FrontalForcingsRignotAutoregression', 'DefaultCalving', 'FloatingMeltRate']
     89md.stochasticforcing.fields = ['FrontalForcingsRignotarma', 'DefaultCalving', 'FloatingMeltRate']
    8890md.stochasticforcing.defaultdimension = 2
    8991md.stochasticforcing.default_id = idb_df
  • issm/trunk-jpl/test/NightlyRun/test544.m

    r27246 r27250  
    1 %Test Name: PigTranAutoregressionAndStochasticforcings
     1%Test Name: PigTranARMAandStochasticforcings
    22md=triangle(model(),'../Exp/Pig.exp',8000.);
    33md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp');
     
    2424
    2525%SMB
    26 md.smb                = SMBautoregression();
    27 md.smb.num_basins     = nb_bas; %number of basins
    28 md.smb.basin_id       = idb; %prescribe basin ID number to elements
    29 md.smb.const          = [0.5,1.2]; %intercept values of SMB in basins [m ice eq./yr]
    30 md.smb.trend          = [0.0,0.01]; %trend values of SMB in basins [m ice eq./yr^2]
    31 md.smb.ar_initialtime = md.timestepping.start_time;
    32 md.smb.ar_order       = 4;
    33 md.smb.ar_timestep    = 2.0; %timestep of the autoregressive model [yr]
    34 md.smb.arlag_coefs            = [[0.2,0.1,0.05,0.01];[0.4,0.2,-0.2,0.1]];
     26md.smb                  = SMBarma();
     27md.smb.num_basins       = nb_bas; %number of basins
     28md.smb.basin_id         = idb; %prescribe basin ID number to elements
     29md.smb.const            = [0.5,1.2]; %intercept values of SMB in basins [m ice eq./yr]
     30md.smb.trend            = [0.0,0.01]; %trend values of SMB in basins [m ice eq./yr^2]
     31md.smb.arma_initialtime = md.timestepping.start_time;
     32md.smb.ar_order         = 4;
     33md.smb.ma_order         = 4;
     34md.smb.arma_timestep    = 2.0; %timestep of the ARMA model [yr]
     35md.smb.arlag_coefs      = [[0.2,0.1,0.05,0.01];[0.4,0.2,-0.2,0.1]];
     36md.smb.malag_coefs      = [[0.0,0.0,0.0,0.0];[0.0,0.0,0.0,0.0]];
    3537
    3638%Calving
     
    4244
    4345% Basal forcing implementation
    44 md.basalforcings = autoregressionlinearbasalforcings();
    45 md.basalforcings.num_basins     = nb_bas; %number of basins
    46 md.basalforcings.basin_id       = idb; %prescribe basin ID number to elements
    47 md.basalforcings.const          = [1.0,2.50]; %intercept values of DeepwaterMelt in basins [m/yr]
    48 md.basalforcings.trend          = [0.2,0.01]; %trend values of DeepwaterMelt in basins [m/yr^2]
    49 md.basalforcings.ar_initialtime = md.timestepping.start_time;
    50 md.basalforcings.ar_order       = 1;
    51 md.basalforcings.ar_timestep    = 1.0; %timestep of the autoregressive model [yr]
    52 md.basalforcings.arlag_coefs            = [0.0;0.1];
     46md.basalforcings = linearbasalforcingsarma();
     47md.basalforcings.num_basins       = nb_bas; %number of basins
     48md.basalforcings.basin_id         = idb; %prescribe basin ID number to elements
     49md.basalforcings.const            = [1.0,2.50]; %intercept values of DeepwaterMelt in basins [m/yr]
     50md.basalforcings.trend            = [0.2,0.01]; %trend values of DeepwaterMelt in basins [m/yr^2]
     51md.basalforcings.arma_initialtime = md.timestepping.start_time;
     52md.basalforcings.ar_order         = 1;
     53md.basalforcings.ma_order         = 1;
     54md.basalforcings.arma_timestep    = 1.0; %timestep of the ARMA model [yr]
     55md.basalforcings.arlag_coefs      = [0.0;0.1];
     56md.basalforcings.malag_coefs      = [0.0;0.0];
    5357md.basalforcings.deepwater_elevation       = [-1000,-1520];
    5458md.basalforcings.upperwater_elevation      = [0,-50];
     
    6569% Stochastic forcing
    6670md.stochasticforcing.isstochasticforcing = 1;
    67 md.stochasticforcing.fields              = [{'SMBautoregression'},{'DefaultCalving'},{'BasalforcingsDeepwaterMeltingRateAutoregression'}];
     71md.stochasticforcing.fields              = [{'SMBarma'},{'DefaultCalving'},{'BasalforcingsDeepwaterMeltingRatearma'}];
    6872md.stochasticforcing.defaultdimension    = 2;
    6973md.stochasticforcing.default_id          = idb;
  • issm/trunk-jpl/test/NightlyRun/test544.py

    r27246 r27250  
    1 #Test Name: PigTranAutoregressionAndStochasticforcings
     1#Test Name: PigTranARMAandStochasticforcings
    22import numpy as np
    3 from autoregressionlinearbasalforcings import autoregressionlinearbasalforcings
    4 from SMBautoregression import SMBautoregression
     3from linearbasalforcingsarma import linearbasalforcingsarma
     4from SMBarma import SMBarma
    55from stochasticforcing import stochasticforcing
    66from socket import gethostname
     
    3434
    3535#SMB
    36 md.smb = SMBautoregression()
     36md.smb = SMBarma()
    3737md.smb.num_basins = nb_bas  # number of basins
    3838md.smb.basin_id = idb  # prescribe basin ID number to elements;
    3939md.smb.const = np.array([[0.5, 1.2]])  # intercept values of SMB in basins [m ice eq./yr]
    4040md.smb.trend = np.array([[0.0, 0.01]])  # trend values of SMB in basins [m ice eq./yr^2]
    41 md.smb.ar_initialtime = md.timestepping.start_time
     41md.smb.arma_initialtime = md.timestepping.start_time
    4242md.smb.ar_order = 4
    43 md.smb.ar_timestep = 2.0  #timestep of the autoregressive model [yr]
    44 md.smb.arlag_coefs = np.array([[0.2, 0.1, 0.05, 0.01], [0.4, 0.2, -0.2, 0.1]])
     43md.smb.ma_order = 4
     44md.smb.arma_timestep = 2.0  #timestep of the ARMA model [yr]
     45md.smb.arlag_coefs = np.array([[0.2,0.1,0.05,0.01],[0.4,0.2,-0.2,0.1]])
     46md.smb.malag_coefs = np.array([[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]])
    4547
    4648#Calving
     
    5254
    5355#Basal forcing implementation
    54 md.basalforcings = autoregressionlinearbasalforcings()
     56md.basalforcings = linearbasalforcingsarma()
    5557md.basalforcings.num_basins = nb_bas
    5658md.basalforcings.basin_id  = idb
    5759md.basalforcings.const = np.array([[1.0, 2.50]])  # intercept values of DeepwaterMelt in basins [m/yr]
    5860md.basalforcings.trend  = np.array([[0.2, 0.01]])  # trend values of DeepwaterMelt in basins [m/yr^2]
    59 md.basalforcings.ar_initialtime = md.timestepping.start_time  # initial time in the AR model parameterization [yr]
     61md.basalforcings.arma_initialtime = md.timestepping.start_time  # initial time in the ARMA model parameterization [yr]
    6062md.basalforcings.ar_order  = 1
    61 md.basalforcings.ar_timestep  = 1.0  # timestep of the autoregressive model [yr]
     63md.basalforcings.ma_order  = 1
     64md.basalforcings.arma_timestep  = 1.0  # timestep of the ARMA model [yr]
    6265md.basalforcings.arlag_coefs  = np.array([[0.0], [0.1]])  # autoregressive parameters
     66md.basalforcings.malag_coefs  = np.array([[0.0], [0.0]])  # moving-average parameters
    6367md.basalforcings.deepwater_elevation = np.array([[-1000, -1520]])
    6468md.basalforcings.upperwater_elevation = np.array([[0, -50]])
     
    7680#Stochastic forcing
    7781md.stochasticforcing.isstochasticforcing = 1
    78 md.stochasticforcing.fields = ['SMBautoregression', 'DefaultCalving', 'BasalforcingsDeepwaterMeltingRateAutoregression']
     82md.stochasticforcing.fields = ['SMBarma', 'DefaultCalving', 'BasalforcingsDeepwaterMeltingRatearma']
    7983md.stochasticforcing.defaultdimension = 2
    8084md.stochasticforcing.default_id = idb
Note: See TracChangeset for help on using the changeset viewer.