Changeset 25807
- Timestamp:
- 12/02/20 15:09:51 (4 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.cpp ¶
r25777 r25807 3644 3644 IssmDouble sumMass=0.0; 3645 3645 IssmDouble dMass=0.0; 3646 IssmDouble accsumR=0.0; 3647 IssmDouble accsumM=0.0; 3648 IssmDouble accsumSMB=0.0; 3649 IssmDouble accsumEC=0.0; 3650 IssmDouble accsumP=0.0; 3646 3651 bool isgraingrowth,isalbedo,isshortwave,isthermal,isaccumulation,ismelt,isdensification,isturbulentflux; 3647 3652 bool isclimatology=false; … … 3803 3808 } 3804 3809 3810 this->SetElementInput(SmbAccumulatedECEnum,0.0); 3811 this->SetElementInput(SmbAccumulatedMassBalanceEnum,0.0); 3812 this->SetElementInput(SmbAccumulatedMeltEnum,0.0); 3813 this->SetElementInput(SmbAccumulatedRunoffEnum,0.0); 3814 this->SetElementInput(SmbAccumulatedPrecipitationEnum,0.0); 3815 3805 3816 /*Flag the initialization:*/ 3806 3817 this->SetBoolInput(this->inputs,SmbIsInitializedEnum,true); … … 3997 4008 if (T[m-1]!=T_bottom) _printf_("T(end)~=T_bottom" << "\n"); 3998 4009 } 4010 4011 /*Save accumulated inputs {{{*/ 4012 Input *accsumEC_input = this->GetInput(SmbAccumulatedECEnum); _assert_(accsumEC_input); 4013 Input *accsumM_input = this->GetInput(SmbAccumulatedMeltEnum); _assert_(accsumM_input); 4014 Input *accsumR_input = this->GetInput(SmbAccumulatedRunoffEnum); _assert_(accsumR_input); 4015 Input *accsumP_input = this->GetInput(SmbAccumulatedPrecipitationEnum); _assert_(accsumP_input); 4016 Input *accsumSMB_input = this->GetInput(SmbAccumulatedMassBalanceEnum); _assert_(accsumP_input); 4017 4018 accsumEC_input->GetInputAverage(&accsumEC); 4019 accsumM_input->GetInputAverage(&accsumM); 4020 accsumR_input->GetInputAverage(&accsumR); 4021 accsumP_input->GetInputAverage(&accsumP); 4022 accsumSMB_input->GetInputAverage(&accsumSMB); 4023 4024 this->SetElementInput(SmbAccumulatedECEnum,accsumEC+EC/rho_ice); 4025 this->SetElementInput(SmbAccumulatedMassBalanceEnum,accsumSMB+(P + EC -R)/rho_ice); 4026 this->SetElementInput(SmbAccumulatedMeltEnum,accsumM+M/rho_ice); 4027 this->SetElementInput(SmbAccumulatedRunoffEnum,accsumR+R/rho_ice); 4028 this->SetElementInput(SmbAccumulatedPrecipitationEnum,accsumP+P/rho_ice); 4029 /*}}}*/ 3999 4030 4000 4031 /*Save generated inputs: */ -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/Enum.vim ¶
r25775 r25807 743 743 syn keyword cConstant SigmaNNEnum 744 744 syn keyword cConstant SigmaVMEnum 745 syn keyword cConstant SmbAccumulatedECEnum 746 syn keyword cConstant SmbAccumulatedMassBalanceEnum 747 syn keyword cConstant SmbAccumulatedMeltEnum 748 syn keyword cConstant SmbAccumulatedPrecipitationEnum 749 syn keyword cConstant SmbAccumulatedRunoffEnum 745 750 syn keyword cConstant SmbAEnum 746 751 syn keyword cConstant SmbAValueEnum -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r25775 r25807 739 739 SigmaNNEnum, 740 740 SigmaVMEnum, 741 SmbAccumulatedECEnum, 742 SmbAccumulatedMassBalanceEnum, 743 SmbAccumulatedMeltEnum, 744 SmbAccumulatedPrecipitationEnum, 745 SmbAccumulatedRunoffEnum, 741 746 SmbAEnum, 742 747 SmbAValueEnum, -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp ¶
r25775 r25807 745 745 case SigmaNNEnum : return "SigmaNN"; 746 746 case SigmaVMEnum : return "SigmaVM"; 747 case SmbAccumulatedECEnum : return "SmbAccumulatedEC"; 748 case SmbAccumulatedMassBalanceEnum : return "SmbAccumulatedMassBalance"; 749 case SmbAccumulatedMeltEnum : return "SmbAccumulatedMelt"; 750 case SmbAccumulatedPrecipitationEnum : return "SmbAccumulatedPrecipitation"; 751 case SmbAccumulatedRunoffEnum : return "SmbAccumulatedRunoff"; 747 752 case SmbAEnum : return "SmbA"; 748 753 case SmbAValueEnum : return "SmbAValue"; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp ¶
r25775 r25807 763 763 else if (strcmp(name,"SigmaNN")==0) return SigmaNNEnum; 764 764 else if (strcmp(name,"SigmaVM")==0) return SigmaVMEnum; 765 else if (strcmp(name,"SmbAccumulatedEC")==0) return SmbAccumulatedECEnum; 766 else if (strcmp(name,"SmbAccumulatedMassBalance")==0) return SmbAccumulatedMassBalanceEnum; 767 else if (strcmp(name,"SmbAccumulatedMelt")==0) return SmbAccumulatedMeltEnum; 768 else if (strcmp(name,"SmbAccumulatedPrecipitation")==0) return SmbAccumulatedPrecipitationEnum; 769 else if (strcmp(name,"SmbAccumulatedRunoff")==0) return SmbAccumulatedRunoffEnum; 765 770 else if (strcmp(name,"SmbA")==0) return SmbAEnum; 766 771 else if (strcmp(name,"SmbAValue")==0) return SmbAValueEnum; … … 870 875 else if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum; 871 876 else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum; 872 else if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum; 873 881 else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum; 874 882 else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum; 875 883 else if (strcmp(name,"SurfaceAbsMisfit")==0) return SurfaceAbsMisfitEnum; 876 884 else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"Area")==0) return AreaEnum; 885 else if (strcmp(name,"Area")==0) return AreaEnum; 881 886 else if (strcmp(name,"SealevelArea")==0) return SealevelAreaEnum; 882 887 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; … … 993 998 else if (strcmp(name,"Outputdefinition70")==0) return Outputdefinition70Enum; 994 999 else if (strcmp(name,"Outputdefinition71")==0) return Outputdefinition71Enum; 995 else if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum; 996 1004 else if (strcmp(name,"Outputdefinition73")==0) return Outputdefinition73Enum; 997 1005 else if (strcmp(name,"Outputdefinition74")==0) return Outputdefinition74Enum; 998 1006 else if (strcmp(name,"Outputdefinition75")==0) return Outputdefinition75Enum; 999 1007 else if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition77")==0) return Outputdefinition77Enum; 1008 else if (strcmp(name,"Outputdefinition77")==0) return Outputdefinition77Enum; 1004 1009 else if (strcmp(name,"Outputdefinition78")==0) return Outputdefinition78Enum; 1005 1010 else if (strcmp(name,"Outputdefinition79")==0) return Outputdefinition79Enum; … … 1116 1121 else if (strcmp(name,"ExtrapolationAnalysis")==0) return ExtrapolationAnalysisEnum; 1117 1122 else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 1118 else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 1119 1127 else if (strcmp(name,"FSApproximation")==0) return FSApproximationEnum; 1120 1128 else if (strcmp(name,"FSSolver")==0) return FSSolverEnum; 1121 1129 else if (strcmp(name,"FSpressure")==0) return FSpressureEnum; 1122 1130 else if (strcmp(name,"FSvelocity")==0) return FSvelocityEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"FemModel")==0) return FemModelEnum; 1131 else if (strcmp(name,"FemModel")==0) return FemModelEnum; 1127 1132 else if (strcmp(name,"FileParam")==0) return FileParamEnum; 1128 1133 else if (strcmp(name,"FixedTimestepping")==0) return FixedTimesteppingEnum; … … 1239 1244 else if (strcmp(name,"MaxVx")==0) return MaxVxEnum; 1240 1245 else if (strcmp(name,"MaxVy")==0) return MaxVyEnum; 1241 else if (strcmp(name,"MaxVz")==0) return MaxVzEnum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"MaxVz")==0) return MaxVzEnum; 1242 1250 else if (strcmp(name,"Melange")==0) return MelangeEnum; 1243 1251 else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum; 1244 1252 else if (strcmp(name,"MeshElements")==0) return MeshElementsEnum; 1245 1253 else if (strcmp(name,"MeshX")==0) return MeshXEnum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"MeshY")==0) return MeshYEnum; 1254 else if (strcmp(name,"MeshY")==0) return MeshYEnum; 1250 1255 else if (strcmp(name,"MinVel")==0) return MinVelEnum; 1251 1256 else if (strcmp(name,"MinVx")==0) return MinVxEnum; … … 1362 1367 else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum; 1363 1368 else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum; 1364 else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 1365 1373 else if (strcmp(name,"Tetra")==0) return TetraEnum; 1366 1374 else if (strcmp(name,"TetraInput")==0) return TetraInputEnum; 1367 1375 else if (strcmp(name,"ThermalAnalysis")==0) return ThermalAnalysisEnum; 1368 1376 else if (strcmp(name,"ThermalSolution")==0) return ThermalSolutionEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"ThicknessErrorEstimator")==0) return ThicknessErrorEstimatorEnum; 1377 else if (strcmp(name,"ThicknessErrorEstimator")==0) return ThicknessErrorEstimatorEnum; 1373 1378 else if (strcmp(name,"TotalCalvingFluxLevelset")==0) return TotalCalvingFluxLevelsetEnum; 1374 1379 else if (strcmp(name,"TotalCalvingMeltingFluxLevelset")==0) return TotalCalvingMeltingFluxLevelsetEnum; -
TabularUnified issm/trunk-jpl/test/NightlyRun/test243.m ¶
r24760 r25807 30 30 md.smb.requested_outputs={'SmbDz','SmbT','SmbD','SmbRe','SmbGdn','SmbGsp','SmbEC',... 31 31 'SmbA','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF',... 32 'SmbMeanULW','SmbNetLW','SmbNetSW'}; 32 'SmbMeanULW','SmbNetLW','SmbNetSW','SmbAccumulatedMassBalance','SmbAccumulatedRunoff',... 33 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation'}; 33 34 34 35 %only run smb core: … … 52 53 53 54 %Fields and tolerances to track changes 54 field_names ={'Layers','SmbDz','SmbT' ,'SmbD' ,'SmbRe','SmbGdn','SmbGsp','SmbA' ,'SmbEC','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF','SmbMeanULW','SmbNetLW','SmbNetSW' };55 field_tolerances ={1e-12,2e-12,1e-12,1e-11,1e-11,2e-11,1e-11,1e-12,1e-11,1e-12,1e-12,1e-12,1e-11,2e-11,2e-11,1e-11,9e-10,2e-11 };55 field_names ={'Layers','SmbDz','SmbT' ,'SmbD' ,'SmbRe','SmbGdn','SmbGsp','SmbA' ,'SmbEC','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF','SmbMeanULW','SmbNetLW','SmbNetSW','SmbAccumulatedMassBalance','SmbAccumulatedRunoff','SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation'}; 56 field_tolerances ={1e-12,2e-12,1e-12,1e-11,1e-11,2e-11,1e-11,1e-12,1e-11,1e-12,1e-12,1e-12,1e-11,2e-11,2e-11,1e-11,9e-10,2e-11,1e-11,9e-10,2e-11,1e-11,1e-11,1e-11,1e-11,1e-11,}; 56 57 57 58 field_values={... … … 73 74 (md.results.TransientSolution(end).SmbMeanULW(1)),... 74 75 (md.results.TransientSolution(end).SmbNetLW(1)),... 75 (md.results.TransientSolution(end).SmbNetSW(1)) 76 (md.results.TransientSolution(end).SmbNetSW(1)),... 77 (md.results.TransientSolution(end).SmbAccumulatedMassBalance(1)),... 78 (md.results.TransientSolution(end).SmbAccumulatedRunoff(1)),... 79 (md.results.TransientSolution(end).SmbAccumulatedMelt(1)),... 80 (md.results.TransientSolution(end).SmbAccumulatedEC(1)),... 81 (md.results.TransientSolution(end).SmbAccumulatedPrecipitation(1)) 76 82 }; -
TabularUnified issm/trunk-jpl/test/NightlyRun/test243.py ¶
r25709 r25807 47 47 'SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbEC', 48 48 'SmbA', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 49 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW' 49 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW','SmbAccumulatedMassBalance','SmbAccumulatedRunoff', 50 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation' 50 51 ] 51 52 … … 69 70 70 71 #Fields and tolerances to track changes 71 field_names = ['Layers', 'SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbA', 'SmbEC', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW' ]72 field_tolerances = [1e-12, 2e-12, 1e-12, 1e-11, 1e-11, 2e-11, 1e-11, 1e-12, 1e-11, 1e-12, 1e-12, 1e-12, 1e-11, 2e-11, 2e-11, 1e-11, 9e-10, 2e-11 ]72 field_names = ['Layers', 'SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbA', 'SmbEC', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW', 'SmbAccumulatedMassBalance','SmbAccumulatedRunoff','SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation'] 73 field_tolerances = [1e-12, 2e-12, 1e-12, 1e-11, 1e-11, 2e-11, 1e-11, 1e-12, 1e-11, 1e-12, 1e-12, 1e-12, 1e-11, 2e-11, 2e-11, 1e-11, 9e-10, 2e-11, 1e-11, 1e-11, 1e-11, 1e-11, 1e-11] 73 74 # Shape is different in python solution (fixed using reshape) which can cause test failure 74 75 field_values = [ … … 90 91 md.results.TransientSolution[-1].SmbMeanULW[0], 91 92 md.results.TransientSolution[-1].SmbNetLW[0], 92 md.results.TransientSolution[-1].SmbNetSW[0] 93 md.results.TransientSolution[-1].SmbNetSW[0], 94 md.results.TransientSolution[-1].SmbAccumulatedMassBalance[0], 95 md.results.TransientSolution[-1].SmbAccumulatedRunoff[0], 96 md.results.TransientSolution[-1].SmbAccumulatedMelt[0], 97 md.results.TransientSolution[-1].SmbAccumulatedEC[0], 98 md.results.TransientSolution[-1].SmbAccumulatedPrecipitation[0] 93 99 ]
Note:
See TracChangeset
for help on using the changeset viewer.