Changeset 26836


Ignore:
Timestamp:
01/29/22 07:39:27 (3 years ago)
Author:
vverjans
Message:

NEW: added class autoregressionlinearbasalforcings

Location:
issm/trunk-jpl/src
Files:
2 added
11 edited

Legend:

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

    r26825 r26836  
    219219                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum);
    220220                        break;
     221                case AutoregressionLinearFloatingMeltRateEnum:
     222                        iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.basin_id",BasalforcingsLinearBasinIdEnum);
     223                        break;
    221224                default:
    222225                        _error_("Basal forcing model "<<EnumToStringx(basalforcing_model)<<" not supported yet");
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r26830 r26836  
    6969
    7070   /*Get Basin ID and Basin coefficients*/
    71    if(enum_type==SMBautoregressionEnum)                   this->GetInputValue(&basinid,SmbBasinsIdEnum);
    72    if(enum_type==FrontalForcingsRignotAutoregressionEnum) this->GetInputValue(&basinid,FrontalForcingsBasinIdEnum);
     71   if(enum_type==SMBautoregressionEnum)                               this->GetInputValue(&basinid,SmbBasinsIdEnum);
     72   if(enum_type==FrontalForcingsRignotAutoregressionEnum)             this->GetInputValue(&basinid,FrontalForcingsBasinIdEnum);
     73   if(enum_type==BasalforcingsDeepwaterMeltingRateAutoregressionEnum) this->GetInputValue(&basinid,BasalforcingsLinearBasinIdEnum);
    7374   for(int i=0;i<arorder;i++) phi_basin[i] = phi[basinid*arorder+i];
    7475   beta0_basin   = beta0[basinid];
     
    9293      xDelete<IssmDouble>(oldvarspin);
    9394   }
    94    if(enum_type==SMBautoregressionEnum)                   this->inputs->SetArrayInput(SmbValuesAutoregressionEnum,this->lid,varspin,numvertices*arorder);
    95    if(enum_type==FrontalForcingsRignotAutoregressionEnum) this->inputs->SetArrayInput(ThermalforcingValuesAutoregressionEnum,this->lid,varspin,numvertices*arorder);
     95   if(enum_type==SMBautoregressionEnum)                               this->inputs->SetArrayInput(SmbValuesAutoregressionEnum,this->lid,varspin,numvertices*arorder);
     96   if(enum_type==FrontalForcingsRignotAutoregressionEnum)             this->inputs->SetArrayInput(ThermalforcingValuesAutoregressionEnum,this->lid,varspin,numvertices*arorder);
     97   if(enum_type==BasalforcingsDeepwaterMeltingRateAutoregressionEnum) this->inputs->SetArrayInput(BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum,this->lid,varspin,numvertices*arorder);
    9698
    9799   /*Cleanup and return*/
     
    123125         outenum_type   = FrontalForcingsThermalForcingEnum;
    124126         break;
     127                case(BasalforcingsDeepwaterMeltingRateAutoregressionEnum):
     128         arenum_type    = BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum;
     129         basinenum_type = BasalforcingsLinearBasinIdEnum;
     130         noiseenum_type = BasalforcingsDeepwaterMeltingRateNoiseEnum;
     131         outenum_type   = BasalforcingsSpatialDeepwaterMeltingRateEnum;
     132         break;
    125133   }
    126134
     
    172180   xDelete<IssmDouble>(varlist);
    173181   xDelete<IssmDouble>(valuesautoregression);
     182}/*}}}*/
     183void       Element::BasinLinearFloatingiceMeltingRate(IssmDouble* deepwaterel,IssmDouble* upperwatermelt,IssmDouble* upperwaterel,IssmDouble* perturbation){/*{{{*/
     184
     185        const int NUM_VERTICES = this->GetNumberOfVertices();
     186
     187        int basinid;
     188   IssmDouble alpha;
     189   IssmDouble base[MAXVERTICES];
     190   IssmDouble values[MAXVERTICES];
     191   IssmDouble deepwatermelt[MAXVERTICES];
     192
     193        /*Get element-specific values*/
     194        this->GetInputValue(&basinid,BasalforcingsLinearBasinIdEnum);
     195        this->GetInputListOnVertices(&base[0],BaseEnum);
     196   this->GetInputListOnVertices(&deepwatermelt[0],BasalforcingsSpatialDeepwaterMeltingRateEnum);
     197
     198        /*Compute melt rate at vertices according to basin-specific values of input arguments*/
     199   for(int i=0;i<NUM_VERTICES;i++){
     200                if(base[i]>=upperwaterel[basinid]){
     201         values[i]=upperwatermelt[basinid];
     202      }
     203      else if (base[i]<deepwaterel[basinid]){
     204         values[i]=deepwatermelt[i];
     205      }
     206      else{
     207         alpha = (base[i]-upperwaterel[basinid])/(deepwaterel[basinid]-upperwaterel[basinid]);
     208         values[i]=deepwatermelt[i]*alpha+(1.-alpha)*upperwatermelt[basinid];
     209      }
     210   }
     211
     212   this->AddInput(BasalforcingsFloatingiceMeltingRateEnum,&values[0],P1Enum);
    174213}/*}}}*/
    175214void       Element::ComputeLambdaS(){/*{{{*/
     
    23012340        IssmDouble base[MAXVERTICES];
    23022341        IssmDouble values[MAXVERTICES];
    2303         IssmDouble perturbation[MAXVERTICES];
    23042342        IssmDouble time;
    23052343
     
    23122350
    23132351        this->GetInputListOnVertices(&base[0],BaseEnum);
    2314    this->GetInputListOnVertices(&perturbation[0],BasalforcingsPerturbationMeltingRateEnum);
    23152352        for(int i=0;i<NUM_VERTICES;i++){
    23162353                if(base[i]>=upperwaterel){
     
    23242361                        values[i]=deepwatermelt*alpha+(1.-alpha)*upperwatermelt;
    23252362                }
    2326 
    2327       values[i]+=perturbation[i];
    23282363        }
    23292364
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r26830 r26836  
    7070                void                                     AutoregressionInit(int numbasins,int arorder,int nspin,IssmDouble starttime,IssmDouble tstep_ar,IssmDouble tinit_ar,IssmDouble* beta0,IssmDouble* beta1,IssmDouble* phi,int enum_type);
    7171      void               Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble* beta0,IssmDouble* beta1,IssmDouble* phi,bool isfieldstochastic,int enum_type);
     72                void               BasinLinearFloatingiceMeltingRate(IssmDouble* deepwaterel,IssmDouble* upperwatermelt,IssmDouble* upperwaterel,IssmDouble* perturbation);
    7273                void               ComputeLambdaS(void);
    7374                void               ComputeNewDamage();
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp

    r26329 r26836  
    4545                        if(VerboseSolution())_printf0_("        call BeckmannGoosse Floating melting rate module\n");
    4646                        BeckmannGoosseFloatingiceMeltingRatex(femmodel);
     47                        break;
     48                case AutoregressionLinearFloatingMeltRateEnum:
     49                        if(VerboseSolution())_printf0_("        call Autoregression Linear Floating melting rate module\n");
     50                        AutoregressionLinearFloatingiceMeltingRatex(femmodel);
    4751                        break;
    4852                default:
     
    206210}
    207211/*}}}*/
     212void AutoregressionLinearFloatingiceMeltingRateInitx(FemModel* femmodel){/*{{{*/
     213
     214        /*Initialization step of AutoregressionLinearFloatingiceMeltingRatex*/
     215   int M,N,Nphi,arorder,numbasins,my_rank;
     216   IssmDouble starttime,tstep_ar,tinit_ar;
     217   femmodel->parameters->FindParam(&numbasins,BasalforcingsLinearNumBasinsEnum);
     218   femmodel->parameters->FindParam(&arorder,BasalforcingsAutoregressiveOrderEnum);
     219   IssmDouble* beta0    = NULL;
     220   IssmDouble* beta1    = NULL;
     221   IssmDouble* phi      = NULL;
     222   femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
     223   femmodel->parameters->FindParam(&tstep_ar,BasalforcingsAutoregressionTimestepEnum);
     224   femmodel->parameters->FindParam(&tinit_ar,BasalforcingsAutoregressionInitialTimeEnum);
     225   femmodel->parameters->FindParam(&beta0,&M,BasalforcingsBeta0Enum);    _assert_(M==numbasins);
     226   femmodel->parameters->FindParam(&beta1,&M,BasalforcingsBeta1Enum);    _assert_(M==numbasins);
     227   femmodel->parameters->FindParam(&phi,&M,&Nphi,BasalforcingsPhiEnum);  _assert_(M==numbasins); _assert_(Nphi==arorder);
     228       
     229        /*AR model spin-up with 0 noise to initialize BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum (688 = log(0.001)/log(0.99): decaying time of inluence of phi[0]=0.99 to 0.001 of beta_0*/
     230   int nspin = 688;
     231   for(Object* &object:femmodel->elements->objects){
     232      Element* element = xDynamicCast<Element*>(object); //generate element object
     233      element->AutoregressionInit(numbasins,arorder,nspin,starttime,tstep_ar,tinit_ar,beta0,beta1,phi,BasalforcingsDeepwaterMeltingRateAutoregressionEnum);
     234        }
     235        /*Cleanup*/
     236   xDelete<IssmDouble>(beta0);
     237   xDelete<IssmDouble>(beta1);
     238   xDelete<IssmDouble>(phi);
     239}/*}}}*/
     240void AutoregressionLinearFloatingiceMeltingRatex(FemModel* femmodel){/*{{{*/
     241
     242        /*Get time parameters*/
     243   IssmDouble time,dt,starttime,tstep_ar;
     244   femmodel->parameters->FindParam(&time,TimeEnum);
     245   femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
     246   femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
     247   femmodel->parameters->FindParam(&tstep_ar,BasalforcingsAutoregressionTimestepEnum);
     248
     249   /*Initialize module at first time step*/
     250   if(time<=starttime+dt){AutoregressionLinearFloatingiceMeltingRateInitx(femmodel);}
     251   /*Determine if this is a time step for the AR model*/
     252   bool isstepforar = false;
     253
     254   #ifndef _HAVE_AD_
     255   if((fmod(time,tstep_ar)<fmod((time-dt),tstep_ar)) || (time<=starttime+dt) || tstep_ar==dt) isstepforar = true;
     256   #else
     257   _error_("not implemented yet");
     258   #endif
     259
     260   /*Load parameters*/
     261   bool isstochastic;
     262   bool isdeepmeltingstochastic = false;
     263   int M,N,Nphi,arorder,numbasins,my_rank;
     264   femmodel->parameters->FindParam(&numbasins,BasalforcingsLinearNumBasinsEnum);
     265        femmodel->parameters->FindParam(&arorder,BasalforcingsAutoregressiveOrderEnum);
     266   IssmDouble tinit_ar;
     267   IssmDouble* beta0          = NULL;
     268   IssmDouble* beta1          = NULL;
     269   IssmDouble* phi            = NULL;
     270   IssmDouble* deepwaterel    = NULL;
     271   IssmDouble* upperwaterel   = NULL;
     272   IssmDouble* upperwatermelt = NULL;
     273   IssmDouble* perturbation   = NULL;
     274
     275        /*Get autoregressive parameters*/
     276   femmodel->parameters->FindParam(&tinit_ar,BasalforcingsAutoregressionInitialTimeEnum);
     277   femmodel->parameters->FindParam(&beta0,&M,BasalforcingsBeta0Enum);               _assert_(M==numbasins);
     278   femmodel->parameters->FindParam(&beta1,&M,BasalforcingsBeta1Enum);               _assert_(M==numbasins);
     279   femmodel->parameters->FindParam(&phi,&M,&Nphi,BasalforcingsPhiEnum);             _assert_(M==numbasins); _assert_(Nphi==arorder);
     280
     281        /*Get basin-specific parameters*/
     282   femmodel->parameters->FindParam(&deepwaterel,&M,BasalforcingsDeepwaterElevationEnum);            _assert_(M==numbasins);
     283   femmodel->parameters->FindParam(&upperwaterel,&M,BasalforcingsUpperwaterElevationEnum);          _assert_(M==numbasins);
     284   femmodel->parameters->FindParam(&upperwatermelt,&M,BasalforcingsUpperwaterMeltingRateEnum);      _assert_(M==numbasins);
     285
     286        /*Evaluate whether stochasticity on DeepwaterMeltingRate is requested*/
     287        femmodel->parameters->FindParam(&isstochastic,StochasticForcingIsStochasticForcingEnum);
     288   if(isstochastic){
     289      int  numstochasticfields;
     290      int* stochasticfields;
     291      femmodel->parameters->FindParam(&numstochasticfields,StochasticForcingNumFieldsEnum);
     292      femmodel->parameters->FindParam(&stochasticfields,&N,StochasticForcingFieldsEnum); _assert_(N==numstochasticfields);
     293      for(int i=0;i<numstochasticfields;i++){
     294         if(stochasticfields[i]==BasalforcingsDeepwaterMeltingRateAutoregressionEnum) isdeepmeltingstochastic = true;
     295      }
     296      xDelete<int>(stochasticfields);
     297   }
     298   /*Time elapsed with respect to AR model initial time*/
     299   IssmDouble telapsed_ar = time-tinit_ar;
     300
     301        /*Loop over each element to compute FloatingiceMeltingRate at vertices*/
     302   for(Object* &object:femmodel->elements->objects){
     303      Element* element = xDynamicCast<Element*>(object);
     304      /*Compute autoregression*/
     305      element->Autoregression(isstepforar,arorder,telapsed_ar,beta0,beta1,phi,isdeepmeltingstochastic,BasalforcingsDeepwaterMeltingRateAutoregressionEnum);
     306                element->BasinLinearFloatingiceMeltingRate(deepwaterel,upperwatermelt,upperwaterel,perturbation);
     307        }
     308}/*}}}*/
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h

    r24145 r26836  
    1616void FloatingiceMeltingRateIsmip6x(FemModel* femmodel);
    1717void BeckmannGoosseFloatingiceMeltingRatex(FemModel* femmodel);
     18void AutoregressionLinearFloatingiceMeltingRateInitx(FemModel* femmodel);
     19void AutoregressionLinearFloatingiceMeltingRatex(FemModel* femmodel);
    1820
    1921#endif  /* _FloatingiceMeltingRatex_H*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r26810 r26836  
    252252                        break;
    253253                case BeckmannGoosseFloatingMeltRateEnum:
     254                        break;
     255                case AutoregressionLinearFloatingMeltRateEnum:
     256                        /*Add parameters that are not in standard nbvertices format*/
     257         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsLinearNumBasinsEnum));
     258         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_order",BasalforcingsAutoregressiveOrderEnum));
     259         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_initialtime",BasalforcingsAutoregressionInitialTimeEnum));
     260         parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.ar_timestep",BasalforcingsAutoregressionTimestepEnum));
     261                        iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.beta0");
     262         parameters->AddObject(new DoubleVecParam(BasalforcingsBeta0Enum,transparam,N));
     263         xDelete<IssmDouble>(transparam);
     264         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.beta1");
     265         parameters->AddObject(new DoubleVecParam(BasalforcingsBeta1Enum,transparam,N));
     266         xDelete<IssmDouble>(transparam);
     267         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.phi");
     268         parameters->AddObject(new DoubleMatParam(BasalforcingsPhiEnum,transparam,M,N));
     269         xDelete<IssmDouble>(transparam);
     270                        iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.upperwater_melting_rate");
     271         parameters->AddObject(new DoubleVecParam(BasalforcingsUpperwaterMeltingRateEnum,transparam,N));
     272         xDelete<IssmDouble>(transparam);   
     273         iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.upperwater_elevation");
     274         parameters->AddObject(new DoubleVecParam(BasalforcingsUpperwaterElevationEnum,transparam,N));
     275         xDelete<IssmDouble>(transparam);
     276                        iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.deepwater_elevation");
     277         parameters->AddObject(new DoubleVecParam(BasalforcingsDeepwaterElevationEnum,transparam,N));
     278         xDelete<IssmDouble>(transparam);   
    254279                        break;
    255280                default:
  • issm/trunk-jpl/src/c/shared/Enum/Enum.vim

    r26826 r26836  
    6464syn keyword cConstant BalancethicknessStabilizationEnum
    6565syn keyword cConstant BarystaticContributionsEnum
     66syn keyword cConstant BasalforcingsAutoregressionInitialTimeEnum
     67syn keyword cConstant BasalforcingsAutoregressionTimestepEnum
     68syn keyword cConstant BasalforcingsAutoregressiveOrderEnum
     69syn keyword cConstant BasalforcingsBeta0Enum
     70syn keyword cConstant BasalforcingsBeta1Enum
    6671syn keyword cConstant BasalforcingsBottomplumedepthEnum
    6772syn keyword cConstant BasalforcingsCrustthicknessEnum
    6873syn keyword cConstant BasalforcingsDeepwaterElevationEnum
    6974syn keyword cConstant BasalforcingsDeepwaterMeltingRateEnum
     75syn keyword cConstant BasalforcingsDeepwaterMeltingRateNoiseEnum
    7076syn keyword cConstant BasalforcingsDtbgEnum
    7177syn keyword cConstant BasalforcingsEnum
     
    7783syn keyword cConstant BasalforcingsIsmip6NumBasinsEnum
    7884syn keyword cConstant BasalforcingsIsmip6TfDepthsEnum
     85syn keyword cConstant BasalforcingsLinearNumBasinsEnum
    7986syn keyword cConstant BasalforcingsLowercrustheatEnum
    8087syn keyword cConstant BasalforcingsMantleconductivityEnum
    8188syn keyword cConstant BasalforcingsNusseltEnum
     89syn keyword cConstant BasalforcingsPhiEnum
    8290syn keyword cConstant BasalforcingsPicoAverageOverturningEnum
    8391syn keyword cConstant BasalforcingsPicoAverageSalinityEnum
     
    594602syn keyword cConstant BalancethicknessThickeningRateEnum
    595603syn keyword cConstant BasalCrevasseEnum
     604syn keyword cConstant BasalforcingsDeepwaterMeltingRateAutoregressionEnum
     605syn keyword cConstant BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum
    596606syn keyword cConstant BasalforcingsFloatingiceMeltingRateEnum
    597607syn keyword cConstant BasalforcingsGeothermalfluxEnum
    598608syn keyword cConstant BasalforcingsGroundediceMeltingRateEnum
     609syn keyword cConstant BasalforcingsLinearBasinIdEnum
    599610syn keyword cConstant BasalforcingsPerturbationMeltingRateEnum
    600611syn keyword cConstant BasalforcingsSpatialDeepwaterElevationEnum
     
    12121223syn keyword cConstant ArrheniusEnum
    12131224syn keyword cConstant AutodiffJacobianEnum
     1225syn keyword cConstant AutoregressionLinearFloatingMeltRateEnum
    12141226syn keyword cConstant Balancethickness2AnalysisEnum
    12151227syn keyword cConstant Balancethickness2SolutionEnum
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r26826 r26836  
    5858        BalancethicknessStabilizationEnum,
    5959        BarystaticContributionsEnum,
     60        BasalforcingsAutoregressionInitialTimeEnum,
     61        BasalforcingsAutoregressionTimestepEnum,
     62        BasalforcingsAutoregressiveOrderEnum,
     63        BasalforcingsBeta0Enum,
     64        BasalforcingsBeta1Enum,
    6065        BasalforcingsBottomplumedepthEnum,
    6166        BasalforcingsCrustthicknessEnum,
    6267        BasalforcingsDeepwaterElevationEnum,
    6368        BasalforcingsDeepwaterMeltingRateEnum,
     69        BasalforcingsDeepwaterMeltingRateNoiseEnum,
    6470        BasalforcingsDtbgEnum,
    6571        BasalforcingsEnum,
     
    7177        BasalforcingsIsmip6NumBasinsEnum,
    7278        BasalforcingsIsmip6TfDepthsEnum,
     79        BasalforcingsLinearNumBasinsEnum,
    7380        BasalforcingsLowercrustheatEnum,
    7481        BasalforcingsMantleconductivityEnum,
    7582        BasalforcingsNusseltEnum,
     83        BasalforcingsPhiEnum,
    7684        BasalforcingsPicoAverageOverturningEnum,
    7785        BasalforcingsPicoAverageSalinityEnum,
     
    590598        BalancethicknessThickeningRateEnum,
    591599        BasalCrevasseEnum,
     600        BasalforcingsDeepwaterMeltingRateAutoregressionEnum,
     601        BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum,
    592602        BasalforcingsFloatingiceMeltingRateEnum,
    593603        BasalforcingsGeothermalfluxEnum,
    594604        BasalforcingsGroundediceMeltingRateEnum,
     605        BasalforcingsLinearBasinIdEnum,
    595606        BasalforcingsPerturbationMeltingRateEnum,
    596607        BasalforcingsSpatialDeepwaterElevationEnum,
     
    12111222        ArrheniusEnum,
    12121223        AutodiffJacobianEnum,
     1224        AutoregressionLinearFloatingMeltRateEnum,
    12131225        Balancethickness2AnalysisEnum,
    12141226        Balancethickness2SolutionEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r26826 r26836  
    6666                case BalancethicknessStabilizationEnum : return "BalancethicknessStabilization";
    6767                case BarystaticContributionsEnum : return "BarystaticContributions";
     68                case BasalforcingsAutoregressionInitialTimeEnum : return "BasalforcingsAutoregressionInitialTime";
     69                case BasalforcingsAutoregressionTimestepEnum : return "BasalforcingsAutoregressionTimestep";
     70                case BasalforcingsAutoregressiveOrderEnum : return "BasalforcingsAutoregressiveOrder";
     71                case BasalforcingsBeta0Enum : return "BasalforcingsBeta0";
     72                case BasalforcingsBeta1Enum : return "BasalforcingsBeta1";
    6873                case BasalforcingsBottomplumedepthEnum : return "BasalforcingsBottomplumedepth";
    6974                case BasalforcingsCrustthicknessEnum : return "BasalforcingsCrustthickness";
    7075                case BasalforcingsDeepwaterElevationEnum : return "BasalforcingsDeepwaterElevation";
    7176                case BasalforcingsDeepwaterMeltingRateEnum : return "BasalforcingsDeepwaterMeltingRate";
     77                case BasalforcingsDeepwaterMeltingRateNoiseEnum : return "BasalforcingsDeepwaterMeltingRateNoise";
    7278                case BasalforcingsDtbgEnum : return "BasalforcingsDtbg";
    7379                case BasalforcingsEnum : return "Basalforcings";
     
    7985                case BasalforcingsIsmip6NumBasinsEnum : return "BasalforcingsIsmip6NumBasins";
    8086                case BasalforcingsIsmip6TfDepthsEnum : return "BasalforcingsIsmip6TfDepths";
     87                case BasalforcingsLinearNumBasinsEnum : return "BasalforcingsLinearNumBasins";
    8188                case BasalforcingsLowercrustheatEnum : return "BasalforcingsLowercrustheat";
    8289                case BasalforcingsMantleconductivityEnum : return "BasalforcingsMantleconductivity";
    8390                case BasalforcingsNusseltEnum : return "BasalforcingsNusselt";
     91                case BasalforcingsPhiEnum : return "BasalforcingsPhi";
    8492                case BasalforcingsPicoAverageOverturningEnum : return "BasalforcingsPicoAverageOverturning";
    8593                case BasalforcingsPicoAverageSalinityEnum : return "BasalforcingsPicoAverageSalinity";
     
    596604                case BalancethicknessThickeningRateEnum : return "BalancethicknessThickeningRate";
    597605                case BasalCrevasseEnum : return "BasalCrevasse";
     606                case BasalforcingsDeepwaterMeltingRateAutoregressionEnum : return "BasalforcingsDeepwaterMeltingRateAutoregression";
     607                case BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum : return "BasalforcingsDeepwaterMeltingRateValuesAutoregression";
    598608                case BasalforcingsFloatingiceMeltingRateEnum : return "BasalforcingsFloatingiceMeltingRate";
    599609                case BasalforcingsGeothermalfluxEnum : return "BasalforcingsGeothermalflux";
    600610                case BasalforcingsGroundediceMeltingRateEnum : return "BasalforcingsGroundediceMeltingRate";
     611                case BasalforcingsLinearBasinIdEnum : return "BasalforcingsLinearBasinId";
    601612                case BasalforcingsPerturbationMeltingRateEnum : return "BasalforcingsPerturbationMeltingRate";
    602613                case BasalforcingsSpatialDeepwaterElevationEnum : return "BasalforcingsSpatialDeepwaterElevation";
     
    12141225                case ArrheniusEnum : return "Arrhenius";
    12151226                case AutodiffJacobianEnum : return "AutodiffJacobian";
     1227                case AutoregressionLinearFloatingMeltRateEnum : return "AutoregressionLinearFloatingMeltRate";
    12161228                case Balancethickness2AnalysisEnum : return "Balancethickness2Analysis";
    12171229                case Balancethickness2SolutionEnum : return "Balancethickness2Solution";
  • issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim

    r26826 r26836  
    5757syn keyword juliaConstC BalancethicknessStabilizationEnum
    5858syn keyword juliaConstC BarystaticContributionsEnum
     59syn keyword juliaConstC BasalforcingsAutoregressionInitialTimeEnum
     60syn keyword juliaConstC BasalforcingsAutoregressionTimestepEnum
     61syn keyword juliaConstC BasalforcingsAutoregressiveOrderEnum
     62syn keyword juliaConstC BasalforcingsBeta0Enum
     63syn keyword juliaConstC BasalforcingsBeta1Enum
    5964syn keyword juliaConstC BasalforcingsBottomplumedepthEnum
    6065syn keyword juliaConstC BasalforcingsCrustthicknessEnum
    6166syn keyword juliaConstC BasalforcingsDeepwaterElevationEnum
    6267syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateEnum
     68syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateNoiseEnum
    6369syn keyword juliaConstC BasalforcingsDtbgEnum
    6470syn keyword juliaConstC BasalforcingsEnum
     
    7076syn keyword juliaConstC BasalforcingsIsmip6NumBasinsEnum
    7177syn keyword juliaConstC BasalforcingsIsmip6TfDepthsEnum
     78syn keyword juliaConstC BasalforcingsLinearNumBasinsEnum
    7279syn keyword juliaConstC BasalforcingsLowercrustheatEnum
    7380syn keyword juliaConstC BasalforcingsMantleconductivityEnum
    7481syn keyword juliaConstC BasalforcingsNusseltEnum
     82syn keyword juliaConstC BasalforcingsPhiEnum
    7583syn keyword juliaConstC BasalforcingsPicoAverageOverturningEnum
    7684syn keyword juliaConstC BasalforcingsPicoAverageSalinityEnum
     
    587595syn keyword juliaConstC BalancethicknessThickeningRateEnum
    588596syn keyword juliaConstC BasalCrevasseEnum
     597syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateAutoregressionEnum
     598syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum
    589599syn keyword juliaConstC BasalforcingsFloatingiceMeltingRateEnum
    590600syn keyword juliaConstC BasalforcingsGeothermalfluxEnum
    591601syn keyword juliaConstC BasalforcingsGroundediceMeltingRateEnum
     602syn keyword juliaConstC BasalforcingsLinearBasinIdEnum
    592603syn keyword juliaConstC BasalforcingsPerturbationMeltingRateEnum
    593604syn keyword juliaConstC BasalforcingsSpatialDeepwaterElevationEnum
     
    12051216syn keyword juliaConstC ArrheniusEnum
    12061217syn keyword juliaConstC AutodiffJacobianEnum
     1218syn keyword juliaConstC AutoregressionLinearFloatingMeltRateEnum
    12071219syn keyword juliaConstC Balancethickness2AnalysisEnum
    12081220syn keyword juliaConstC Balancethickness2SolutionEnum
  • issm/trunk-jpl/src/c/shared/io/Marshalling/IoCodeConversions.cpp

    r26832 r26836  
    255255                case 7: return BasalforcingsIsmip6Enum;
    256256                case 8: return BeckmannGoosseFloatingMeltRateEnum;
     257                case 9: return AutoregressionLinearFloatingMeltRateEnum;
    257258                default: _error_("Marshalled Basal Forcings code \""<<enum_in<<"\" not supported yet");
    258259        }
Note: See TracChangeset for help on using the changeset viewer.