Changeset 28067
- Timestamp:
- 01/24/24 14:18:13 (14 months ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r28036 r28067 5170 5170 this->SetElementInput(SmbAccumulatedRainEnum,0.0); 5171 5171 this->SetElementInput(SmbAccumulatedPrecipitationEnum,0.0); 5172 this->SetElementInput(SmbMSurfEnum,0.0); 5172 5173 5173 5174 /*Flag the initialization:*/ … … 5221 5222 Input *MassAdd_input = this->GetInput(SmbMAddEnum); _assert_(MassAdd_input); 5222 5223 Input *InitMass_input = this->GetInput(SmbMInitnum); _assert_(InitMass_input); 5223 Input *sumMsurf_input = this->GetInput(SmbMSurfEnum); _assert_(sumMsurf_input);5224 Input *sumMsurf_input = this->GetInput(SmbMSurfSumEnum); _assert_(sumMsurf_input); 5224 5225 5225 5226 ULW_input->GetInputAverage(&meanULW); … … 5248 5249 } 5249 5250 /*}}}*/ 5251 5252 // Get surface melt for albedo calculation 5253 Input *Msurf_input = this->GetInput(SmbMSurfEnum); _assert_(Msurf_input); 5254 Msurf_input->GetInputAverage(&Msurf); 5255 Msurf=Msurf*dt*rho_ice; 5250 5256 5251 5257 // Get time forcing inputs … … 5432 5438 this->SetElementInput(SmbDzAddEnum,dz_add); 5433 5439 this->SetElementInput(SmbMInitnum,initMass); 5440 this->SetElementInput(SmbMSurfEnum,Msurf/dt/rho_ice); 5434 5441 this->SetElementInput(SmbMAddEnum,sumMassAdd/dt); 5435 this->SetElementInput(SmbMSurf Enum,sumMsurf/dt/rho_ice);5442 this->SetElementInput(SmbMSurfSumEnum,sumMsurf/dt/rho_ice); 5436 5443 this->SetElementInput(SmbWAddEnum,sumW/dt); 5437 5444 this->SetElementInput(SmbFACEnum,fac/1000.); // output in meters -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp
r27715 r28067 897 897 // return the min integer factor that is < dt 898 898 max_fdt=f[0]; 899 bool maxfound=false; 899 900 for(int i=0;i<45;i++){ 900 if (f[i]<dt-Dtol)if(f[i]>=max_fdt-Dtol)max_fdt=f[i]; 901 if (f[i]<dt-Dtol)if(f[i]>=max_fdt-Dtol){ 902 max_fdt=f[i]; 903 maxfound=true; 904 } 901 905 } 902 906 dt=max_fdt; 907 if (maxfound==false){ 908 if(VerboseSmb() && sid==0 && IssmComm::GetRank()==0){ 909 _printf0_(" WARNING: calculated timestep for thermal loop is < 1 second.\n"); 910 } 911 } 903 912 904 913 // determine mean (harmonic mean) of K/dz for u, d, & p … … 1545 1554 if (T_air <= CtoK+Ttol){ // if snow 1546 1555 1547 IssmDouble 1556 IssmDouble z_snow = P/dSnow; // depth of snow 1548 1557 IssmDouble dfall = gdnNew; 1549 1558 IssmDouble sfall = gspNew; … … 2395 2404 2396 2405 case 4: // Li and Zwally (2004) 2397 c0 = (C/dIce) * (139.21 - 0.542*Tmean)*8.36*pow(CtoK - T[i],-2.061);2406 c0 = (C/dIce) * max(139.21 - 0.542*Tmean,1.0)*8.36*pow(max(CtoK - T[i],1.0),-2.061); 2398 2407 c1 = c0; 2399 2408 break; … … 2401 2410 case 5: // Helsen et al. (2008) 2402 2411 // common variable 2403 c0 = (C/dIce) * (76.138 - 0.28965*Tmean)*8.36*pow(CtoK - T[i],-2.061);2412 c0 = (C/dIce) * max(76.138 - 0.28965*Tmean,1.0)*8.36*pow(max(CtoK - T[i],1.0),-2.061); 2404 2413 c1 = c0; 2405 2414 break; -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r28036 r28067 903 903 syn keyword cConstant HydrologyNeumannfluxEnum 904 904 syn keyword cConstant HydrologyReynoldsEnum 905 syn keyword cConstant HydrologyRheologyBBaseEnum 905 906 syn keyword cConstant HydrologySheetConductivityEnum 907 syn keyword cConstant HydrologySheetDischargeEnum 906 908 syn keyword cConstant HydrologySheetThicknessEnum 907 909 syn keyword cConstant HydrologySheetThicknessOldEnum … … 1128 1130 syn keyword cConstant SmbMonthlyairhumidityEnum 1129 1131 syn keyword cConstant SmbMSurfEnum 1132 syn keyword cConstant SmbMSurfSumEnum 1130 1133 syn keyword cConstant SmbNetLWEnum 1131 1134 syn keyword cConstant SmbNetSWEnum -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r28050 r28067 1123 1123 SmbMonthlytemperaturesEnum, 1124 1124 SmbMonthlydsradiationEnum, 1125 1126 1127 1125 SmbMonthlydlradiationEnum, 1126 SmbMonthlywindspeedEnum, 1127 SmbMonthlyairhumidityEnum, 1128 1128 SmbMSurfEnum, 1129 SmbMSurfSumEnum, 1129 1130 SmbNetLWEnum, 1130 1131 SmbNetSWEnum, … … 1136 1137 SmbPrecipitationsAnomalyEnum, 1137 1138 SmbDsradiationAnomalyEnum, 1138 1139 1140 1139 SmbDlradiationAnomalyEnum, 1140 SmbWindspeedAnomalyEnum, 1141 SmbAirhumidityAnomalyEnum, 1141 1142 SmbPrecipitationsLgmEnum, 1142 1143 SmbPrecipitationsPresentdayEnum, … … 1159 1160 SmbSzaValueEnum, 1160 1161 SmbSummerMeltEnum, 1161 1162 1162 SmbSummerAlbedoEnum, 1163 SmbSnowheightEnum, 1163 1164 SmbTEnum, 1164 1165 SmbTaEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r28036 r28067 905 905 case HydrologyNeumannfluxEnum : return "HydrologyNeumannflux"; 906 906 case HydrologyReynoldsEnum : return "HydrologyReynolds"; 907 case HydrologyRheologyBBaseEnum : return "HydrologyRheologyBBase"; 907 908 case HydrologySheetConductivityEnum : return "HydrologySheetConductivity"; 909 case HydrologySheetDischargeEnum : return "HydrologySheetDischarge"; 908 910 case HydrologySheetThicknessEnum : return "HydrologySheetThickness"; 909 911 case HydrologySheetThicknessOldEnum : return "HydrologySheetThicknessOld"; … … 1130 1132 case SmbMonthlyairhumidityEnum : return "SmbMonthlyairhumidity"; 1131 1133 case SmbMSurfEnum : return "SmbMSurf"; 1134 case SmbMSurfSumEnum : return "SmbMSurfSum"; 1132 1135 case SmbNetLWEnum : return "SmbNetLW"; 1133 1136 case SmbNetSWEnum : return "SmbNetSW"; -
issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim
r28036 r28067 896 896 syn keyword juliaConstC HydrologyNeumannfluxEnum 897 897 syn keyword juliaConstC HydrologyReynoldsEnum 898 syn keyword juliaConstC HydrologyRheologyBBaseEnum 898 899 syn keyword juliaConstC HydrologySheetConductivityEnum 900 syn keyword juliaConstC HydrologySheetDischargeEnum 899 901 syn keyword juliaConstC HydrologySheetThicknessEnum 900 902 syn keyword juliaConstC HydrologySheetThicknessOldEnum … … 1121 1123 syn keyword juliaConstC SmbMonthlyairhumidityEnum 1122 1124 syn keyword juliaConstC SmbMSurfEnum 1125 syn keyword juliaConstC SmbMSurfSumEnum 1123 1126 syn keyword juliaConstC SmbNetLWEnum 1124 1127 syn keyword juliaConstC SmbNetSWEnum -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r28036 r28067 926 926 else if (strcmp(name,"HydrologyNeumannflux")==0) return HydrologyNeumannfluxEnum; 927 927 else if (strcmp(name,"HydrologyReynolds")==0) return HydrologyReynoldsEnum; 928 else if (strcmp(name,"HydrologyRheologyBBase")==0) return HydrologyRheologyBBaseEnum; 928 929 else if (strcmp(name,"HydrologySheetConductivity")==0) return HydrologySheetConductivityEnum; 930 else if (strcmp(name,"HydrologySheetDischarge")==0) return HydrologySheetDischargeEnum; 929 931 else if (strcmp(name,"HydrologySheetThickness")==0) return HydrologySheetThicknessEnum; 930 932 else if (strcmp(name,"HydrologySheetThicknessOld")==0) return HydrologySheetThicknessOldEnum; … … 996 998 else if (strcmp(name,"SampleOld")==0) return SampleOldEnum; 997 999 else if (strcmp(name,"SampleNoise")==0) return SampleNoiseEnum; 998 else if (strcmp(name,"SamplingBeta")==0) return SamplingBetaEnum;999 else if (strcmp(name,"SamplingKappa")==0) return SamplingKappaEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"SamplingPhi")==0) return SamplingPhiEnum; 1003 if (strcmp(name,"SamplingBeta")==0) return SamplingBetaEnum; 1004 else if (strcmp(name,"SamplingKappa")==0) return SamplingKappaEnum; 1005 else if (strcmp(name,"SamplingPhi")==0) return SamplingPhiEnum; 1004 1006 else if (strcmp(name,"SamplingTau")==0) return SamplingTauEnum; 1005 1007 else if (strcmp(name,"Sealevel")==0) return SealevelEnum; … … 1119 1121 else if (strcmp(name,"SmbDzMin")==0) return SmbDzMinEnum; 1120 1122 else if (strcmp(name,"SmbDzTop")==0) return SmbDzTopEnum; 1121 else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum;1122 else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"SmbEC")==0) return SmbECEnum; 1126 if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum; 1127 else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum; 1128 else if (strcmp(name,"SmbEC")==0) return SmbECEnum; 1127 1129 else if (strcmp(name,"SmbECDt")==0) return SmbECDtEnum; 1128 1130 else if (strcmp(name,"SmbECini")==0) return SmbECiniEnum; … … 1157 1159 else if (strcmp(name,"SmbMonthlyairhumidity")==0) return SmbMonthlyairhumidityEnum; 1158 1160 else if (strcmp(name,"SmbMSurf")==0) return SmbMSurfEnum; 1161 else if (strcmp(name,"SmbMSurfSum")==0) return SmbMSurfSumEnum; 1159 1162 else if (strcmp(name,"SmbNetLW")==0) return SmbNetLWEnum; 1160 1163 else if (strcmp(name,"SmbNetSW")==0) return SmbNetSWEnum; … … 1241 1244 else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum; 1242 1245 else if (strcmp(name,"Area")==0) return AreaEnum; 1243 else if (strcmp(name,"SealevelArea")==0) return SealevelAreaEnum;1244 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;1245 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum;1246 1246 else stage=11; 1247 1247 } 1248 1248 if(stage==11){ 1249 if (strcmp(name,"SurfaceCrevasse")==0) return SurfaceCrevasseEnum; 1249 if (strcmp(name,"SealevelArea")==0) return SealevelAreaEnum; 1250 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; 1251 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 1252 else if (strcmp(name,"SurfaceCrevasse")==0) return SurfaceCrevasseEnum; 1250 1253 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 1251 1254 else if (strcmp(name,"SurfaceOld")==0) return SurfaceOldEnum; … … 1364 1367 else if (strcmp(name,"Outputdefinition55")==0) return Outputdefinition55Enum; 1365 1368 else if (strcmp(name,"Outputdefinition56")==0) return Outputdefinition56Enum; 1366 else if (strcmp(name,"Outputdefinition57")==0) return Outputdefinition57Enum;1367 else if (strcmp(name,"Outputdefinition58")==0) return Outputdefinition58Enum;1368 else if (strcmp(name,"Outputdefinition59")==0) return Outputdefinition59Enum;1369 1369 else stage=12; 1370 1370 } 1371 1371 if(stage==12){ 1372 if (strcmp(name,"Outputdefinition5")==0) return Outputdefinition5Enum; 1372 if (strcmp(name,"Outputdefinition57")==0) return Outputdefinition57Enum; 1373 else if (strcmp(name,"Outputdefinition58")==0) return Outputdefinition58Enum; 1374 else if (strcmp(name,"Outputdefinition59")==0) return Outputdefinition59Enum; 1375 else if (strcmp(name,"Outputdefinition5")==0) return Outputdefinition5Enum; 1373 1376 else if (strcmp(name,"Outputdefinition60")==0) return Outputdefinition60Enum; 1374 1377 else if (strcmp(name,"Outputdefinition61")==0) return Outputdefinition61Enum; … … 1487 1490 else if (strcmp(name,"DamageEvolutionAnalysis")==0) return DamageEvolutionAnalysisEnum; 1488 1491 else if (strcmp(name,"DamageEvolutionSolution")==0) return DamageEvolutionSolutionEnum; 1489 else if (strcmp(name,"DataSet")==0) return DataSetEnum;1490 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum;1491 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum;1492 1492 else stage=13; 1493 1493 } 1494 1494 if(stage==13){ 1495 if (strcmp(name,"DebrisAnalysis")==0) return DebrisAnalysisEnum; 1495 if (strcmp(name,"DataSet")==0) return DataSetEnum; 1496 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 1497 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 1498 else if (strcmp(name,"DebrisAnalysis")==0) return DebrisAnalysisEnum; 1496 1499 else if (strcmp(name,"DebrisSolution")==0) return DebrisSolutionEnum; 1497 1500 else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum; … … 1610 1613 else if (strcmp(name,"LinearFloatingMeltRate")==0) return LinearFloatingMeltRateEnum; 1611 1614 else if (strcmp(name,"LinearFloatingMeltRatearma")==0) return LinearFloatingMeltRatearmaEnum; 1612 else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum;1613 else if (strcmp(name,"Loads")==0) return LoadsEnum;1614 else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum;1615 1615 else stage=14; 1616 1616 } 1617 1617 if(stage==14){ 1618 if (strcmp(name,"LoveHf")==0) return LoveHfEnum; 1618 if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum; 1619 else if (strcmp(name,"Loads")==0) return LoadsEnum; 1620 else if (strcmp(name,"LoveAnalysis")==0) return LoveAnalysisEnum; 1621 else if (strcmp(name,"LoveHf")==0) return LoveHfEnum; 1619 1622 else if (strcmp(name,"LoveHt")==0) return LoveHtEnum; 1620 1623 else if (strcmp(name,"LoveKernelsImag")==0) return LoveKernelsImagEnum; … … 1733 1736 else if (strcmp(name,"SMBgradientsela")==0) return SMBgradientselaEnum; 1734 1737 else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum; 1735 else if (strcmp(name,"SMBmeltcomponents")==0) return SMBmeltcomponentsEnum;1736 else if (strcmp(name,"SMBpdd")==0) return SMBpddEnum;1737 else if (strcmp(name,"SMBpddSicopolis")==0) return SMBpddSicopolisEnum;1738 1738 else stage=15; 1739 1739 } 1740 1740 if(stage==15){ 1741 if (strcmp(name,"SMBsemic")==0) return SMBsemicEnum; 1741 if (strcmp(name,"SMBmeltcomponents")==0) return SMBmeltcomponentsEnum; 1742 else if (strcmp(name,"SMBpdd")==0) return SMBpddEnum; 1743 else if (strcmp(name,"SMBpddSicopolis")==0) return SMBpddSicopolisEnum; 1744 else if (strcmp(name,"SMBsemic")==0) return SMBsemicEnum; 1742 1745 else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum; 1743 1746 else if (strcmp(name,"SSAFSApproximation")==0) return SSAFSApproximationEnum;
Note:
See TracChangeset
for help on using the changeset viewer.