Changeset 17072
- Timestamp:
- 01/09/14 09:51:13 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r17005 r17072 30 30 void MasstransportAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ 31 31 32 int stabilization,finiteelement ;32 int stabilization,finiteelement,smb_model; 33 33 bool dakota_analysis; 34 34 bool issmbgradients; … … 40 40 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); 41 41 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 42 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 43 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 44 iomodel->Constant(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 42 iomodel->Constant(&smb_model,SurfaceforcingsEnum); 45 43 iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum); 46 44 … … 88 86 } 89 87 90 if(issmbgradients){ 91 iomodel->FetchDataToInput(elements,SurfaceforcingsHrefEnum); 92 iomodel->FetchDataToInput(elements,SurfaceforcingsSmbrefEnum); 93 iomodel->FetchDataToInput(elements,SurfaceforcingsBPosEnum); 94 iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum); 95 } 96 if(ispdd){ 97 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); 98 if(isdelta18o){ 99 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesLgmEnum); 100 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesPresentdayEnum); 101 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationsPresentdayEnum); 102 } 103 else{ 104 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum); 105 iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperaturesEnum); 106 } 107 } 108 if(~ispdd && ~issmbgradients){ 109 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.); 110 } 88 switch(smb_model){ 89 case SMBEnum: 90 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.); 91 break; 92 case SurfaceforcingsEnum: /*To Be REMOVED*/ 93 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 94 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 95 iomodel->Constant(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 96 if(issmbgradients){ 97 iomodel->FetchDataToInput(elements,SurfaceforcingsHrefEnum); 98 iomodel->FetchDataToInput(elements,SurfaceforcingsSmbrefEnum); 99 iomodel->FetchDataToInput(elements,SurfaceforcingsBPosEnum); 100 iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum); 101 } 102 if(ispdd){ 103 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); 104 if(isdelta18o){ 105 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesLgmEnum); 106 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesPresentdayEnum); 107 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationsPresentdayEnum); 108 } 109 else{ 110 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum); 111 iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperaturesEnum); 112 } 113 } 114 if(~ispdd && ~issmbgradients){ 115 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.); 116 } 117 break; 118 default: 119 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); 120 } 121 111 122 }/*}}}*/ 112 123 void MasstransportAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
r17021 r17072 23 23 bool ispdd; 24 24 bool isefficientlayer; 25 int hydrology_model ;25 int hydrology_model,smb_model; 26 26 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 27 iomodel->Constant(& ispdd,SurfaceforcingsIspddEnum);27 iomodel->Constant(&smb_model,SurfaceforcingsEnum); 28 28 29 29 this->mid = matpar_mid; … … 43 43 iomodel->Constant(&this->g,ConstantsGEnum); 44 44 45 if(ispdd){ 46 iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum); 47 iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum); 45 switch(smb_model){ 46 case SMBEnum: 47 /*Nothing to add*/ 48 break; 49 case SurfaceforcingsEnum: /*To Be REMOVED*/ 50 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 51 if(ispdd){ 52 iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum); 53 iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum); 54 } 55 break; 56 default: 57 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); 48 58 } 49 59 -
issm/trunk-jpl/src/c/cores/masstransport_core.cpp
r16742 r17072 14 14 /*parameters: */ 15 15 int i; 16 int numoutputs,meshtype ;16 int numoutputs,meshtype,smb_model; 17 17 bool save_results; 18 18 bool issmbgradients,ispdd,isdelta18o,isFS,isfreesurface,dakota_analysis; … … 25 25 /*recover parameters: */ 26 26 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); 27 femmodel->parameters->FindParam(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 28 femmodel->parameters->FindParam(&ispdd,SurfaceforcingsIspddEnum); 29 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 27 femmodel->parameters->FindParam(&smb_model,SurfaceforcingsEnum); 30 28 femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum); 31 29 femmodel->parameters->FindParam(&isfreesurface,MasstransportIsfreesurfaceEnum); … … 43 41 } 44 42 45 if(issmbgradients){ 46 if(VerboseSolution())_printf_(" call smb gradients module\n\n"); 47 SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 48 } 49 if(ispdd){ 50 if(isdelta18o){ 51 if(VerboseSolution()) _printf0_(" call Delta18oParametrization module\n"); 52 Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 53 } 54 if(VerboseSolution()) _printf0_(" call positive degree day module\n"); 55 PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 43 switch(smb_model){ 44 case SMBEnum: 45 /*Nothing to be done*/ 46 break; 47 case SurfaceforcingsEnum: /*To Be REMOVED*/ 48 femmodel->parameters->FindParam(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 49 femmodel->parameters->FindParam(&ispdd,SurfaceforcingsIspddEnum); 50 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 51 if(issmbgradients){ 52 if(VerboseSolution())_printf_(" call smb gradients module\n\n"); 53 SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 54 } 55 if(ispdd){ 56 if(isdelta18o){ 57 if(VerboseSolution()) _printf0_(" call Delta18oParametrization module\n"); 58 Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 59 } 60 if(VerboseSolution()) _printf0_(" call positive degree day module\n"); 61 PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 62 } 63 break; 64 default: 65 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); 56 66 } 57 67 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r17055 r17072 19 19 20 20 int i,j,m,k; 21 int numoutputs,meshtype ;21 int numoutputs,meshtype,smb_model; 22 22 char** requestedoutputs = NULL; 23 23 IssmDouble time; … … 72 72 parameters->AddObject(iomodel->CopyConstantObject(InversionIscontrolEnum)); 73 73 parameters->AddObject(iomodel->CopyConstantObject(InversionTaoEnum)); 74 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIspddEnum));75 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum));76 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIssmbgradientsEnum));77 74 parameters->AddObject(iomodel->CopyConstantObject(GiaCrossSectionShapeEnum)); 78 75 … … 87 84 parameters->AddObject(iomodel->CopyConstantObject(MeshNumberoflayersEnum)); 88 85 89 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 90 if(ispdd){ 91 92 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum)); 93 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum)); 94 95 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 96 if(isdelta18o){ 97 IssmDouble *temp = NULL; 98 IssmDouble yts; 99 int N,M; 100 101 iomodel->Constant(&yts,ConstantsYtsEnum); 102 103 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2); 104 for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i]; 105 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],M)); 106 iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum); 107 108 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum); _assert_(N==2); 109 for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i]; 110 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],M)); 111 iomodel->DeleteData(temp,SurfaceforcingsDelta18oSurfaceEnum); 112 } 86 /*Surface mass balance parameters*/ 87 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsEnum)); 88 iomodel->Constant(&smb_model,SurfaceforcingsEnum); 89 switch(smb_model){ 90 case SMBEnum: 91 /*Nothing to add to parameters*/ 92 break; 93 case SurfaceforcingsEnum: /*To Be REMOVED*/ 94 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIspddEnum)); 95 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum)); 96 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIssmbgradientsEnum)); 97 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 98 if(ispdd){ 99 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum)); 100 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum)); 101 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 102 if(isdelta18o){ 103 IssmDouble *temp = NULL; 104 IssmDouble yts; 105 int N,M; 106 iomodel->Constant(&yts,ConstantsYtsEnum); 107 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2); 108 for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i]; 109 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],M)); 110 iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum); 111 112 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum); _assert_(N==2); 113 for(i=0;i<M;i++) temp[M+i]=yts*temp[M+i]; 114 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],M)); 115 iomodel->DeleteData(temp,SurfaceforcingsDelta18oSurfaceEnum); 116 } 117 } 118 break; 119 default: 120 _error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet"); 113 121 } 114 122 -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17038 r17072 237 237 SettingsOutputFrequencyEnum, 238 238 SettingsWaitonlockEnum, 239 SurfaceforcingsDelta18oEnum, 240 SurfaceforcingsDelta18oSurfaceEnum, 241 SurfaceforcingsIsdelta18oEnum, 242 SurfaceforcingsPrecipitationsPresentdayEnum, 243 SurfaceforcingsTemperaturesPresentdayEnum, 244 SurfaceforcingsTemperaturesLgmEnum, 239 245 240 DebugProfilingEnum, 246 241 ProfilingCurrentMemEnum, … … 253 248 SteadystateRequestedOutputsEnum, 254 249 SurfaceEnum, 255 SurfaceforcingsPrecipitationEnum, 256 SurfaceforcingsMassBalanceEnum, 257 SurfaceforcingsIspddEnum, 258 SurfaceforcingsDesfacEnum, 259 SurfaceforcingsS0pEnum, 260 SurfaceforcingsIssmbgradientsEnum, 261 SurfaceforcingsMonthlytemperaturesEnum, 262 SurfaceforcingsHrefEnum, 263 SurfaceforcingsSmbrefEnum, 264 SurfaceforcingsBPosEnum, 265 SurfaceforcingsBNegEnum, 250 266 251 ThermalIsenthalpyEnum, 267 252 ThermalIsdynamicbasalspcEnum, … … 290 275 TransientNumRequestedOutputsEnum, 291 276 TransientRequestedOutputsEnum, 277 /*}}}*/ 278 /*Surfaceforcings{{{*/ 279 SurfaceforcingsEnum, 280 SMBEnum, 281 SurfaceforcingsMassBalanceEnum, 282 283 SurfaceforcingsDelta18oEnum, 284 SurfaceforcingsDelta18oSurfaceEnum, 285 SurfaceforcingsIsdelta18oEnum, 286 SurfaceforcingsPrecipitationsPresentdayEnum, 287 SurfaceforcingsTemperaturesPresentdayEnum, 288 SurfaceforcingsTemperaturesLgmEnum, 289 SurfaceforcingsPrecipitationEnum, 290 SurfaceforcingsIspddEnum, 291 SurfaceforcingsDesfacEnum, 292 SurfaceforcingsS0pEnum, 293 SurfaceforcingsIssmbgradientsEnum, 294 SurfaceforcingsMonthlytemperaturesEnum, 295 SurfaceforcingsHrefEnum, 296 SurfaceforcingsSmbrefEnum, 297 SurfaceforcingsBPosEnum, 298 SurfaceforcingsBNegEnum, 292 299 /*}}}*/ 293 300 /*Solutions and Analyses{{{ */ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17038 r17072 245 245 case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency"; 246 246 case SettingsWaitonlockEnum : return "SettingsWaitonlock"; 247 case SurfaceforcingsDelta18oEnum : return "SurfaceforcingsDelta18o";248 case SurfaceforcingsDelta18oSurfaceEnum : return "SurfaceforcingsDelta18oSurface";249 case SurfaceforcingsIsdelta18oEnum : return "SurfaceforcingsIsdelta18o";250 case SurfaceforcingsPrecipitationsPresentdayEnum : return "SurfaceforcingsPrecipitationsPresentday";251 case SurfaceforcingsTemperaturesPresentdayEnum : return "SurfaceforcingsTemperaturesPresentday";252 case SurfaceforcingsTemperaturesLgmEnum : return "SurfaceforcingsTemperaturesLgm";253 247 case DebugProfilingEnum : return "DebugProfiling"; 254 248 case ProfilingCurrentMemEnum : return "ProfilingCurrentMem"; … … 261 255 case SteadystateRequestedOutputsEnum : return "SteadystateRequestedOutputs"; 262 256 case SurfaceEnum : return "Surface"; 263 case SurfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation";264 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance";265 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";266 case SurfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac";267 case SurfaceforcingsS0pEnum : return "SurfaceforcingsS0p";268 case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";269 case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures";270 case SurfaceforcingsHrefEnum : return "SurfaceforcingsHref";271 case SurfaceforcingsSmbrefEnum : return "SurfaceforcingsSmbref";272 case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos";273 case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg";274 257 case ThermalIsenthalpyEnum : return "ThermalIsenthalpy"; 275 258 case ThermalIsdynamicbasalspcEnum : return "ThermalIsdynamicbasalspc"; … … 298 281 case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs"; 299 282 case TransientRequestedOutputsEnum : return "TransientRequestedOutputs"; 283 case SurfaceforcingsEnum : return "Surfaceforcings"; 284 case SMBEnum : return "SMB"; 285 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 286 case SurfaceforcingsDelta18oEnum : return "SurfaceforcingsDelta18o"; 287 case SurfaceforcingsDelta18oSurfaceEnum : return "SurfaceforcingsDelta18oSurface"; 288 case SurfaceforcingsIsdelta18oEnum : return "SurfaceforcingsIsdelta18o"; 289 case SurfaceforcingsPrecipitationsPresentdayEnum : return "SurfaceforcingsPrecipitationsPresentday"; 290 case SurfaceforcingsTemperaturesPresentdayEnum : return "SurfaceforcingsTemperaturesPresentday"; 291 case SurfaceforcingsTemperaturesLgmEnum : return "SurfaceforcingsTemperaturesLgm"; 292 case SurfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation"; 293 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd"; 294 case SurfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac"; 295 case SurfaceforcingsS0pEnum : return "SurfaceforcingsS0p"; 296 case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients"; 297 case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures"; 298 case SurfaceforcingsHrefEnum : return "SurfaceforcingsHref"; 299 case SurfaceforcingsSmbrefEnum : return "SurfaceforcingsSmbref"; 300 case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos"; 301 case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg"; 300 302 case SolutionTypeEnum : return "SolutionType"; 301 303 case AnalysisTypeEnum : return "AnalysisType"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17038 r17072 248 248 else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum; 249 249 else if (strcmp(name,"SettingsWaitonlock")==0) return SettingsWaitonlockEnum; 250 else if (strcmp(name,"SurfaceforcingsDelta18o")==0) return SurfaceforcingsDelta18oEnum;251 else if (strcmp(name,"SurfaceforcingsDelta18oSurface")==0) return SurfaceforcingsDelta18oSurfaceEnum;252 else if (strcmp(name,"SurfaceforcingsIsdelta18o")==0) return SurfaceforcingsIsdelta18oEnum;253 else if (strcmp(name,"SurfaceforcingsPrecipitationsPresentday")==0) return SurfaceforcingsPrecipitationsPresentdayEnum;254 else if (strcmp(name,"SurfaceforcingsTemperaturesPresentday")==0) return SurfaceforcingsTemperaturesPresentdayEnum;255 else if (strcmp(name,"SurfaceforcingsTemperaturesLgm")==0) return SurfaceforcingsTemperaturesLgmEnum;256 250 else if (strcmp(name,"DebugProfiling")==0) return DebugProfilingEnum; 257 251 else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum; … … 260 254 else if (strcmp(name,"MaxIterationConvergenceFlag")==0) return MaxIterationConvergenceFlagEnum; 261 255 else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum; 256 else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum; 257 else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum; 258 else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum; 259 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 260 else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum; 261 else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum; 262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum; 266 else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum; 267 else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum; 268 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 269 else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum; 270 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 271 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 272 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 273 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 274 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 275 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; 276 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; 277 else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum; 278 else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 279 else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum; 280 else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum; 281 else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum; 282 else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum; 265 if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum; 283 266 else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum; 284 267 else if (strcmp(name,"ThermalPenaltyLock")==0) return ThermalPenaltyLockEnum; … … 304 287 else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum; 305 288 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 289 else if (strcmp(name,"Surfaceforcings")==0) return SurfaceforcingsEnum; 290 else if (strcmp(name,"SMB")==0) return SMBEnum; 291 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 292 else if (strcmp(name,"SurfaceforcingsDelta18o")==0) return SurfaceforcingsDelta18oEnum; 293 else if (strcmp(name,"SurfaceforcingsDelta18oSurface")==0) return SurfaceforcingsDelta18oSurfaceEnum; 294 else if (strcmp(name,"SurfaceforcingsIsdelta18o")==0) return SurfaceforcingsIsdelta18oEnum; 295 else if (strcmp(name,"SurfaceforcingsPrecipitationsPresentday")==0) return SurfaceforcingsPrecipitationsPresentdayEnum; 296 else if (strcmp(name,"SurfaceforcingsTemperaturesPresentday")==0) return SurfaceforcingsTemperaturesPresentdayEnum; 297 else if (strcmp(name,"SurfaceforcingsTemperaturesLgm")==0) return SurfaceforcingsTemperaturesLgmEnum; 298 else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum; 299 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 300 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 301 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 302 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 303 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; 304 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; 305 else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum; 306 else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 307 else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum; 306 308 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum; 307 309 else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; … … 381 383 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 382 384 else if (strcmp(name,"DoubleInput")==0) return DoubleInputEnum; 383 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum;384 else if (strcmp(name,"DoubleMatArrayParam")==0) return DoubleMatArrayParamEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"DoubleMatParam")==0) return DoubleMatParamEnum; 388 if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 389 else if (strcmp(name,"DoubleMatArrayParam")==0) return DoubleMatArrayParamEnum; 390 else if (strcmp(name,"DoubleMatParam")==0) return DoubleMatParamEnum; 389 391 else if (strcmp(name,"DoubleParam")==0) return DoubleParamEnum; 390 392 else if (strcmp(name,"DoubleVecParam")==0) return DoubleVecParamEnum; … … 504 506 else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum; 505 507 else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum; 506 else if (strcmp(name,"TransientInput")==0) return TransientInputEnum;507 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; 511 if (strcmp(name,"TransientInput")==0) return TransientInputEnum; 512 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 513 else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; 512 514 else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum; 513 515 else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum; … … 627 629 else if (strcmp(name,"Dense")==0) return DenseEnum; 628 630 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; 629 else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;630 else if (strcmp(name,"Seq")==0) return SeqEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Mpi")==0) return MpiEnum; 634 if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum; 635 else if (strcmp(name,"Seq")==0) return SeqEnum; 636 else if (strcmp(name,"Mpi")==0) return MpiEnum; 635 637 else if (strcmp(name,"Mumps")==0) return MumpsEnum; 636 638 else if (strcmp(name,"Gsl")==0) return GslEnum; -
issm/trunk-jpl/src/m/classes/surfaceforcings.m
r17071 r17072 116 116 yts=365.0*24.0*3600.0; 117 117 118 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SurfaceforcingsEnum(),'format','Integer'); 119 118 120 WriteData(fid,'object',obj,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 119 121 WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); -
issm/trunk-jpl/src/m/classes/surfaceforcings.py
r17071 r17072 115 115 yts=365.0*24.0*3600.0 116 116 117 WriteData(fid,'enum',SurfaceforcingsEnum(),'data',SurfaceforcingsEnum(),'format','Integer'); 118 117 119 WriteData(fid,'object',self,'fieldname','precipitation','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) 118 120 WriteData(fid,'object',self,'fieldname','mass_balance','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1) -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17038 r17072 237 237 def SettingsOutputFrequencyEnum(): return StringToEnum("SettingsOutputFrequency")[0] 238 238 def SettingsWaitonlockEnum(): return StringToEnum("SettingsWaitonlock")[0] 239 def SurfaceforcingsDelta18oEnum(): return StringToEnum("SurfaceforcingsDelta18o")[0]240 def SurfaceforcingsDelta18oSurfaceEnum(): return StringToEnum("SurfaceforcingsDelta18oSurface")[0]241 def SurfaceforcingsIsdelta18oEnum(): return StringToEnum("SurfaceforcingsIsdelta18o")[0]242 def SurfaceforcingsPrecipitationsPresentdayEnum(): return StringToEnum("SurfaceforcingsPrecipitationsPresentday")[0]243 def SurfaceforcingsTemperaturesPresentdayEnum(): return StringToEnum("SurfaceforcingsTemperaturesPresentday")[0]244 def SurfaceforcingsTemperaturesLgmEnum(): return StringToEnum("SurfaceforcingsTemperaturesLgm")[0]245 239 def DebugProfilingEnum(): return StringToEnum("DebugProfiling")[0] 246 240 def ProfilingCurrentMemEnum(): return StringToEnum("ProfilingCurrentMem")[0] … … 253 247 def SteadystateRequestedOutputsEnum(): return StringToEnum("SteadystateRequestedOutputs")[0] 254 248 def SurfaceEnum(): return StringToEnum("Surface")[0] 255 def SurfaceforcingsPrecipitationEnum(): return StringToEnum("SurfaceforcingsPrecipitation")[0]256 def SurfaceforcingsMassBalanceEnum(): return StringToEnum("SurfaceforcingsMassBalance")[0]257 def SurfaceforcingsIspddEnum(): return StringToEnum("SurfaceforcingsIspdd")[0]258 def SurfaceforcingsDesfacEnum(): return StringToEnum("SurfaceforcingsDesfac")[0]259 def SurfaceforcingsS0pEnum(): return StringToEnum("SurfaceforcingsS0p")[0]260 def SurfaceforcingsIssmbgradientsEnum(): return StringToEnum("SurfaceforcingsIssmbgradients")[0]261 def SurfaceforcingsMonthlytemperaturesEnum(): return StringToEnum("SurfaceforcingsMonthlytemperatures")[0]262 def SurfaceforcingsHrefEnum(): return StringToEnum("SurfaceforcingsHref")[0]263 def SurfaceforcingsSmbrefEnum(): return StringToEnum("SurfaceforcingsSmbref")[0]264 def SurfaceforcingsBPosEnum(): return StringToEnum("SurfaceforcingsBPos")[0]265 def SurfaceforcingsBNegEnum(): return StringToEnum("SurfaceforcingsBNeg")[0]266 249 def ThermalIsenthalpyEnum(): return StringToEnum("ThermalIsenthalpy")[0] 267 250 def ThermalIsdynamicbasalspcEnum(): return StringToEnum("ThermalIsdynamicbasalspc")[0] … … 290 273 def TransientNumRequestedOutputsEnum(): return StringToEnum("TransientNumRequestedOutputs")[0] 291 274 def TransientRequestedOutputsEnum(): return StringToEnum("TransientRequestedOutputs")[0] 275 def SurfaceforcingsEnum(): return StringToEnum("Surfaceforcings")[0] 276 def SMBEnum(): return StringToEnum("SMB")[0] 277 def SurfaceforcingsMassBalanceEnum(): return StringToEnum("SurfaceforcingsMassBalance")[0] 278 def SurfaceforcingsDelta18oEnum(): return StringToEnum("SurfaceforcingsDelta18o")[0] 279 def SurfaceforcingsDelta18oSurfaceEnum(): return StringToEnum("SurfaceforcingsDelta18oSurface")[0] 280 def SurfaceforcingsIsdelta18oEnum(): return StringToEnum("SurfaceforcingsIsdelta18o")[0] 281 def SurfaceforcingsPrecipitationsPresentdayEnum(): return StringToEnum("SurfaceforcingsPrecipitationsPresentday")[0] 282 def SurfaceforcingsTemperaturesPresentdayEnum(): return StringToEnum("SurfaceforcingsTemperaturesPresentday")[0] 283 def SurfaceforcingsTemperaturesLgmEnum(): return StringToEnum("SurfaceforcingsTemperaturesLgm")[0] 284 def SurfaceforcingsPrecipitationEnum(): return StringToEnum("SurfaceforcingsPrecipitation")[0] 285 def SurfaceforcingsIspddEnum(): return StringToEnum("SurfaceforcingsIspdd")[0] 286 def SurfaceforcingsDesfacEnum(): return StringToEnum("SurfaceforcingsDesfac")[0] 287 def SurfaceforcingsS0pEnum(): return StringToEnum("SurfaceforcingsS0p")[0] 288 def SurfaceforcingsIssmbgradientsEnum(): return StringToEnum("SurfaceforcingsIssmbgradients")[0] 289 def SurfaceforcingsMonthlytemperaturesEnum(): return StringToEnum("SurfaceforcingsMonthlytemperatures")[0] 290 def SurfaceforcingsHrefEnum(): return StringToEnum("SurfaceforcingsHref")[0] 291 def SurfaceforcingsSmbrefEnum(): return StringToEnum("SurfaceforcingsSmbref")[0] 292 def SurfaceforcingsBPosEnum(): return StringToEnum("SurfaceforcingsBPos")[0] 293 def SurfaceforcingsBNegEnum(): return StringToEnum("SurfaceforcingsBNeg")[0] 292 294 def SolutionTypeEnum(): return StringToEnum("SolutionType")[0] 293 295 def AnalysisTypeEnum(): return StringToEnum("AnalysisType")[0]
Note:
See TracChangeset
for help on using the changeset viewer.