Changeset 27260
- Timestamp:
- 09/02/22 04:49:02 (3 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r27250 r27260 61 61 return false; 62 62 }/*}}}*/ 63 void Element::ArmaProcess(bool isstepforarma,int arorder,IssmDouble telapsed_arma,IssmDouble tstep_arma,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* arlagcoefs,bool isfieldstochastic,int enum_type){/*{{{*/ 63 void Element::ArmaProcess(bool isstepforarma,int arorder,int maorder,IssmDouble telapsed_arma,IssmDouble tstep_arma,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* arlagcoefs,IssmDouble* malagcoefs,bool isfieldstochastic,int enum_type){/*{{{*/ 64 const int numvertices = this->GetNumberOfVertices(); 65 int basinid,M,N,arenum_type,maenum_type,basinenum_type,noiseenum_type,outenum_type; 66 IssmDouble time,dt,starttime,termconstant_basin,trend_basin,noiseterm; 67 IssmDouble* arlagcoefs_basin = xNew<IssmDouble>(arorder); 68 IssmDouble* malagcoefs_basin = xNew<IssmDouble>(maorder); 69 IssmDouble* varlist = xNew<IssmDouble>(numvertices); 70 IssmDouble* valuesautoregression = NULL; 71 IssmDouble* valuesmovingaverage = NULL; 72 Input* noiseterm_input = NULL; 73 74 /*Get field-specific enums*/ 75 switch(enum_type){ 76 case(SMBarmaEnum): 77 arenum_type = SmbValuesAutoregressionEnum; 78 maenum_type = SmbValuesMovingaverageEnum; 79 basinenum_type = SmbBasinsIdEnum; 80 noiseenum_type = SmbARMANoiseEnum; 81 outenum_type = SmbMassBalanceEnum; 82 break; 83 case(FrontalForcingsRignotarmaEnum): 84 arenum_type = ThermalforcingValuesAutoregressionEnum; 85 maenum_type = ThermalforcingValuesMovingaverageEnum; 86 basinenum_type = FrontalForcingsBasinIdEnum; 87 noiseenum_type = ThermalforcingARMANoiseEnum; 88 outenum_type = FrontalForcingsThermalForcingEnum; 89 break; 90 case(BasalforcingsDeepwaterMeltingRatearmaEnum): 91 arenum_type = BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum; 92 maenum_type = BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum; 93 basinenum_type = BasalforcingsLinearBasinIdEnum; 94 noiseenum_type = BasalforcingsDeepwaterMeltingRateNoiseEnum; 95 outenum_type = BasalforcingsSpatialDeepwaterMeltingRateEnum; 96 break; 97 } 98 99 /*Get time parameters*/ 100 this->parameters->FindParam(&time,TimeEnum); 101 this->parameters->FindParam(&dt,TimesteppingTimeStepEnum); 102 this->parameters->FindParam(&starttime,TimesteppingStartTimeEnum); 103 104 /*Get basin coefficients*/ 105 this->GetInputValue(&basinid,basinenum_type); 106 for(int ii=0;ii<arorder;ii++) arlagcoefs_basin[ii] = arlagcoefs[basinid*arorder+ii]; 107 for(int ii=0;ii<maorder;ii++) malagcoefs_basin[ii] = malagcoefs[basinid*maorder+ii]; 108 termconstant_basin = termconstant[basinid]; 109 trend_basin = trend[basinid]; 110 111 /*Initialze autoregressive and moving-average values at first time step*/ 112 if(time<=starttime+dt){ 113 IssmDouble* initvaluesautoregression = xNewZeroInit<IssmDouble>(numvertices*arorder); 114 IssmDouble* initvaluesmovingaverage = xNewZeroInit<IssmDouble>(numvertices*maorder); 115 for(int i=0;i<numvertices*arorder;i++) initvaluesautoregression[i]=termconstant_basin; 116 this->inputs->SetArrayInput(arenum_type,this->lid,initvaluesautoregression,numvertices*arorder); 117 this->inputs->SetArrayInput(maenum_type,this->lid,initvaluesmovingaverage,numvertices*maorder); 118 xDelete<IssmDouble>(initvaluesautoregression); 119 xDelete<IssmDouble>(initvaluesmovingaverage); 120 } 121 122 /*Get noise, autoregressive terms, moving-average terms*/ 123 if(isfieldstochastic){ 124 noiseterm_input = this->GetInput(noiseenum_type); 125 Gauss* gauss = this->NewGauss(); 126 noiseterm_input->GetInputValue(&noiseterm,gauss); 127 delete gauss; 128 } 129 else noiseterm = 0.0; 130 this->inputs->GetArray(arenum_type,this->lid,&valuesautoregression,&M); 131 this->inputs->GetArray(maenum_type,this->lid,&valuesmovingaverage,&M); 132 133 /*If not ARMA model timestep: take the old values of variable*/ 134 if(isstepforarma==false){ 135 for(int i=0;i<numvertices;i++) varlist[i]=valuesautoregression[i]; 136 } 137 /*If ARMA model timestep: compute variable values on vertices from ARMA*/ 138 else{ 139 for(int v=0;v<numvertices;v++){ 140 141 /*Compute autoregressive term*/ 142 IssmDouble autoregressionterm=0.; 143 for(int ii=0;ii<arorder;ii++) autoregressionterm += arlagcoefs_basin[ii]*(valuesautoregression[v+ii*numvertices]-(termconstant_basin+trend_basin*(telapsed_arma-(ii+1)*tstep_arma))); 144 /*Compute moving-average term*/ 145 IssmDouble movingaverageterm=0.; 146 for(int ii=0;ii<maorder;ii++) movingaverageterm += malagcoefs_basin[ii]*valuesmovingaverage[v+ii*numvertices]; 147 148 /*Stochastic variable value*/ 149 varlist[v] = termconstant_basin+trend_basin*telapsed_arma+autoregressionterm+movingaverageterm+noiseterm; 150 } 151 /*Update autoregression and moving-average values*/ 152 IssmDouble* temparrayar = xNew<IssmDouble>(numvertices*arorder); 153 IssmDouble* temparrayma = xNew<IssmDouble>(numvertices*maorder); 154 /*Assign newest values and shift older values*/ 155 for(int i=0;i<numvertices;i++) temparrayar[i] = varlist[i]; 156 for(int i=0;i<numvertices;i++) temparrayma[i] = noiseterm; 157 for(int i=0;i<(arorder-1)*numvertices;i++) temparrayar[i+numvertices] = valuesautoregression[i]; 158 for(int i=0;i<(maorder-1)*numvertices;i++) temparrayma[i+numvertices] = valuesmovingaverage[i]; 159 this->inputs->SetArrayInput(arenum_type,this->lid,temparrayar,numvertices*arorder); 160 this->inputs->SetArrayInput(maenum_type,this->lid,temparrayma,numvertices*maorder); 161 xDelete<IssmDouble>(temparrayar); 162 xDelete<IssmDouble>(temparrayma); 163 } 164 165 /*Add input to element*/ 166 this->AddInput(outenum_type,varlist,P1Enum); 167 168 /*Cleanup*/ 169 xDelete<IssmDouble>(arlagcoefs_basin); 170 xDelete<IssmDouble>(malagcoefs_basin); 171 xDelete<IssmDouble>(varlist); 172 xDelete<IssmDouble>(valuesautoregression); 173 xDelete<IssmDouble>(valuesmovingaverage); 64 174 }/*}}}*/ 65 175 void Element::Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble tstep_ar,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* lagcoefs,bool isfieldstochastic,int enum_type){/*{{{*/ -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r27250 r27260 68 68 /*bool AnyActive(void);*/ 69 69 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);70 void ArmaProcess(bool isstepforarma,int arorder,int maorder,IssmDouble telapsed_arma,IssmDouble tstep_arma,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* arlagcoefs,IssmDouble* malagcoefs,bool isfieldstochastic,int enum_type); 71 71 void Autoregression(bool isstepforar,int arorder,IssmDouble telapsed_ar,IssmDouble tstep_ar,IssmDouble* termconstant,IssmDouble* trend,IssmDouble* lagcoefs,bool isfieldstochastic,int enum_type); 72 72 void BasinLinearFloatingiceMeltingRate(IssmDouble* deepwaterel,IssmDouble* upperwatermelt,IssmDouble* upperwaterel,IssmDouble* perturbation); -
issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp
r27250 r27260 231 231 bool isstochastic; 232 232 bool isdeepmeltingstochastic = false; 233 int M,N,Narlag s,arorder,numbasins,my_rank;233 int M,N,Narlagcoefs,Nmalagcoefs,arorder,maorder,numbasins,my_rank; 234 234 femmodel->parameters->FindParam(&numbasins,BasalforcingsLinearNumBasinsEnum); 235 235 femmodel->parameters->FindParam(&arorder,BasalforcingsARMAarOrderEnum); 236 femmodel->parameters->FindParam(&maorder,BasalforcingsARMAmaOrderEnum); 236 237 IssmDouble tinit_arma; 237 238 IssmDouble* termconstant = NULL; 238 239 IssmDouble* trend = NULL; 239 240 IssmDouble* arlagcoefs = NULL; 241 IssmDouble* malagcoefs = NULL; 240 242 IssmDouble* deepwaterel = NULL; 241 243 IssmDouble* upperwaterel = NULL; … … 247 249 femmodel->parameters->FindParam(&termconstant,&M,BasalforcingsARMAconstEnum); _assert_(M==numbasins); 248 250 femmodel->parameters->FindParam(&trend,&M,BasalforcingsARMAtrendEnum); _assert_(M==numbasins); 249 femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlags,BasalforcingsARMAarlagcoefsEnum); _assert_(M==numbasins); _assert_(Narlags==arorder); 251 femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlagcoefs,BasalforcingsARMAarlagcoefsEnum); _assert_(M==numbasins); _assert_(Narlagcoefs==arorder); 252 femmodel->parameters->FindParam(&malagcoefs,&M,&Nmalagcoefs,BasalforcingsARMAmalagcoefsEnum); _assert_(M==numbasins); _assert_(Nmalagcoefs==maorder); 250 253 251 254 /*Get basin-specific parameters*/ … … 272 275 for(Object* &object:femmodel->elements->objects){ 273 276 Element* element = xDynamicCast<Element*>(object); 274 /*Compute autoregression*/275 element->A utoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,isdeepmeltingstochastic,BasalforcingsDeepwaterMeltingRatearmaEnum);277 /*Compute ARMA*/ 278 element->ArmaProcess(isstepforarma,arorder,maorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,malagcoefs,isdeepmeltingstochastic,BasalforcingsDeepwaterMeltingRatearmaEnum); 276 279 element->BasinLinearFloatingiceMeltingRate(deepwaterel,upperwatermelt,upperwaterel,perturbation); 277 280 } … … 281 284 xDelete<IssmDouble>(trend); 282 285 xDelete<IssmDouble>(arlagcoefs); 286 xDelete<IssmDouble>(malagcoefs); 283 287 xDelete<IssmDouble>(deepwaterel); 284 288 xDelete<IssmDouble>(upperwaterel); -
issm/trunk-jpl/src/c/modules/FrontalForcingsx/FrontalForcingsx.cpp
r27250 r27260 50 50 bool isstochastic; 51 51 bool istfstochastic = false; 52 int M,N,Narlagcoefs, arorder,numbasins,my_rank;52 int M,N,Narlagcoefs,Nmalagcoefs,arorder,maorder,numbasins,my_rank; 53 53 femmodel->parameters->FindParam(&numbasins,FrontalForcingsNumberofBasinsEnum); 54 54 femmodel->parameters->FindParam(&arorder,FrontalForcingsARMAarOrderEnum); 55 femmodel->parameters->FindParam(&maorder,FrontalForcingsARMAarOrderEnum); 55 56 IssmDouble tinit_arma; 56 57 IssmDouble* termconstant = NULL; 57 58 IssmDouble* trend = NULL; 58 59 IssmDouble* arlagcoefs = NULL; 60 IssmDouble* malagcoefs = NULL; 59 61 60 62 femmodel->parameters->FindParam(&tinit_arma,FrontalForcingsARMAInitialTimeEnum); … … 62 64 femmodel->parameters->FindParam(&trend,&M,FrontalForcingsARMAtrendEnum); _assert_(M==numbasins); 63 65 femmodel->parameters->FindParam(&arlagcoefs,&M,&Narlagcoefs,FrontalForcingsARMAarlagcoefsEnum); _assert_(M==numbasins); _assert_(Narlagcoefs==arorder); 66 femmodel->parameters->FindParam(&malagcoefs,&M,&Nmalagcoefs,FrontalForcingsARMAmalagcoefsEnum); _assert_(M==numbasins); _assert_(Nmalagcoefs==maorder); 64 67 65 68 femmodel->parameters->FindParam(&isstochastic,StochasticForcingIsStochasticForcingEnum); … … 80 83 for(Object* &object:femmodel->elements->objects){ 81 84 Element* element = xDynamicCast<Element*>(object); 82 element->A utoregression(isstepforarma,arorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,istfstochastic,FrontalForcingsRignotarmaEnum);85 element->ArmaProcess(isstepforarma,arorder,maorder,telapsed_arma,tstep_arma,termconstant,trend,arlagcoefs,malagcoefs,istfstochastic,FrontalForcingsRignotarmaEnum); 83 86 } 84 87 … … 87 90 xDelete<IssmDouble>(trend); 88 91 xDelete<IssmDouble>(arlagcoefs); 92 xDelete<IssmDouble>(malagcoefs); 89 93 }/*}}}*/ -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
r27250 r27260 168 168 bool isstochastic; 169 169 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; 171 171 femmodel->parameters->FindParam(&numbasins,SmbNumBasinsEnum); 172 172 femmodel->parameters->FindParam(&arorder,SmbARMAarOrderEnum); 173 femmodel->parameters->FindParam(&maorder,SmbARMAmaOrderEnum); 173 174 femmodel->parameters->FindParam(&numelevbins,SmbNumElevationBinsEnum); 174 175 IssmDouble tinit_arma; … … 176 177 IssmDouble* trend = NULL; 177 178 IssmDouble* arlagcoefs = NULL; 179 IssmDouble* malagcoefs = NULL; 178 180 IssmDouble* lapserates = NULL; 179 181 IssmDouble* elevbins = NULL; … … 184 186 femmodel->parameters->FindParam(&trend,&M,SmbARMAtrendEnum); _assert_(M==numbasins); 185 187 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); 186 189 femmodel->parameters->FindParam(&lapserates,&M,&N,SmbLapseRatesEnum); _assert_(M==numbasins); _assert_(N==numelevbins); 187 190 femmodel->parameters->FindParam(&elevbins,&M,&N,SmbElevationBinsEnum); _assert_(M==numbasins); _assert_(N==numelevbins-1); … … 206 209 Element* element = xDynamicCast<Element*>(object); 207 210 /*Compute ARMA*/ 208 element->A utoregression(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); 209 212 /*Compute lapse rate adjustment*/ 210 213 element->LapseRateBasinSMB(numelevbins,lapserates,elevbins,refelevation); … … 215 218 xDelete<IssmDouble>(trend); 216 219 xDelete<IssmDouble>(arlagcoefs); 220 xDelete<IssmDouble>(malagcoefs); 217 221 xDelete<IssmDouble>(lapserates); 218 222 xDelete<IssmDouble>(elevbins); -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r27250 r27260 125 125 syn keyword cConstant CalvingYoffsetEnum 126 126 syn keyword cConstant CalvingVelLowerboundEnum 127 syn keyword cConstant CalvingVelMaxEnum 128 syn keyword cConstant CalvingVelThresholdEnum 127 129 syn keyword cConstant CalvingVelUpperboundEnum 128 130 syn keyword cConstant ConfigurationTypeEnum … … 640 642 syn keyword cConstant BasalforcingsDeepwaterMeltingRateNoiseEnum 641 643 syn keyword cConstant BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum 644 syn keyword cConstant BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum 642 645 syn keyword cConstant BasalforcingsFloatingiceMeltingRateEnum 643 646 syn keyword cConstant BasalforcingsGeothermalfluxEnum … … 1102 1105 syn keyword cConstant ThermalforcingARMANoiseEnum 1103 1106 syn keyword cConstant ThermalforcingValuesAutoregressionEnum 1107 syn keyword cConstant ThermalforcingValuesMovingaverageEnum 1104 1108 syn keyword cConstant ThermalSpctemperatureEnum 1105 1109 syn keyword cConstant ThicknessAbsGradientEnum -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r27253 r27260 638 638 BasalforcingsDeepwaterMeltingRateNoiseEnum, 639 639 BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum, 640 BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum, 640 641 BasalforcingsFloatingiceMeltingRateEnum, 641 642 BasalforcingsGeothermalfluxEnum, … … 1101 1102 ThermalforcingARMANoiseEnum, 1102 1103 ThermalforcingValuesAutoregressionEnum, 1104 ThermalforcingValuesMovingaverageEnum, 1103 1105 ThermalSpctemperatureEnum, 1104 1106 ThicknessAbsGradientEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r27250 r27260 127 127 case CalvingYoffsetEnum : return "CalvingYoffset"; 128 128 case CalvingVelLowerboundEnum : return "CalvingVelLowerbound"; 129 case CalvingVelMaxEnum : return "CalvingVelMax"; 130 case CalvingVelThresholdEnum : return "CalvingVelThreshold"; 129 131 case CalvingVelUpperboundEnum : return "CalvingVelUpperbound"; 130 132 case ConfigurationTypeEnum : return "ConfigurationType"; … … 642 644 case BasalforcingsDeepwaterMeltingRateNoiseEnum : return "BasalforcingsDeepwaterMeltingRateNoise"; 643 645 case BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum : return "BasalforcingsDeepwaterMeltingRateValuesAutoregression"; 646 case BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum : return "BasalforcingsDeepwaterMeltingRateValuesMovingaverage"; 644 647 case BasalforcingsFloatingiceMeltingRateEnum : return "BasalforcingsFloatingiceMeltingRate"; 645 648 case BasalforcingsGeothermalfluxEnum : return "BasalforcingsGeothermalflux"; … … 1104 1107 case ThermalforcingARMANoiseEnum : return "ThermalforcingARMANoise"; 1105 1108 case ThermalforcingValuesAutoregressionEnum : return "ThermalforcingValuesAutoregression"; 1109 case ThermalforcingValuesMovingaverageEnum : return "ThermalforcingValuesMovingaverage"; 1106 1110 case ThermalSpctemperatureEnum : return "ThermalSpctemperature"; 1107 1111 case ThicknessAbsGradientEnum : return "ThicknessAbsGradient"; -
issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim
r27250 r27260 118 118 syn keyword juliaConstC CalvingYoffsetEnum 119 119 syn keyword juliaConstC CalvingVelLowerboundEnum 120 syn keyword juliaConstC CalvingVelMaxEnum 121 syn keyword juliaConstC CalvingVelThresholdEnum 120 122 syn keyword juliaConstC CalvingVelUpperboundEnum 121 123 syn keyword juliaConstC ConfigurationTypeEnum … … 633 635 syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateNoiseEnum 634 636 syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum 637 syn keyword juliaConstC BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum 635 638 syn keyword juliaConstC BasalforcingsFloatingiceMeltingRateEnum 636 639 syn keyword juliaConstC BasalforcingsGeothermalfluxEnum … … 1095 1098 syn keyword juliaConstC ThermalforcingARMANoiseEnum 1096 1099 syn keyword juliaConstC ThermalforcingValuesAutoregressionEnum 1100 syn keyword juliaConstC ThermalforcingValuesMovingaverageEnum 1097 1101 syn keyword juliaConstC ThermalSpctemperatureEnum 1098 1102 syn keyword juliaConstC ThicknessAbsGradientEnum -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r27250 r27260 127 127 else if (strcmp(name,"CalvingYoffset")==0) return CalvingYoffsetEnum; 128 128 else if (strcmp(name,"CalvingVelLowerbound")==0) return CalvingVelLowerboundEnum; 129 else if (strcmp(name,"CalvingVelMax")==0) return CalvingVelMaxEnum; 130 else if (strcmp(name,"CalvingVelThreshold")==0) return CalvingVelThresholdEnum; 129 131 else if (strcmp(name,"CalvingVelUpperbound")==0) return CalvingVelUpperboundEnum; 130 132 else if (strcmp(name,"ConfigurationType")==0) return ConfigurationTypeEnum; … … 135 137 else if (strcmp(name,"ControlInputSizeM")==0) return ControlInputSizeMEnum; 136 138 else if (strcmp(name,"ControlInputSizeN")==0) return ControlInputSizeNEnum; 137 else if (strcmp(name,"ControlInputInterpolation")==0) return ControlInputInterpolationEnum;138 else if (strcmp(name,"CumBslc")==0) return CumBslcEnum;139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"CumBslcIce")==0) return CumBslcIceEnum; 142 if (strcmp(name,"ControlInputInterpolation")==0) return ControlInputInterpolationEnum; 143 else if (strcmp(name,"CumBslc")==0) return CumBslcEnum; 144 else if (strcmp(name,"CumBslcIce")==0) return CumBslcIceEnum; 143 145 else if (strcmp(name,"CumBslcHydro")==0) return CumBslcHydroEnum; 144 146 else if (strcmp(name,"CumBslcOcean")==0) return CumBslcOceanEnum; … … 258 260 else if (strcmp(name,"HydrologydcUnconfinedFlag")==0) return HydrologydcUnconfinedFlagEnum; 259 261 else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; 260 else if (strcmp(name,"IcecapToEarthComm")==0) return IcecapToEarthCommEnum;261 else if (strcmp(name,"Index")==0) return IndexEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"InputFileName")==0) return InputFileNameEnum; 265 if (strcmp(name,"IcecapToEarthComm")==0) return IcecapToEarthCommEnum; 266 else if (strcmp(name,"Index")==0) return IndexEnum; 267 else if (strcmp(name,"InputFileName")==0) return InputFileNameEnum; 266 268 else if (strcmp(name,"DirectoryName")==0) return DirectoryNameEnum; 267 269 else if (strcmp(name,"Indices")==0) return IndicesEnum; … … 381 383 else if (strcmp(name,"QmuVariablePartitionsNpart")==0) return QmuVariablePartitionsNpartEnum; 382 384 else if (strcmp(name,"QmuVariablePartitionsNt")==0) return QmuVariablePartitionsNtEnum; 383 else if (strcmp(name,"QmuResponsePartitions")==0) return QmuResponsePartitionsEnum;384 else if (strcmp(name,"QmuResponsePartitionsNpart")==0) return QmuResponsePartitionsNpartEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"QmuStatistics")==0) return QmuStatisticsEnum; 388 if (strcmp(name,"QmuResponsePartitions")==0) return QmuResponsePartitionsEnum; 389 else if (strcmp(name,"QmuResponsePartitionsNpart")==0) return QmuResponsePartitionsNpartEnum; 390 else if (strcmp(name,"QmuStatistics")==0) return QmuStatisticsEnum; 389 391 else if (strcmp(name,"QmuNumstatistics")==0) return QmuNumstatisticsEnum; 390 392 else if (strcmp(name,"QmuNdirectories")==0) return QmuNdirectoriesEnum; … … 504 506 else if (strcmp(name,"SmbDelta18oSurface")==0) return SmbDelta18oSurfaceEnum; 505 507 else if (strcmp(name,"SmbDenIdx")==0) return SmbDenIdxEnum; 506 else if (strcmp(name,"SmbDt")==0) return SmbDtEnum;507 else if (strcmp(name,"Smb")==0) return SmbEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"SmbEIdx")==0) return SmbEIdxEnum; 511 if (strcmp(name,"SmbDt")==0) return SmbDtEnum; 512 else if (strcmp(name,"Smb")==0) return SmbEnum; 513 else if (strcmp(name,"SmbEIdx")==0) return SmbEIdxEnum; 512 514 else if (strcmp(name,"SmbF")==0) return SmbFEnum; 513 515 else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum; … … 627 629 else if (strcmp(name,"Zze")==0) return ZzeEnum; 628 630 else if (strcmp(name,"Areae")==0) return AreaeEnum; 629 else if (strcmp(name,"WorldComm")==0) return WorldCommEnum;630 else if (strcmp(name,"ParametersEND")==0) return ParametersENDEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"InputsSTART")==0) return InputsSTARTEnum; 634 if (strcmp(name,"WorldComm")==0) return WorldCommEnum; 635 else if (strcmp(name,"ParametersEND")==0) return ParametersENDEnum; 636 else if (strcmp(name,"InputsSTART")==0) return InputsSTARTEnum; 635 637 else if (strcmp(name,"AccumulatedDeltaBottomPressure")==0) return AccumulatedDeltaBottomPressureEnum; 636 638 else if (strcmp(name,"AccumulatedDeltaIceThickness")==0) return AccumulatedDeltaIceThicknessEnum; … … 657 659 else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateNoise")==0) return BasalforcingsDeepwaterMeltingRateNoiseEnum; 658 660 else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateValuesAutoregression")==0) return BasalforcingsDeepwaterMeltingRateValuesAutoregressionEnum; 661 else if (strcmp(name,"BasalforcingsDeepwaterMeltingRateValuesMovingaverage")==0) return BasalforcingsDeepwaterMeltingRateValuesMovingaverageEnum; 659 662 else if (strcmp(name,"BasalforcingsFloatingiceMeltingRate")==0) return BasalforcingsFloatingiceMeltingRateEnum; 660 663 else if (strcmp(name,"BasalforcingsGeothermalflux")==0) return BasalforcingsGeothermalfluxEnum; … … 749 752 else if (strcmp(name,"Dummy")==0) return DummyEnum; 750 753 else if (strcmp(name,"EffectivePressure")==0) return EffectivePressureEnum; 751 else if (strcmp(name,"EffectivePressureSubstep")==0) return EffectivePressureSubstepEnum;752 else if (strcmp(name,"EffectivePressureTransient")==0) return EffectivePressureTransientEnum;753 else if (strcmp(name,"Enthalpy")==0) return EnthalpyEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum; 757 if (strcmp(name,"EffectivePressureSubstep")==0) return EffectivePressureSubstepEnum; 758 else if (strcmp(name,"EffectivePressureTransient")==0) return EffectivePressureTransientEnum; 759 else if (strcmp(name,"Enthalpy")==0) return EnthalpyEnum; 760 else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum; 758 761 else if (strcmp(name,"EplHead")==0) return EplHeadEnum; 759 762 else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum; … … 872 875 else if (strcmp(name,"MovingFrontalVy")==0) return MovingFrontalVyEnum; 873 876 else if (strcmp(name,"Neumannflux")==0) return NeumannfluxEnum; 874 else if (strcmp(name,"NewDamage")==0) return NewDamageEnum;875 else if (strcmp(name,"Node")==0) return NodeEnum;876 else if (strcmp(name,"OmegaAbsGradient")==0) return OmegaAbsGradientEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"OceantransportSpcbottompressure")==0) return OceantransportSpcbottompressureEnum; 880 if (strcmp(name,"NewDamage")==0) return NewDamageEnum; 881 else if (strcmp(name,"Node")==0) return NodeEnum; 882 else if (strcmp(name,"OmegaAbsGradient")==0) return OmegaAbsGradientEnum; 883 else if (strcmp(name,"OceantransportSpcbottompressure")==0) return OceantransportSpcbottompressureEnum; 881 884 else if (strcmp(name,"OceantransportSpcstr")==0) return OceantransportSpcstrEnum; 882 885 else if (strcmp(name,"OceantransportSpcdsl")==0) return OceantransportSpcdslEnum; … … 995 998 else if (strcmp(name,"SmbD")==0) return SmbDEnum; 996 999 else if (strcmp(name,"SmbDailyairdensity")==0) return SmbDailyairdensityEnum; 997 else if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum;998 else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum;999 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum; 1003 if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum; 1004 else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum; 1005 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum; 1006 else if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum; 1004 1007 else if (strcmp(name,"SmbDailyrainfall")==0) return SmbDailyrainfallEnum; 1005 1008 else if (strcmp(name,"SmbDailysnowfall")==0) return SmbDailysnowfallEnum; … … 1118 1121 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 1119 1122 else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 1120 else if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum;1121 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum;1122 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 1126 if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum; 1127 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; 1128 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum; 1129 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 1127 1130 else if (strcmp(name,"Temperature")==0) return TemperatureEnum; 1128 1131 else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum; … … 1131 1134 else if (strcmp(name,"ThermalforcingARMANoise")==0) return ThermalforcingARMANoiseEnum; 1132 1135 else if (strcmp(name,"ThermalforcingValuesAutoregression")==0) return ThermalforcingValuesAutoregressionEnum; 1136 else if (strcmp(name,"ThermalforcingValuesMovingaverage")==0) return ThermalforcingValuesMovingaverageEnum; 1133 1137 else if (strcmp(name,"ThermalSpctemperature")==0) return ThermalSpctemperatureEnum; 1134 1138 else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum; … … 1240 1244 else if (strcmp(name,"Outputdefinition70")==0) return Outputdefinition70Enum; 1241 1245 else if (strcmp(name,"Outputdefinition71")==0) return Outputdefinition71Enum; 1242 else if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum; 1243 1250 else if (strcmp(name,"Outputdefinition73")==0) return Outputdefinition73Enum; 1244 1251 else if (strcmp(name,"Outputdefinition74")==0) return Outputdefinition74Enum; 1245 1252 else if (strcmp(name,"Outputdefinition75")==0) return Outputdefinition75Enum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum; 1253 else if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum; 1250 1254 else if (strcmp(name,"Outputdefinition77")==0) return Outputdefinition77Enum; 1251 1255 else if (strcmp(name,"Outputdefinition78")==0) return Outputdefinition78Enum; … … 1363 1367 else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum; 1364 1368 else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum; 1365 else if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"EsaSolution")==0) return EsaSolutionEnum; 1366 1373 else if (strcmp(name,"EsaTransitions")==0) return EsaTransitionsEnum; 1367 1374 else if (strcmp(name,"ExternalResult")==0) return ExternalResultEnum; 1368 1375 else if (strcmp(name,"ExtrapolationAnalysis")==0) return ExtrapolationAnalysisEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 1376 else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 1373 1377 else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 1374 1378 else if (strcmp(name,"FSApproximation")==0) return FSApproximationEnum; … … 1486 1490 else if (strcmp(name,"MasstransportSolution")==0) return MasstransportSolutionEnum; 1487 1491 else if (strcmp(name,"Matdamageice")==0) return MatdamageiceEnum; 1488 else if (strcmp(name,"Matenhancedice")==0) return MatenhancediceEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"Matenhancedice")==0) return MatenhancediceEnum; 1489 1496 else if (strcmp(name,"Materials")==0) return MaterialsEnum; 1490 1497 else if (strcmp(name,"Matestar")==0) return MatestarEnum; 1491 1498 else if (strcmp(name,"Matice")==0) return MaticeEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"Matlitho")==0) return MatlithoEnum; 1499 else if (strcmp(name,"Matlitho")==0) return MatlithoEnum; 1496 1500 else if (strcmp(name,"Mathydro")==0) return MathydroEnum; 1497 1501 else if (strcmp(name,"MatrixParam")==0) return MatrixParamEnum; … … 1609 1613 else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum; 1610 1614 else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum; 1611 else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum; 1615 else stage=14; 1616 } 1617 if(stage==14){ 1618 if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum; 1612 1619 else if (strcmp(name,"Sset")==0) return SsetEnum; 1613 1620 else if (strcmp(name,"StatisticsSolution")==0) return StatisticsSolutionEnum; 1614 1621 else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; 1615 else stage=14; 1616 } 1617 if(stage==14){ 1618 if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum; 1622 else if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum; 1619 1623 else if (strcmp(name,"StressbalanceAnalysis")==0) return StressbalanceAnalysisEnum; 1620 1624 else if (strcmp(name,"StressbalanceConvergenceNumSteps")==0) return StressbalanceConvergenceNumStepsEnum; -
issm/trunk-jpl/src/m/classes/SMBarma.m
r27250 r27260 135 135 function marshall(self,prefix,md,fid) % {{{ 136 136 137 disp('ARMA is still under development');138 137 yts=md.constants.yts; 139 138 -
issm/trunk-jpl/src/m/classes/SMBarma.py
r27250 r27260 148 148 149 149 def marshall(self, prefix, md, fid): # {{{ 150 print('ARMA is still under development')151 150 yts = md.constants.yts 152 151 -
issm/trunk-jpl/src/m/classes/frontalforcingsrignotarma.m
r27250 r27260 81 81 end % }}} 82 82 function marshall(self,prefix,md,fid) % {{{ 83 disp('ARMA is still under development');84 83 yts=md.constants.yts; 85 84 WriteData(fid,prefix,'name','md.frontalforcings.parameterization','data',3,'format','Integer'); -
issm/trunk-jpl/src/m/classes/frontalforcingsrignotarma.py
r27250 r27260 83 83 84 84 def marshall(self, prefix, md, fid): # {{{ 85 print('ARMA is still under development')86 85 yts = md.constants.yts 87 86 WriteData(fid, prefix, 'name', 'md.frontalforcings.parameterization', 'data', 3, 'format', 'Integer') -
issm/trunk-jpl/src/m/classes/linearbasalforcingsarma.m
r27250 r27260 128 128 function marshall(self,prefix,md,fid) % {{{ 129 129 130 disp('ARMA is still under development');131 130 yts=md.constants.yts; 132 131 -
issm/trunk-jpl/test/NightlyRun/test257.m
r27250 r27260 46 46 md.smb.arma_timestep = 2.0; %timestep of the ARMA model [yr] 47 47 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]]; 48 md.smb.malag_coefs = [ 0;0;0];48 md.smb.malag_coefs = [1.0;0;0.2]; 49 49 md.smb.lapserates = [0.01,0.0;0.01,-0.01;0.0,-0.01]; 50 50 md.smb.elevationbins = [100;150;100]; -
issm/trunk-jpl/test/NightlyRun/test257.py
r27250 r27260 51 51 md.smb.arma_timestep = 2.0 #timestep of the ARMA model [yr] 52 52 md.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]]) 53 md.smb.malag_coefs = np.array([[ 0],[0],[0]])53 md.smb.malag_coefs = np.array([[1.0],[0],[0.2]]) 54 54 md.smb.lapserates = np.array([[0.01,0.0],[0.01,-0.01],[0.0,-0.01]]) 55 55 md.smb.elevationbins = np.array([100,150,100]).reshape(md.smb.num_basins,1) -
issm/trunk-jpl/test/NightlyRun/test543.m
r27250 r27260 48 48 md.frontalforcings.num_basins = nb_tf; 49 49 md.frontalforcings.basin_id = idb_tf; 50 md.frontalforcings.subglacial_discharge = 0. 1*ones(md.mesh.numberofvertices,1);51 md.frontalforcings.const = [0.0 5,0.01]; %intercept values of TF in basins [C]52 md.frontalforcings.trend = [0.00 1,0.0001]; %trend values of TF in basins [C/yr]50 md.frontalforcings.subglacial_discharge = 0.01*ones(md.mesh.numberofvertices,1); 51 md.frontalforcings.const = [0.005,0.001]; %intercept values of TF in basins [C] 52 md.frontalforcings.trend = [0.0001,0.00001]; %trend values of TF in basins [C/yr] 53 53 md.frontalforcings.arma_initialtime = md.timestepping.start_time; %initial time in the AR model parameterization [yr] 54 54 md.frontalforcings.ar_order = 4; … … 56 56 md.frontalforcings.arma_timestep = 2; %timestep of the ARMA model [yr] 57 57 md.frontalforcings.arlag_coefs = [[0.1,-0.1,0.01,-0.01];[0.2,-0.2,0.1,0.0]]; %autoregressive parameters 58 md.frontalforcings.malag_coefs = [[0. 0,0.0];[0.0,0.0]]; %moving-average parameters58 md.frontalforcings.malag_coefs = [[0.1,0.0];[0.0,0.1]]; %moving-average parameters 59 59 60 60 % Floating Ice Melt parameters … … 62 62 63 63 % Covariance matrix 64 covtf = 1e- 4*eye(nb_tf);64 covtf = 1e-5*eye(nb_tf); 65 65 covclv = 1e-1*eye(nb_clv); 66 66 covclv(1,1) = 1/10*covclv(1,1); … … 86 86 field_names ={... 87 87 'Vx1' ,'Vy1' ,'Vel1' ,'Thickness1' ,'MaskIceLevelset1' ,'CalvingCalvingrate1' ,'CalvingMeltingrate1' ,'BasalforcingsFloatingiceMeltingRate1',... 88 'Vx2' ,'Vy2' ,'Vel2' ,'Thickness2' ,'MaskIceLevelset2' ,'CalvingCalvingrate 1' ,'CalvingMeltingrate2' ,'BasalforcingsFloatingiceMeltingRate2',...88 'Vx2' ,'Vy2' ,'Vel2' ,'Thickness2' ,'MaskIceLevelset2' ,'CalvingCalvingrate2' ,'CalvingMeltingrate2' ,'BasalforcingsFloatingiceMeltingRate2',... 89 89 'Vx10','Vy10','Vel10','Thickness10','MaskIceLevelset10','CalvingCalvingrate10','CalvingMeltingrate10','BasalforcingsFloatingiceMeltingRate10',... 90 90 }; -
issm/trunk-jpl/test/NightlyRun/test543.py
r27250 r27260 53 53 md.frontalforcings.num_basins = nb_tf 54 54 md.frontalforcings.basin_id = idb_tf 55 md.frontalforcings.subglacial_discharge = 0. 1 * np.ones((md.mesh.numberofvertices,))56 md.frontalforcings.const = np.array([[0.0 5, 0.01]]) # intercept values of TF in basins [C]57 md.frontalforcings.trend = np.array([[0.00 1, 0.0001]]) # trend values of TF in basins [C/yr]55 md.frontalforcings.subglacial_discharge = 0.01 * np.ones((md.mesh.numberofvertices,)) 56 md.frontalforcings.const = np.array([[0.005, 0.001]]) # intercept values of TF in basins [C] 57 md.frontalforcings.trend = np.array([[0.0001, 0.00001]]) # trend values of TF in basins [C/yr] 58 58 md.frontalforcings.arma_initialtime = md.timestepping.start_time # initial time in the AR model parameterization [yr] 59 59 md.frontalforcings.ar_order = 4 … … 61 61 md.frontalforcings.arma_timestep = 2 # timestep of the ARMA model [yr] 62 62 md.frontalforcings.arlag_coefs = np.array([[0.1, -0.1, 0.01, -0.01], [0.2, -0.2, 0.1, 0.0]]) # autoregressive parameters 63 md.frontalforcings.malag_coefs = np.array([[0. 0, 0.0], [0.0, 0.0]]) # moving-average parameters63 md.frontalforcings.malag_coefs = np.array([[0.1, 0.0], [0.0, 0.1]]) # moving-average parameters 64 64 #Floating Ice Melt parameters 65 65 md.basalforcings.floatingice_melting_rate = 0.1 * np.ones((md.mesh.numberofvertices,)) … … 76 76 77 77 #Hard-coding covariance matrix because python is complaining 78 covglob = np.array([[1e- 4, 0., 0., 0., 0., 0.],79 [0., 1e- 4, 0., 0., 0., 0.],78 covglob = np.array([[1e-5, 0., 0., 0., 0., 0.], 79 [0., 1e-5, 0., 0., 0., 0.], 80 80 [0., 0., 1e-2, 0., 0., 0.], 81 81 [0., 0., 0., 1e-1, 0., 0.], … … 103 103 field_names = [ 104 104 'Vx1', 'Vy1', 'Vel1', 'Thickness1', 'MaskIceLevelset1', 'CalvingCalvingrate1', 'CalvingMeltingrate1', 'BasalforcingsFloatingiceMeltingRate1', 105 'Vx2', 'Vy2', 'Vel2', 'Thickness2', 'MaskIceLevelset2', 'CalvingCalvingrate 1', 'CalvingMeltingrate2', 'BasalforcingsFloatingiceMeltingRate2',105 'Vx2', 'Vy2', 'Vel2', 'Thickness2', 'MaskIceLevelset2', 'CalvingCalvingrate2', 'CalvingMeltingrate2', 'BasalforcingsFloatingiceMeltingRate2', 106 106 'Vx10', 'Vy10', 'Vel10', 'Thickness10', 'MaskIceLevelset10', 'CalvingCalvingrate10', 'CalvingMeltingrate10', 'BasalforcingsFloatingiceMeltingRate10'] 107 107 -
issm/trunk-jpl/test/NightlyRun/test544.m
r27250 r27260 34 34 md.smb.arma_timestep = 2.0; %timestep of the ARMA model [yr] 35 35 md.smb.arlag_coefs = [[0.2,0.1,0.05,0.01];[0.4,0.2,-0.2,0.1]]; 36 md.smb.malag_coefs = [[0. 0,0.0,0.0,0.0];[0.0,0.0,0.0,0.0]];36 md.smb.malag_coefs = [[0.1,0.1,0.2,0.3];[0.5,0.8,1.3,2.4]]; 37 37 38 38 %Calving … … 54 54 md.basalforcings.arma_timestep = 1.0; %timestep of the ARMA model [yr] 55 55 md.basalforcings.arlag_coefs = [0.0;0.1]; 56 md.basalforcings.malag_coefs = [0. 0;0.0];56 md.basalforcings.malag_coefs = [0.55;0.34]; 57 57 md.basalforcings.deepwater_elevation = [-1000,-1520]; 58 58 md.basalforcings.upperwater_elevation = [0,-50]; -
issm/trunk-jpl/test/NightlyRun/test544.py
r27250 r27260 44 44 md.smb.arma_timestep = 2.0 #timestep of the ARMA model [yr] 45 45 md.smb.arlag_coefs = np.array([[0.2,0.1,0.05,0.01],[0.4,0.2,-0.2,0.1]]) 46 md.smb.malag_coefs = np.array([[0. 0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]])46 md.smb.malag_coefs = np.array([[0.1,0.1,0.2,0.3],[0.5,0.8,1.3,2.4]]) 47 47 48 48 #Calving
Note:
See TracChangeset
for help on using the changeset viewer.