Changeset 25535
- Timestamp:
- 09/04/20 17:52:32 (5 years ago)
- Location:
- issm/branches/trunk-larour-SLPS2020/src/c
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/branches/trunk-larour-SLPS2020/src/c/analyses/SealevelriseAnalysis.cpp
r25534 r25535 204 204 parameters->AddObject(new DoubleParam(CumBslrIceEnum,0.0)); 205 205 parameters->AddObject(new DoubleParam(CumBslrHydroEnum,0.0)); 206 parameters->AddObject(new DoubleParam(CumGmtslrEnum,0.0)); 206 207 207 208 /*compute planet area and plug into parameters:*/ -
issm/branches/trunk-larour-SLPS2020/src/c/cores/sealevelchange_core.cpp
r25534 r25535 271 271 IssmDouble dt; 272 272 int geodetic=0; 273 int step; 274 IssmDouble time; 275 IssmDouble cumgmtslr=0; 276 IssmDouble cumbslr=0; 277 IssmDouble cumgmslr=0; 278 IssmDouble gmtslr=0; 273 279 274 280 /*Retrieve parameters:*/ … … 277 283 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 278 284 femmodel->parameters->FindParam(&geodetic,SolidearthSettingsComputesealevelchangeEnum); 285 femmodel->parameters->FindParam(&cumgmtslr,CumGmtslrEnum); 286 femmodel->parameters->FindParam(&cumbslr,CumBslrEnum); 287 femmodel->parameters->FindParam(&step,StepEnum); 288 femmodel->parameters->FindParam(&time,TimeEnum); 279 289 280 290 /*in case we are running SealevelriseSolutionEnum, then bypass transient settings:*/ … … 298 308 GetVectorFromInputsx(&N_gia_rate,femmodel,NGiaRateEnum,VertexSIdEnum); 299 309 } 310 311 /*Save steric rate, and cumulate it through time, cumulate with barystatic sea level rise, and cumulate through time:*/ 312 gmtslr=steric_rate_g->Max()*dt; 313 cumgmtslr+=gmtslr; 314 cumgmslr=cumbslr+cumgmtslr; 315 femmodel->results->AddResult(new GenericExternalResult<IssmDouble>(femmodel->results->Size()+1,GmtslrEnum,gmtslr,step,time)); 316 femmodel->results->AddResult(new GenericExternalResult<IssmDouble>(femmodel->results->Size()+1,CumGmtslrEnum,cumgmtslr,step,time)); 317 femmodel->results->AddResult(new GenericExternalResult<IssmDouble>(femmodel->results->Size()+1,CumGmslrEnum,cumgmslr,step,time)); 318 femmodel->parameters->SetParam(cumgmtslr,CumGmtslrEnum); 300 319 301 320 /*compute: sea level change = initial sea level + (N_gia_rate+N_esa_rate) * dt + steric_rate + dynamic_rate dt*/ -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/Enum.vim
r25534 r25535 115 115 syn keyword cConstant CumBslrIceEnum 116 116 syn keyword cConstant CumBslrHydroEnum 117 syn keyword cConstant CumGmtslrEnum 118 syn keyword cConstant CumGmslrEnum 117 119 syn keyword cConstant DamageC1Enum 118 120 syn keyword cConstant DamageC2Enum … … 696 698 syn keyword cConstant BslrHydroEnum 697 699 syn keyword cConstant BslrRateEnum 700 syn keyword cConstant GmtslrEnum 698 701 syn keyword cConstant SealevelRSLEustaticEnum 699 702 syn keyword cConstant SealevelRSLRateEnum -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumDefinitions.h
r25534 r25535 109 109 CumBslrIceEnum, 110 110 CumBslrHydroEnum, 111 CumGmtslrEnum, 112 CumGmslrEnum, 111 113 DamageC1Enum, 112 114 DamageC2Enum, … … 692 694 BslrHydroEnum, 693 695 BslrRateEnum, 696 GmtslrEnum, 694 697 SealevelRSLEustaticEnum, 695 698 SealevelRSLRateEnum, -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumToStringx.cpp
r25534 r25535 117 117 case CumBslrIceEnum : return "CumBslrIce"; 118 118 case CumBslrHydroEnum : return "CumBslrHydro"; 119 case CumGmtslrEnum : return "CumGmtslr"; 120 case CumGmslrEnum : return "CumGmslr"; 119 121 case DamageC1Enum : return "DamageC1"; 120 122 case DamageC2Enum : return "DamageC2"; … … 698 700 case BslrHydroEnum : return "BslrHydro"; 699 701 case BslrRateEnum : return "BslrRate"; 702 case GmtslrEnum : return "Gmtslr"; 700 703 case SealevelRSLEustaticEnum : return "SealevelRSLEustatic"; 701 704 case SealevelRSLRateEnum : return "SealevelRSLRate"; -
issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/StringToEnumx.cpp
r25534 r25535 117 117 else if (strcmp(name,"CumBslrIce")==0) return CumBslrIceEnum; 118 118 else if (strcmp(name,"CumBslrHydro")==0) return CumBslrHydroEnum; 119 else if (strcmp(name,"CumGmtslr")==0) return CumGmtslrEnum; 120 else if (strcmp(name,"CumGmslr")==0) return CumGmslrEnum; 119 121 else if (strcmp(name,"DamageC1")==0) return DamageC1Enum; 120 122 else if (strcmp(name,"DamageC2")==0) return DamageC2Enum; … … 135 137 else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum; 136 138 else if (strcmp(name,"DomainType")==0) return DomainTypeEnum; 137 else if (strcmp(name,"DslModel")==0) return DslModelEnum;138 else if (strcmp(name,"DslModelid")==0) return DslModelidEnum;139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"DslNummodels")==0) return DslNummodelsEnum; 142 if (strcmp(name,"DslModel")==0) return DslModelEnum; 143 else if (strcmp(name,"DslModelid")==0) return DslModelidEnum; 144 else if (strcmp(name,"DslNummodels")==0) return DslNummodelsEnum; 143 145 else if (strcmp(name,"DslComputeFingerprints")==0) return DslComputeFingerprintsEnum; 144 146 else if (strcmp(name,"EarthId")==0) return EarthIdEnum; … … 258 260 else if (strcmp(name,"LoveShNmin")==0) return LoveShNminEnum; 259 261 else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum; 260 else if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum;261 else if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"MasstransportIsfreesurface")==0) return MasstransportIsfreesurfaceEnum; 265 if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum; 266 else if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum; 267 else if (strcmp(name,"MasstransportIsfreesurface")==0) return MasstransportIsfreesurfaceEnum; 266 268 else if (strcmp(name,"MasstransportMinThickness")==0) return MasstransportMinThicknessEnum; 267 269 else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum; … … 381 383 else if (strcmp(name,"SmbF")==0) return SmbFEnum; 382 384 else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum; 383 else if (strcmp(name,"SmbIsaccumulation")==0) return SmbIsaccumulationEnum;384 else if (strcmp(name,"SmbIsalbedo")==0) return SmbIsalbedoEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"SmbIsclimatology")==0) return SmbIsclimatologyEnum; 388 if (strcmp(name,"SmbIsaccumulation")==0) return SmbIsaccumulationEnum; 389 else if (strcmp(name,"SmbIsalbedo")==0) return SmbIsalbedoEnum; 390 else if (strcmp(name,"SmbIsclimatology")==0) return SmbIsclimatologyEnum; 389 391 else if (strcmp(name,"SmbIsconstrainsurfaceT")==0) return SmbIsconstrainsurfaceTEnum; 390 392 else if (strcmp(name,"SmbIsd18opd")==0) return SmbIsd18opdEnum; … … 504 506 else if (strcmp(name,"BasalforcingsIsmip6BasinId")==0) return BasalforcingsIsmip6BasinIdEnum; 505 507 else if (strcmp(name,"BasalforcingsIsmip6Tf")==0) return BasalforcingsIsmip6TfEnum; 506 else if (strcmp(name,"BasalforcingsIsmip6TfShelf")==0) return BasalforcingsIsmip6TfShelfEnum;507 else if (strcmp(name,"BasalforcingsIsmip6MeltAnomaly")==0) return BasalforcingsIsmip6MeltAnomalyEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"BasalforcingsOceanSalinity")==0) return BasalforcingsOceanSalinityEnum; 511 if (strcmp(name,"BasalforcingsIsmip6TfShelf")==0) return BasalforcingsIsmip6TfShelfEnum; 512 else if (strcmp(name,"BasalforcingsIsmip6MeltAnomaly")==0) return BasalforcingsIsmip6MeltAnomalyEnum; 513 else if (strcmp(name,"BasalforcingsOceanSalinity")==0) return BasalforcingsOceanSalinityEnum; 512 514 else if (strcmp(name,"BasalforcingsOceanTemp")==0) return BasalforcingsOceanTempEnum; 513 515 else if (strcmp(name,"BasalforcingsPicoBasinId")==0) return BasalforcingsPicoBasinIdEnum; … … 627 629 else if (strcmp(name,"HydrologyBumpHeight")==0) return HydrologyBumpHeightEnum; 628 630 else if (strcmp(name,"HydrologyBumpSpacing")==0) return HydrologyBumpSpacingEnum; 629 else if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum;630 else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum; 634 if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum; 635 else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum; 636 else if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum; 635 637 else if (strcmp(name,"HydrologydcEplThicknessSubstep")==0) return HydrologydcEplThicknessSubstepEnum; 636 638 else if (strcmp(name,"HydrologydcEplThicknessTransient")==0) return HydrologydcEplThicknessTransientEnum; … … 713 715 else if (strcmp(name,"BslrHydro")==0) return BslrHydroEnum; 714 716 else if (strcmp(name,"BslrRate")==0) return BslrRateEnum; 717 else if (strcmp(name,"Gmtslr")==0) return GmtslrEnum; 715 718 else if (strcmp(name,"SealevelRSLEustatic")==0) return SealevelRSLEustaticEnum; 716 719 else if (strcmp(name,"SealevelRSLRate")==0) return SealevelRSLRateEnum; … … 749 752 else if (strcmp(name,"SmbDailyairdensity")==0) return SmbDailyairdensityEnum; 750 753 else if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum; 751 else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum;752 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum;753 else if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"SmbDailyrainfall")==0) return SmbDailyrainfallEnum; 757 if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum; 758 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum; 759 else if (strcmp(name,"SmbDailypressure")==0) return SmbDailypressureEnum; 760 else if (strcmp(name,"SmbDailyrainfall")==0) return SmbDailyrainfallEnum; 758 761 else if (strcmp(name,"SmbDailysnowfall")==0) return SmbDailysnowfallEnum; 759 762 else if (strcmp(name,"SmbDailytemperature")==0) return SmbDailytemperatureEnum; … … 872 875 else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum; 873 876 else if (strcmp(name,"ThicknessAbsMisfit")==0) return ThicknessAbsMisfitEnum; 874 else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;875 else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;876 else if (strcmp(name,"Thickness")==0) return ThicknessEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"ThicknessOld")==0) return ThicknessOldEnum; 880 if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum; 881 else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum; 882 else if (strcmp(name,"Thickness")==0) return ThicknessEnum; 883 else if (strcmp(name,"ThicknessOld")==0) return ThicknessOldEnum; 881 884 else if (strcmp(name,"ThicknessPositive")==0) return ThicknessPositiveEnum; 882 885 else if (strcmp(name,"ThicknessResidual")==0) return ThicknessResidualEnum; … … 995 998 else if (strcmp(name,"Outputdefinition93")==0) return Outputdefinition93Enum; 996 999 else if (strcmp(name,"Outputdefinition94")==0) return Outputdefinition94Enum; 997 else if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum;998 else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;999 else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum; 1003 if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum; 1004 else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum; 1005 else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum; 1006 else if (strcmp(name,"Outputdefinition98")==0) return Outputdefinition98Enum; 1004 1007 else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum; 1005 1008 else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum; … … 1118 1121 else if (strcmp(name,"GaussPenta")==0) return GaussPentaEnum; 1119 1122 else if (strcmp(name,"GaussSeg")==0) return GaussSegEnum; 1120 else if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum;1121 else if (strcmp(name,"GaussTria")==0) return GaussTriaEnum;1122 else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"GenericParam")==0) return GenericParamEnum; 1126 if (strcmp(name,"GaussTetra")==0) return GaussTetraEnum; 1127 else if (strcmp(name,"GaussTria")==0) return GaussTriaEnum; 1128 else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum; 1129 else if (strcmp(name,"GenericParam")==0) return GenericParamEnum; 1127 1130 else if (strcmp(name,"GiaAnalysis")==0) return GiaAnalysisEnum; 1128 1131 else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum; … … 1241 1244 else if (strcmp(name,"Nodal")==0) return NodalEnum; 1242 1245 else if (strcmp(name,"Nodalvalue")==0) return NodalvalueEnum; 1243 else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;1244 else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;1245 else if (strcmp(name,"None")==0) return NoneEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum; 1249 if (strcmp(name,"NodeSId")==0) return NodeSIdEnum; 1250 else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum; 1251 else if (strcmp(name,"None")==0) return NoneEnum; 1252 else if (strcmp(name,"Numberedcostfunction")==0) return NumberedcostfunctionEnum; 1250 1253 else if (strcmp(name,"NyeCO2")==0) return NyeCO2Enum; 1251 1254 else if (strcmp(name,"NyeH2O")==0) return NyeH2OEnum; … … 1364 1367 else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum; 1365 1368 else if (strcmp(name,"Tria")==0) return TriaEnum; 1366 else if (strcmp(name,"TriaInput")==0) return TriaInputEnum;1367 else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum;1368 else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"Vertex")==0) return VertexEnum; 1372 if (strcmp(name,"TriaInput")==0) return TriaInputEnum; 1373 else if (strcmp(name,"UzawaPressureAnalysis")==0) return UzawaPressureAnalysisEnum; 1374 else if (strcmp(name,"VectorParam")==0) return VectorParamEnum; 1375 else if (strcmp(name,"Vertex")==0) return VertexEnum; 1373 1376 else if (strcmp(name,"VertexLId")==0) return VertexLIdEnum; 1374 1377 else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
Note:
See TracChangeset
for help on using the changeset viewer.