Ignore:
Timestamp:
09/02/22 04:49:02 (3 years ago)
Author:
vverjans
Message:

NEW arma process fully implemented

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp

    r27250 r27260  
    168168   bool isstochastic;
    169169   bool issmbstochastic = false;
    170    int M,N,Narlagcoefs,arorder,numbasins,numelevbins,my_rank;
     170   int M,N,Narlagcoefs,Nmalagcoefs,arorder,maorder,numbasins,numelevbins,my_rank;
    171171   femmodel->parameters->FindParam(&numbasins,SmbNumBasinsEnum);
    172172   femmodel->parameters->FindParam(&arorder,SmbARMAarOrderEnum);
     173   femmodel->parameters->FindParam(&maorder,SmbARMAmaOrderEnum);
    173174   femmodel->parameters->FindParam(&numelevbins,SmbNumElevationBinsEnum);
    174175   IssmDouble tinit_arma;
     
    176177   IssmDouble* trend         = NULL;
    177178   IssmDouble* arlagcoefs    = NULL;
     179   IssmDouble* malagcoefs    = NULL;
    178180   IssmDouble* lapserates    = NULL;
    179181   IssmDouble* elevbins      = NULL;
     
    184186   femmodel->parameters->FindParam(&trend,&M,SmbARMAtrendEnum);                          _assert_(M==numbasins);
    185187   femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlagcoefs,SmbARMAarlagcoefsEnum);   _assert_(M==numbasins); _assert_(Narlagcoefs==arorder);
     188   femmodel->parameters->FindParam(&malagcoefs,&M,&Nmalagcoefs,SmbARMAmalagcoefsEnum);   _assert_(M==numbasins); _assert_(Nmalagcoefs==maorder);
    186189   femmodel->parameters->FindParam(&lapserates,&M,&N,SmbLapseRatesEnum);                 _assert_(M==numbasins); _assert_(N==numelevbins);
    187190   femmodel->parameters->FindParam(&elevbins,&M,&N,SmbElevationBinsEnum);                _assert_(M==numbasins); _assert_(N==numelevbins-1);
     
    206209      Element* element = xDynamicCast<Element*>(object);
    207210      /*Compute ARMA*/
    208                 element->Autoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,issmbstochastic,SMBarmaEnum);
     211                element->ArmaProcess(isstepforarma,arorder,maorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,malagcoefs,issmbstochastic,SMBarmaEnum);
    209212                /*Compute lapse rate adjustment*/
    210213                element->LapseRateBasinSMB(numelevbins,lapserates,elevbins,refelevation);
     
    215218   xDelete<IssmDouble>(trend);
    216219   xDelete<IssmDouble>(arlagcoefs);
     220   xDelete<IssmDouble>(malagcoefs);
    217221   xDelete<IssmDouble>(lapserates);
    218222   xDelete<IssmDouble>(elevbins);
Note: See TracChangeset for help on using the changeset viewer.