Changeset 25535


Ignore:
Timestamp:
09/04/20 17:52:32 (5 years ago)
Author:
Eric.Larour
Message:

CHG: new diagnostics.

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  
    204204        parameters->AddObject(new DoubleParam(CumBslrIceEnum,0.0));
    205205        parameters->AddObject(new DoubleParam(CumBslrHydroEnum,0.0));
     206        parameters->AddObject(new DoubleParam(CumGmtslrEnum,0.0));
    206207
    207208        /*compute planet area and plug into parameters:*/
  • issm/branches/trunk-larour-SLPS2020/src/c/cores/sealevelchange_core.cpp

    r25534 r25535  
    271271        IssmDouble          dt;
    272272        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;
    273279
    274280        /*Retrieve parameters:*/
     
    277283        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
    278284        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);
    279289
    280290        /*in case we are running SealevelriseSolutionEnum, then bypass transient settings:*/
     
    298308                GetVectorFromInputsx(&N_gia_rate,femmodel,NGiaRateEnum,VertexSIdEnum);
    299309        }
     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);
    300319
    301320        /*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  
    115115syn keyword cConstant CumBslrIceEnum
    116116syn keyword cConstant CumBslrHydroEnum
     117syn keyword cConstant CumGmtslrEnum
     118syn keyword cConstant CumGmslrEnum
    117119syn keyword cConstant DamageC1Enum
    118120syn keyword cConstant DamageC2Enum
     
    696698syn keyword cConstant BslrHydroEnum
    697699syn keyword cConstant BslrRateEnum
     700syn keyword cConstant GmtslrEnum
    698701syn keyword cConstant SealevelRSLEustaticEnum
    699702syn keyword cConstant SealevelRSLRateEnum
  • issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumDefinitions.h

    r25534 r25535  
    109109        CumBslrIceEnum,
    110110        CumBslrHydroEnum,
     111        CumGmtslrEnum,
     112        CumGmslrEnum,
    111113        DamageC1Enum,
    112114        DamageC2Enum,
     
    692694        BslrHydroEnum,
    693695        BslrRateEnum,
     696        GmtslrEnum,
    694697        SealevelRSLEustaticEnum,
    695698        SealevelRSLRateEnum,
  • issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/EnumToStringx.cpp

    r25534 r25535  
    117117                case CumBslrIceEnum : return "CumBslrIce";
    118118                case CumBslrHydroEnum : return "CumBslrHydro";
     119                case CumGmtslrEnum : return "CumGmtslr";
     120                case CumGmslrEnum : return "CumGmslr";
    119121                case DamageC1Enum : return "DamageC1";
    120122                case DamageC2Enum : return "DamageC2";
     
    698700                case BslrHydroEnum : return "BslrHydro";
    699701                case BslrRateEnum : return "BslrRate";
     702                case GmtslrEnum : return "Gmtslr";
    700703                case SealevelRSLEustaticEnum : return "SealevelRSLEustatic";
    701704                case SealevelRSLRateEnum : return "SealevelRSLRate";
  • issm/branches/trunk-larour-SLPS2020/src/c/shared/Enum/StringToEnumx.cpp

    r25534 r25535  
    117117              else if (strcmp(name,"CumBslrIce")==0) return CumBslrIceEnum;
    118118              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;
    119121              else if (strcmp(name,"DamageC1")==0) return DamageC1Enum;
    120122              else if (strcmp(name,"DamageC2")==0) return DamageC2Enum;
     
    135137              else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum;
    136138              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;
    139139         else stage=2;
    140140   }
    141141   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;
    143145              else if (strcmp(name,"DslComputeFingerprints")==0) return DslComputeFingerprintsEnum;
    144146              else if (strcmp(name,"EarthId")==0) return EarthIdEnum;
     
    258260              else if (strcmp(name,"LoveShNmin")==0) return LoveShNminEnum;
    259261              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;
    262262         else stage=3;
    263263   }
    264264   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;
    266268              else if (strcmp(name,"MasstransportMinThickness")==0) return MasstransportMinThicknessEnum;
    267269              else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum;
     
    381383              else if (strcmp(name,"SmbF")==0) return SmbFEnum;
    382384              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;
    385385         else stage=4;
    386386   }
    387387   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;
    389391              else if (strcmp(name,"SmbIsconstrainsurfaceT")==0) return SmbIsconstrainsurfaceTEnum;
    390392              else if (strcmp(name,"SmbIsd18opd")==0) return SmbIsd18opdEnum;
     
    504506              else if (strcmp(name,"BasalforcingsIsmip6BasinId")==0) return BasalforcingsIsmip6BasinIdEnum;
    505507              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;
    508508         else stage=5;
    509509   }
    510510   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;
    512514              else if (strcmp(name,"BasalforcingsOceanTemp")==0) return BasalforcingsOceanTempEnum;
    513515              else if (strcmp(name,"BasalforcingsPicoBasinId")==0) return BasalforcingsPicoBasinIdEnum;
     
    627629              else if (strcmp(name,"HydrologyBumpHeight")==0) return HydrologyBumpHeightEnum;
    628630              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;
    631631         else stage=6;
    632632   }
    633633   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;
    635637              else if (strcmp(name,"HydrologydcEplThicknessSubstep")==0) return HydrologydcEplThicknessSubstepEnum;
    636638              else if (strcmp(name,"HydrologydcEplThicknessTransient")==0) return HydrologydcEplThicknessTransientEnum;
     
    713715              else if (strcmp(name,"BslrHydro")==0) return BslrHydroEnum;
    714716              else if (strcmp(name,"BslrRate")==0) return BslrRateEnum;
     717              else if (strcmp(name,"Gmtslr")==0) return GmtslrEnum;
    715718              else if (strcmp(name,"SealevelRSLEustatic")==0) return SealevelRSLEustaticEnum;
    716719              else if (strcmp(name,"SealevelRSLRate")==0) return SealevelRSLRateEnum;
     
    749752              else if (strcmp(name,"SmbDailyairdensity")==0) return SmbDailyairdensityEnum;
    750753              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;
    754754         else stage=7;
    755755   }
    756756   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;
    758761              else if (strcmp(name,"SmbDailysnowfall")==0) return SmbDailysnowfallEnum;
    759762              else if (strcmp(name,"SmbDailytemperature")==0) return SmbDailytemperatureEnum;
     
    872875              else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
    873876              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;
    877877         else stage=8;
    878878   }
    879879   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;
    881884              else if (strcmp(name,"ThicknessPositive")==0) return ThicknessPositiveEnum;
    882885              else if (strcmp(name,"ThicknessResidual")==0) return ThicknessResidualEnum;
     
    995998              else if (strcmp(name,"Outputdefinition93")==0) return Outputdefinition93Enum;
    996999              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;
    10001000         else stage=9;
    10011001   }
    10021002   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;
    10041007              else if (strcmp(name,"Outputdefinition99")==0) return Outputdefinition99Enum;
    10051008              else if (strcmp(name,"Outputdefinition9")==0) return Outputdefinition9Enum;
     
    11181121              else if (strcmp(name,"GaussPenta")==0) return GaussPentaEnum;
    11191122              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;
    11231123         else stage=10;
    11241124   }
    11251125   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;
    11271130              else if (strcmp(name,"GiaAnalysis")==0) return GiaAnalysisEnum;
    11281131              else if (strcmp(name,"GiaSolution")==0) return GiaSolutionEnum;
     
    12411244              else if (strcmp(name,"Nodal")==0) return NodalEnum;
    12421245              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;
    12461246         else stage=11;
    12471247   }
    12481248   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;
    12501253              else if (strcmp(name,"NyeCO2")==0) return NyeCO2Enum;
    12511254              else if (strcmp(name,"NyeH2O")==0) return NyeH2OEnum;
     
    13641367              else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum;
    13651368              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;
    13691369         else stage=12;
    13701370   }
    13711371   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;
    13731376              else if (strcmp(name,"VertexLId")==0) return VertexLIdEnum;
    13741377              else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
Note: See TracChangeset for help on using the changeset viewer.