Changeset 17078
- Timestamp:
- 01/09/14 11:27:48 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 8 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r17072 r17078 89 89 case SMBEnum: 90 90 iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.); 91 break; 92 case SMBpddEnum: 93 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 94 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); 95 if(isdelta18o){ 96 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesLgmEnum); 97 iomodel->FetchDataToInput(elements,SurfaceforcingsTemperaturesPresentdayEnum); 98 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationsPresentdayEnum); 99 } 100 else{ 101 iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum); 102 iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperaturesEnum); 103 } 104 break; 105 case SMBgradientsEnum: 106 iomodel->FetchDataToInput(elements,SurfaceforcingsHrefEnum); 107 iomodel->FetchDataToInput(elements,SurfaceforcingsSmbrefEnum); 108 iomodel->FetchDataToInput(elements,SurfaceforcingsBPosEnum); 109 iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum); 91 110 break; 92 111 case SurfaceforcingsEnum: /*To Be REMOVED*/ -
issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
r17072 r17078 45 45 switch(smb_model){ 46 46 case SMBEnum: 47 /*Nothing to add*/ 48 break; 49 case SMBpddEnum: 50 iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum); 51 iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum); 52 break; 53 case SMBgradientsEnum: 47 54 /*Nothing to add*/ 48 55 break; -
issm/trunk-jpl/src/c/cores/masstransport_core.cpp
r17072 r17078 44 44 case SMBEnum: 45 45 /*Nothing to be done*/ 46 break; 47 case SMBpddEnum: 48 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 49 if(isdelta18o){ 50 if(VerboseSolution()) _printf0_(" call Delta18oParametrization module\n"); 51 Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 52 } 53 if(VerboseSolution()) _printf0_(" call positive degree day module\n"); 54 PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 55 break; 56 case SMBgradientsEnum: 57 if(VerboseSolution())_printf_(" call smb gradients module\n\n"); 58 SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 46 59 break; 47 60 case SurfaceforcingsEnum: /*To Be REMOVED*/ -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r17075 r17078 22 22 int i; 23 23 IssmDouble starttime,finaltime,dt,yts; 24 bool isstressbalance,ismasstransport,isFS,isthermal,isgroundingline,is delta18o,isgia,islevelset;24 bool isstressbalance,ismasstransport,isFS,isthermal,isgroundingline,isgia,islevelset; 25 25 bool save_results,dakota_analysis; 26 26 bool time_adapt=false; 27 27 int output_frequency; 28 int meshtype,groundingline_migration ;28 int meshtype,groundingline_migration,smb_model; 29 29 int numoutputs = 0; 30 30 Analysis *analysis = NULL; … … 54 54 femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum); 55 55 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,TransientRequestedOutputsEnum); 56 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum);57 56 58 57 /*initialize: */ … … 170 169 if(VerboseSolution()) _printf0_(" computing requested outputs\n"); 171 170 femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs,save_results); 172 if(isdelta18o){173 int outputs[2] = {SurfaceforcingsMonthlytemperaturesEnum,SurfaceforcingsPrecipitationEnum};174 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2,save_results);175 }176 171 if(isgroundingline && (groundingline_migration==SubelementMigrationEnum || groundingline_migration==SubelementMigration2Enum)){ 177 172 int outputs[1] = {MaskGroundediceLevelsetEnum}; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r17072 r17078 91 91 /*Nothing to add to parameters*/ 92 92 break; 93 case SMBpddEnum: 94 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum)); 95 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum)); 96 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum)); 97 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 98 if(isdelta18o){ 99 IssmDouble *temp = NULL; 100 IssmDouble yts; 101 int N,M; 102 iomodel->Constant(&yts,ConstantsYtsEnum); 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 } 113 break; 114 case SMBgradientsEnum: 115 /*Nothing to add to parameters*/ 116 break; 93 117 case SurfaceforcingsEnum: /*To Be REMOVED*/ 94 118 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIspddEnum)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17075 r17078 281 281 SMBEnum, 282 282 SurfaceforcingsMassBalanceEnum, 283 283 SMBpddEnum, 284 284 SurfaceforcingsDelta18oEnum, 285 285 SurfaceforcingsDelta18oSurfaceEnum, … … 289 289 SurfaceforcingsTemperaturesLgmEnum, 290 290 SurfaceforcingsPrecipitationEnum, 291 SurfaceforcingsIspddEnum,292 291 SurfaceforcingsDesfacEnum, 293 292 SurfaceforcingsS0pEnum, 294 S urfaceforcingsIssmbgradientsEnum,293 SMBgradientsEnum, 295 294 SurfaceforcingsMonthlytemperaturesEnum, 296 295 SurfaceforcingsHrefEnum, … … 298 297 SurfaceforcingsBPosEnum, 299 298 SurfaceforcingsBNegEnum, 299 SMBlapserate, 300 /*TO BE REMOVED*/ 301 SurfaceforcingsIspddEnum, 302 SurfaceforcingsIssmbgradientsEnum, 300 303 /*}}}*/ 301 304 /*Solutions and Analyses{{{ */ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17075 r17078 285 285 case SMBEnum : return "SMB"; 286 286 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 287 case SMBpddEnum : return "SMBpdd"; 287 288 case SurfaceforcingsDelta18oEnum : return "SurfaceforcingsDelta18o"; 288 289 case SurfaceforcingsDelta18oSurfaceEnum : return "SurfaceforcingsDelta18oSurface"; … … 292 293 case SurfaceforcingsTemperaturesLgmEnum : return "SurfaceforcingsTemperaturesLgm"; 293 294 case SurfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation"; 294 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";295 295 case SurfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac"; 296 296 case SurfaceforcingsS0pEnum : return "SurfaceforcingsS0p"; 297 case S urfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";297 case SMBgradientsEnum : return "SMBgradients"; 298 298 case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures"; 299 299 case SurfaceforcingsHrefEnum : return "SurfaceforcingsHref"; … … 301 301 case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos"; 302 302 case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg"; 303 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd"; 304 case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients"; 303 305 case SolutionTypeEnum : return "SolutionType"; 304 306 case AnalysisTypeEnum : return "AnalysisType"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17075 r17078 291 291 else if (strcmp(name,"SMB")==0) return SMBEnum; 292 292 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 293 else if (strcmp(name,"SMBpdd")==0) return SMBpddEnum; 293 294 else if (strcmp(name,"SurfaceforcingsDelta18o")==0) return SurfaceforcingsDelta18oEnum; 294 295 else if (strcmp(name,"SurfaceforcingsDelta18oSurface")==0) return SurfaceforcingsDelta18oSurfaceEnum; … … 298 299 else if (strcmp(name,"SurfaceforcingsTemperaturesLgm")==0) return SurfaceforcingsTemperaturesLgmEnum; 299 300 else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum; 300 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;301 301 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 302 302 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 303 else if (strcmp(name,"S urfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;303 else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum; 304 304 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; 305 305 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; … … 307 307 else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 308 308 else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum; 309 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 310 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 309 311 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum; 310 312 else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; … … 381 383 else if (strcmp(name,"BoolInput")==0) return BoolInputEnum; 382 384 else if (strcmp(name,"BoolParam")==0) return BoolParamEnum; 383 else if (strcmp(name,"Contour")==0) return ContourEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"Contour")==0) return ContourEnum; 384 389 else if (strcmp(name,"ControlInput")==0) return ControlInputEnum; 385 390 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 386 391 else if (strcmp(name,"DoubleInput")==0) return DoubleInputEnum; 387 else stage=4; 388 } 389 if(stage==4){ 390 if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 392 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 391 393 else if (strcmp(name,"DoubleMatArrayParam")==0) return DoubleMatArrayParamEnum; 392 394 else if (strcmp(name,"DoubleMatParam")==0) return DoubleMatParamEnum; … … 504 506 else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum; 505 507 else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum; 506 else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum; 507 512 else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum; 508 513 else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum; 509 514 else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum; 510 else stage=5; 511 } 512 if(stage==5){ 513 if (strcmp(name,"TransientInput")==0) return TransientInputEnum; 515 else if (strcmp(name,"TransientInput")==0) return TransientInputEnum; 514 516 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 515 517 else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; … … 627 629 else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum; 628 630 else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum; 629 else if (strcmp(name,"XY")==0) return XYEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"XY")==0) return XYEnum; 630 635 else if (strcmp(name,"XYZ")==0) return XYZEnum; 631 636 else if (strcmp(name,"Dense")==0) return DenseEnum; 632 637 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; 633 else stage=6; 634 } 635 if(stage==6){ 636 if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum; 638 else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum; 637 639 else if (strcmp(name,"Seq")==0) return SeqEnum; 638 640 else if (strcmp(name,"Mpi")==0) return MpiEnum; -
issm/trunk-jpl/src/m/classes/model.py
r17074 r17078 9 9 from surfaceforcings import surfaceforcings 10 10 from SMB import SMB 11 from SMBpdd import SMBpdd 12 from SMBgradients import SMBgradients 11 13 from basalforcings import basalforcings 12 14 from matice import matice -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17075 r17078 277 277 def SMBEnum(): return StringToEnum("SMB")[0] 278 278 def SurfaceforcingsMassBalanceEnum(): return StringToEnum("SurfaceforcingsMassBalance")[0] 279 def SMBpddEnum(): return StringToEnum("SMBpdd")[0] 279 280 def SurfaceforcingsDelta18oEnum(): return StringToEnum("SurfaceforcingsDelta18o")[0] 280 281 def SurfaceforcingsDelta18oSurfaceEnum(): return StringToEnum("SurfaceforcingsDelta18oSurface")[0] … … 284 285 def SurfaceforcingsTemperaturesLgmEnum(): return StringToEnum("SurfaceforcingsTemperaturesLgm")[0] 285 286 def SurfaceforcingsPrecipitationEnum(): return StringToEnum("SurfaceforcingsPrecipitation")[0] 286 def SurfaceforcingsIspddEnum(): return StringToEnum("SurfaceforcingsIspdd")[0]287 287 def SurfaceforcingsDesfacEnum(): return StringToEnum("SurfaceforcingsDesfac")[0] 288 288 def SurfaceforcingsS0pEnum(): return StringToEnum("SurfaceforcingsS0p")[0] 289 def S urfaceforcingsIssmbgradientsEnum(): return StringToEnum("SurfaceforcingsIssmbgradients")[0]289 def SMBgradientsEnum(): return StringToEnum("SMBgradients")[0] 290 290 def SurfaceforcingsMonthlytemperaturesEnum(): return StringToEnum("SurfaceforcingsMonthlytemperatures")[0] 291 291 def SurfaceforcingsHrefEnum(): return StringToEnum("SurfaceforcingsHref")[0] … … 293 293 def SurfaceforcingsBPosEnum(): return StringToEnum("SurfaceforcingsBPos")[0] 294 294 def SurfaceforcingsBNegEnum(): return StringToEnum("SurfaceforcingsBNeg")[0] 295 def SurfaceforcingsIspddEnum(): return StringToEnum("SurfaceforcingsIspdd")[0] 296 def SurfaceforcingsIssmbgradientsEnum(): return StringToEnum("SurfaceforcingsIssmbgradients")[0] 295 297 def SolutionTypeEnum(): return StringToEnum("SolutionType")[0] 296 298 def AnalysisTypeEnum(): return StringToEnum("AnalysisType")[0]
Note:
See TracChangeset
for help on using the changeset viewer.