Changeset 26196
- Timestamp:
- 04/16/21 10:47:27 (4 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp ¶
r26047 r26196 218 218 int numoutputs; 219 219 char** requestedoutputs = NULL; 220 bool isdelta18o,ismungsm,isd18opd,issetpddfac,interp, isfirnwarming;220 bool isdelta18o,ismungsm,isd18opd,issetpddfac,interp,cycle,isfirnwarming; 221 221 int smb_model, smbslices, averaging; 222 222 IssmDouble *temp = NULL; … … 227 227 iomodel->FindConstant(&smb_model,"md.smb.model"); 228 228 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 229 iomodel->FindConstant(&cycle,"md.timestepping.cycle_forcing"); 229 230 230 231 iomodel->FindConstant(&smbslices,"md.smb.steps_per_step"); … … 273 274 if(ismungsm){ 274 275 iomodel->FetchData(&temp,&N,&M,"md.smb.Pfac"); _assert_(N==2); 275 parameters->AddObject(new TransientParam(SmbPfacEnum,&temp[0],&temp[M],interp, M));276 parameters->AddObject(new TransientParam(SmbPfacEnum,&temp[0],&temp[M],interp,cycle,M)); 276 277 iomodel->DeleteData(temp,"md.smb.Pfac"); 277 278 278 279 iomodel->FetchData(&temp,&N,&M,"md.smb.Tdiff"); _assert_(N==2); 279 parameters->AddObject(new TransientParam(SmbTdiffEnum,&temp[0],&temp[M],interp, M));280 parameters->AddObject(new TransientParam(SmbTdiffEnum,&temp[0],&temp[M],interp,cycle,M)); 280 281 iomodel->DeleteData(temp,"md.smb.Tdiff"); 281 282 282 283 iomodel->FetchData(&temp,&N,&M,"md.smb.sealev"); _assert_(N==2); 283 parameters->AddObject(new TransientParam(SmbSealevEnum,&temp[0],&temp[M],interp, M));284 parameters->AddObject(new TransientParam(SmbSealevEnum,&temp[0],&temp[M],interp,cycle,M)); 284 285 iomodel->DeleteData(temp,"md.smb.sealev"); 285 286 } 286 287 if(isdelta18o){ 287 288 iomodel->FetchData(&temp,&N,&M,"md.smb.delta18o"); _assert_(N==2); 288 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp, M));289 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,cycle,M)); 289 290 iomodel->DeleteData(temp,"md.smb.delta18o"); 290 291 291 292 iomodel->FetchData(&temp,&N,&M,"md.smb.delta18o_surface"); _assert_(N==2); 292 parameters->AddObject(new TransientParam(SmbDelta18oSurfaceEnum,&temp[0],&temp[M],interp, M));293 parameters->AddObject(new TransientParam(SmbDelta18oSurfaceEnum,&temp[0],&temp[M],interp,cycle,M)); 293 294 iomodel->DeleteData(temp,"md.smb.delta18o_surface"); 294 295 } … … 310 311 parameters->AddObject(iomodel->CopyConstantObject("md.smb.isprecipscaled",SmbIsprecipscaledEnum)); 311 312 iomodel->FetchData(&temp,&N,&M,"md.smb.delta18o"); _assert_(N==2); 312 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp, M));313 parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,cycle,M)); 313 314 iomodel->DeleteData(temp,"md.smb.delta18o"); 314 315 … … 391 392 392 393 iomodel->FetchData(&temp,&N,&M,"md.smb.accugrad"); _assert_(N==2); 393 parameters->AddObject(new TransientParam(SmbAccugradEnum,&temp[0],&temp[M],interp, M));394 parameters->AddObject(new TransientParam(SmbAccugradEnum,&temp[0],&temp[M],interp,cycle,M)); 394 395 iomodel->DeleteData(temp,"md.smb.accugrad"); 395 396 iomodel->FetchData(&temp,&N,&M,"md.smb.runoffgrad"); _assert_(N==2); 396 parameters->AddObject(new TransientParam(SmbRunoffgradEnum,&temp[0],&temp[M],interp, M));397 parameters->AddObject(new TransientParam(SmbRunoffgradEnum,&temp[0],&temp[M],interp,cycle,M)); 397 398 iomodel->DeleteData(temp,"md.smb.runoffgrad"); 398 399 399 400 iomodel->FetchData(&temp,&N,&M,"md.smb.accuref"); _assert_(N==2); 400 parameters->AddObject(new TransientParam(SmbAccurefEnum,&temp[0],&temp[M],interp, M));401 parameters->AddObject(new TransientParam(SmbAccurefEnum,&temp[0],&temp[M],interp,cycle,M)); 401 402 iomodel->DeleteData(temp,"md.smb.accuref"); 402 403 iomodel->FetchData(&temp,&N,&M,"md.smb.runoffref"); _assert_(N==2); 403 parameters->AddObject(new TransientParam(SmbRunoffrefEnum,&temp[0],&temp[M],interp, M));404 parameters->AddObject(new TransientParam(SmbRunoffrefEnum,&temp[0],&temp[M],interp,cycle,M)); 404 405 iomodel->DeleteData(temp,"md.smb.runoffref"); 405 406 break; -
TabularUnified issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp ¶
r26170 r26196 416 416 417 417 /*First, recover current time from parameters: */ 418 bool linear_interp ;418 bool linear_interp,cycle; 419 419 this->parameters->FindParam(&linear_interp,TimesteppingInterpForcingsEnum); 420 this->parameters->FindParam(&cycle,TimesteppingCycleForcingEnum); 421 422 if(cycle) _error_("not implemented yet"); 420 423 421 424 /*Figure step out*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h ¶
r25508 r26196 18 18 19 19 public: 20 int enum_type;21 int numtimesteps;22 Input **inputs;23 IssmDouble *timesteps;24 Parameters *parameters;//to find current time.20 int enum_type; 21 int numtimesteps; 22 Input **inputs; 23 IssmDouble *timesteps; 24 Parameters *parameters; //to find current time. 25 25 26 IssmDouble current_step;27 Input *current_input;26 IssmDouble current_step; 27 Input *current_input; 28 28 29 29 /*TransientInput constructors, destructors: {{{*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.cpp ¶
r25508 r26196 20 20 } 21 21 /*}}}*/ 22 TransientArrayParam::TransientArrayParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on, int in_N,int in_M){/*{{{*/22 TransientArrayParam::TransientArrayParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on,bool cycle_in,int in_N,int in_M){/*{{{*/ 23 23 24 24 _assert_(in_values && in_time); … … 28 28 this->N=in_N; //Number of timesteps 29 29 this->interpolation=interpolation_on; 30 this->cycle=cycle_in; 30 31 31 32 this->values=xNew<IssmDouble>(M*N); 32 xMemCpy<IssmDouble>( values,in_values,M*N);33 xMemCpy<IssmDouble>(this->values,in_values,M*N); 33 34 34 35 this->timesteps=xNew<IssmDouble>(N); 35 xMemCpy<IssmDouble>(t imesteps,in_time,N);36 xMemCpy<IssmDouble>(this->timesteps,in_time,N); 36 37 } 37 38 /*}}}*/ … … 44 45 Param* TransientArrayParam::copy() {/*{{{*/ 45 46 46 return new TransientArrayParam(this->enum_type,this->values,this->timesteps,this->interpolation,this-> M,this->N);47 return new TransientArrayParam(this->enum_type,this->values,this->timesteps,this->interpolation,this->cycle,this->M,this->N); 47 48 48 49 } … … 80 81 marshallhandle->call(this->enum_type); 81 82 marshallhandle->call(this->interpolation); 83 marshallhandle->call(this->cycle); 82 84 marshallhandle->call(this->M); 83 85 marshallhandle->call(this->N); … … 102 104 bool found; 103 105 _assert_(row>=0 && row<this->M); 106 107 if(this->cycle) _error_("not implemented yet"); 104 108 105 109 /*Ok, we have the time and row, go through the timesteps, and figure out which interval we … … 129 133 IssmDouble deltat = this->timesteps[i+1]-this->timesteps[i]; 130 134 IssmDouble alpha = (time-this->timesteps[i])/deltat; 131 if( interpolation==true) output=(1.0-alpha)*this->values[row*this->N+i] + alpha*this->values[row*this->N+i+1];135 if(this->interpolation==true) output=(1.0-alpha)*this->values[row*this->N+i] + alpha*this->values[row*this->N+i+1]; 132 136 else output=this->values[row*this->N+i]; 133 137 found=true; -
TabularUnified issm/trunk-jpl/src/c/classes/Params/TransientArrayParam.h ¶
r25508 r26196 25 25 int M; 26 26 bool interpolation; 27 bool cycle; 27 28 IssmDouble *values; 28 29 IssmDouble *timesteps; … … 31 32 /*TransientArrayParam constructors, destructors: {{{*/ 32 33 TransientArrayParam(); 33 TransientArrayParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on, int in_N,int in_M);34 TransientArrayParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on,bool cycle_in,int in_N,int in_M); 34 35 ~TransientArrayParam(); 35 36 /*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Params/TransientParam.cpp ¶
r25508 r26196 20 20 } 21 21 /*}}}*/ 22 TransientParam::TransientParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on, int in_N){/*{{{*/22 TransientParam::TransientParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_on,bool cycle_in,int in_N){/*{{{*/ 23 23 24 24 _assert_(in_values && in_time); 25 25 26 enum_type=in_enum_type; 27 N=in_N; 28 interpolation=interpolation_on; 26 this->enum_type=in_enum_type; 27 this->N=in_N; 28 this->interpolation=interpolation_on; 29 this->cycle=cycle_in; 29 30 30 values=xNew<IssmDouble>(N);31 xMemCpy<IssmDouble>( values,in_values,N);31 this->values=xNew<IssmDouble>(N); 32 xMemCpy<IssmDouble>(this->values,in_values,N); 32 33 33 t imesteps=xNew<IssmDouble>(N);34 xMemCpy<IssmDouble>(t imesteps,in_time,N);34 this->timesteps=xNew<IssmDouble>(N); 35 xMemCpy<IssmDouble>(this->timesteps,in_time,N); 35 36 } 36 37 /*}}}*/ … … 44 45 Param* TransientParam::copy() {/*{{{*/ 45 46 46 return new TransientParam(this->enum_type,this->values,this->timesteps,this->interpolation,this-> N);47 return new TransientParam(this->enum_type,this->values,this->timesteps,this->interpolation,this->cycle,this->N); 47 48 48 49 } … … 75 76 marshallhandle->call(this->enum_type); 76 77 marshallhandle->call(this->interpolation); 78 marshallhandle->call(this->cycle); 77 79 marshallhandle->call(this->N); 78 80 if(marshallhandle->OperationNumber()==MARSHALLING_LOAD){ … … 97 99 IssmDouble output; 98 100 bool found; 101 102 if(this->cycle) _error_("not implemented yet!"); 99 103 100 104 /*Ok, we have the time, go through the timesteps, and figure out which interval we … … 124 128 IssmDouble deltat=this->timesteps[i+1]-this->timesteps[i]; 125 129 IssmDouble alpha=(time-this->timesteps[i])/deltat; 126 if( interpolation==true) output=(1.0-alpha)*this->values[i] + alpha*this->values[i+1];130 if(this->interpolation==true) output=(1.0-alpha)*this->values[i] + alpha*this->values[i+1]; 127 131 else output=this->values[i]; 128 132 found=true; -
TabularUnified issm/trunk-jpl/src/c/classes/Params/TransientParam.h ¶
r25508 r26196 24 24 int N; 25 25 bool interpolation; 26 bool cycle; 26 27 IssmDouble *values; 27 28 IssmDouble *timesteps; … … 30 31 /*TransientParam constructors, destructors: {{{*/ 31 32 TransientParam(); 32 TransientParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_ on,int in_N);33 TransientParam(int in_enum_type,IssmDouble* in_values,IssmDouble* in_time,bool interpolation_in,bool cycle_in,int in_N); 33 34 ~TransientParam(); 34 35 /*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp ¶
r26097 r26196 30 30 bool autodiff_mass_flux_present = false; 31 31 bool mass_flux_present = false; 32 bool interp ;32 bool interp,cycle; 33 33 IssmDouble **array = NULL; 34 34 int *mdims_array = NULL; … … 160 160 case LinearFloatingMeltRateEnum: 161 161 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 162 iomodel->FindConstant(&cycle,"md.timestepping.cycle_forcing"); 162 163 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_melting_rate"); 163 164 if(N==1){ … … 167 168 else{ 168 169 _assert_(N==2); 169 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp, M));170 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,cycle,M)); 170 171 } 171 172 xDelete<IssmDouble>(transparam); … … 177 178 else{ 178 179 _assert_(N==2); 179 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterMeltingRateEnum,&transparam[0],&transparam[M],interp, M));180 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,cycle,M)); 180 181 } 181 182 xDelete<IssmDouble>(transparam); … … 187 188 else{ 188 189 _assert_(N==2); 189 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp, M));190 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,cycle,M)); 190 191 } 191 192 xDelete<IssmDouble>(transparam); … … 197 198 else{ 198 199 _assert_(N==2); 199 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp, M));200 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp,cycle,M)); 200 201 } 201 202 xDelete<IssmDouble>(transparam); … … 224 225 case BasalforcingsPicoEnum: 225 226 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 227 iomodel->FindConstant(&cycle,"md.timestepping.cycle_forcing"); 226 228 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsPicoNumBasinsEnum)); 227 229 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.maxboxcount",BasalforcingsPicoMaxboxcountEnum)); … … 230 232 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_temperature"); 231 233 _assert_(M>=1 && N>=1); 232 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp, N,M));234 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp,cycle,N,M)); 233 235 xDelete<IssmDouble>(transparam); 234 236 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_salinity"); 235 237 _assert_(M>=1 && N>=1); 236 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp, N,M));238 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp,cycle,N,M)); 237 239 xDelete<IssmDouble>(transparam); 238 240 break; … … 266 268 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.time_step",TimesteppingTimeStepEnum)); 267 269 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.interp_forcings",TimesteppingInterpForcingsEnum)); 270 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cycle_forcing",TimesteppingCycleForcingEnum)); 268 271 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.coupling_time",TimesteppingCouplingTimeEnum)); 269 272 break; … … 275 278 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cfl_coefficient",TimesteppingCflCoefficientEnum)); 276 279 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.interp_forcings",TimesteppingInterpForcingsEnum)); 280 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cycle_forcing",TimesteppingCycleForcingEnum)); 277 281 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.coupling_time",TimesteppingCouplingTimeEnum)); 278 282 break; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/Enum.vim ¶
r26192 r26196 478 478 syn keyword cConstant TimesteppingFinalTimeEnum 479 479 syn keyword cConstant TimesteppingInterpForcingsEnum 480 syn keyword cConstant TimesteppingCycleForcingEnum 480 481 syn keyword cConstant TimesteppingStartTimeEnum 481 482 syn keyword cConstant TimesteppingTimeStepEnum -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r26192 r26196 472 472 TimesteppingFinalTimeEnum, 473 473 TimesteppingInterpForcingsEnum, 474 TimesteppingCycleForcingEnum, 474 475 TimesteppingStartTimeEnum, 475 476 TimesteppingTimeStepEnum, -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp ¶
r26192 r26196 480 480 case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime"; 481 481 case TimesteppingInterpForcingsEnum : return "TimesteppingInterpForcings"; 482 case TimesteppingCycleForcingEnum : return "TimesteppingCycleForcing"; 482 483 case TimesteppingStartTimeEnum : return "TimesteppingStartTime"; 483 484 case TimesteppingTimeStepEnum : return "TimesteppingTimeStep"; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp ¶
r26192 r26196 489 489 else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum; 490 490 else if (strcmp(name,"TimesteppingInterpForcings")==0) return TimesteppingInterpForcingsEnum; 491 else if (strcmp(name,"TimesteppingCycleForcing")==0) return TimesteppingCycleForcingEnum; 491 492 else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum; 492 493 else if (strcmp(name,"TimesteppingTimeStep")==0) return TimesteppingTimeStepEnum; … … 505 506 else if (strcmp(name,"TransientIsgroundingline")==0) return TransientIsgroundinglineEnum; 506 507 else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum; 507 else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"TransientIsoceantransport")==0) return TransientIsoceantransportEnum; 511 if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum; 512 else if (strcmp(name,"TransientIsoceantransport")==0) return TransientIsoceantransportEnum; 512 513 else if (strcmp(name,"TransientIsmovingfront")==0) return TransientIsmovingfrontEnum; 513 514 else if (strcmp(name,"TransientIsoceancoupling")==0) return TransientIsoceancouplingEnum; … … 628 629 else if (strcmp(name,"EplHead")==0) return EplHeadEnum; 629 630 else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum; 630 else if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum; 634 if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum; 635 else if (strcmp(name,"EplHeadSlopeY")==0) return EplHeadSlopeYEnum; 635 636 else if (strcmp(name,"EplHeadSubstep")==0) return EplHeadSubstepEnum; 636 637 else if (strcmp(name,"EplHeadTransient")==0) return EplHeadTransientEnum; … … 751 752 else if (strcmp(name,"RadarIcePeriod")==0) return RadarIcePeriodEnum; 752 753 else if (strcmp(name,"RadarPowerMacGregor")==0) return RadarPowerMacGregorEnum; 753 else if (strcmp(name,"RadarPowerWolff")==0) return RadarPowerWolffEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"RheologyBAbsGradient")==0) return RheologyBAbsGradientEnum; 757 if (strcmp(name,"RadarPowerWolff")==0) return RadarPowerWolffEnum; 758 else if (strcmp(name,"RheologyBAbsGradient")==0) return RheologyBAbsGradientEnum; 758 759 else if (strcmp(name,"RheologyBInitialguess")==0) return RheologyBInitialguessEnum; 759 760 else if (strcmp(name,"RheologyBInitialguessMisfit")==0) return RheologyBInitialguessMisfitEnum; … … 874 875 else if (strcmp(name,"SmbReini")==0) return SmbReiniEnum; 875 876 else if (strcmp(name,"SmbRunoff")==0) return SmbRunoffEnum; 876 else if (strcmp(name,"SmbRunoffSubstep")==0) return SmbRunoffSubstepEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"SmbRunoffTransient")==0) return SmbRunoffTransientEnum; 880 if (strcmp(name,"SmbRunoffSubstep")==0) return SmbRunoffSubstepEnum; 881 else if (strcmp(name,"SmbRunoffTransient")==0) return SmbRunoffTransientEnum; 881 882 else if (strcmp(name,"SmbS0gcm")==0) return SmbS0gcmEnum; 882 883 else if (strcmp(name,"SmbS0p")==0) return SmbS0pEnum; … … 997 998 else if (strcmp(name,"Outputdefinition22")==0) return Outputdefinition22Enum; 998 999 else if (strcmp(name,"Outputdefinition23")==0) return Outputdefinition23Enum; 999 else if (strcmp(name,"Outputdefinition24")==0) return Outputdefinition24Enum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition25")==0) return Outputdefinition25Enum; 1003 if (strcmp(name,"Outputdefinition24")==0) return Outputdefinition24Enum; 1004 else if (strcmp(name,"Outputdefinition25")==0) return Outputdefinition25Enum; 1004 1005 else if (strcmp(name,"Outputdefinition26")==0) return Outputdefinition26Enum; 1005 1006 else if (strcmp(name,"Outputdefinition27")==0) return Outputdefinition27Enum; … … 1120 1121 else if (strcmp(name,"CalvingHab")==0) return CalvingHabEnum; 1121 1122 else if (strcmp(name,"CalvingLevermann")==0) return CalvingLevermannEnum; 1122 else if (strcmp(name,"CalvingVonmises")==0) return CalvingVonmisesEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"Cfdragcoeffabsgrad")==0) return CfdragcoeffabsgradEnum; 1126 if (strcmp(name,"CalvingVonmises")==0) return CalvingVonmisesEnum; 1127 else if (strcmp(name,"Cfdragcoeffabsgrad")==0) return CfdragcoeffabsgradEnum; 1127 1128 else if (strcmp(name,"Cfsurfacelogvel")==0) return CfsurfacelogvelEnum; 1128 1129 else if (strcmp(name,"Cfsurfacesquare")==0) return CfsurfacesquareEnum; … … 1243 1244 else if (strcmp(name,"IntParam")==0) return IntParamEnum; 1244 1245 else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 1245 else if (strcmp(name,"Inputs")==0) return InputsEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"Internal")==0) return InternalEnum; 1249 if (strcmp(name,"Inputs")==0) return InputsEnum; 1250 else if (strcmp(name,"Internal")==0) return InternalEnum; 1250 1251 else if (strcmp(name,"Intersect")==0) return IntersectEnum; 1251 1252 else if (strcmp(name,"InversionVzObs")==0) return InversionVzObsEnum; … … 1366 1367 else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum; 1367 1368 else if (strcmp(name,"SMBforcing")==0) return SMBforcingEnum; 1368 else if (strcmp(name,"SMBgcm")==0) return SMBgcmEnum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"SMBgemb")==0) return SMBgembEnum; 1372 if (strcmp(name,"SMBgcm")==0) return SMBgcmEnum; 1373 else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum; 1373 1374 else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum; 1374 1375 else if (strcmp(name,"SMBgradientscomponents")==0) return SMBgradientscomponentsEnum;
Note:
See TracChangeset
for help on using the changeset viewer.