Changeset 26271
- Timestamp:
- 05/14/21 11:57:50 (4 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r26222 r26271 3621 3621 IssmDouble initMass=0.0; 3622 3622 IssmDouble sumR=0.0; 3623 IssmDouble sumM=0.0; 3623 IssmDouble sumF=0.0; 3624 IssmDouble sumM=0.0; 3624 3625 IssmDouble sumMsurf=0.0; 3625 IssmDouble sumEC=0.0; 3626 IssmDouble sumP=0.0; 3627 IssmDouble sumW=0.0; 3628 IssmDouble sumMassAdd=0.0; 3626 IssmDouble sumEC=0.0; 3627 IssmDouble sumP=0.0; 3628 IssmDouble sumRa=0.0; 3629 IssmDouble sumW=0.0; 3630 IssmDouble sumMassAdd=0.0; 3629 3631 IssmDouble fac=0.0; 3630 3632 IssmDouble sumMass=0.0; 3631 3633 IssmDouble dMass=0.0; 3632 3634 IssmDouble accsumR=0.0; 3635 IssmDouble accsumF=0.0; 3633 3636 IssmDouble accsumM=0.0; 3634 3637 IssmDouble accsumSMB=0.0; 3635 3638 IssmDouble accsumEC=0.0; 3636 3639 IssmDouble accsumP=0.0; 3640 IssmDouble accsumRa=0.0; 3637 3641 bool isgraingrowth,isalbedo,isshortwave,isthermal,isaccumulation,ismelt,isdensification,isturbulentflux; 3638 3642 bool isconstrainsurfaceT=false; … … 3663 3667 IssmDouble Msurf = 0.0; 3664 3668 IssmDouble R = 0.0; 3669 IssmDouble F = 0.0; 3670 IssmDouble Ra = 0.0; 3665 3671 IssmDouble mAdd = 0.0; 3666 3672 IssmDouble dz_add = 0.0; … … 3802 3808 this->SetElementInput(SmbAccumulatedMeltEnum,0.0); 3803 3809 this->SetElementInput(SmbAccumulatedRunoffEnum,0.0); 3810 this->SetElementInput(SmbAccumulatedRefreezeEnum,0.0); 3811 this->SetElementInput(SmbAccumulatedRainEnum,0.0); 3804 3812 this->SetElementInput(SmbAccumulatedPrecipitationEnum,0.0); 3805 3813 … … 3830 3838 3831 3839 // initialize cumulative variables 3832 sumR = 0; sum M = 0; sumEC = 0; sumP = 0; sumMassAdd = 0; sumMsurf= 0;3840 sumR = 0; sumF=0; sumM = 0; sumEC = 0; sumP = 0; sumMassAdd = 0; sumMsurf = 0; sumRa = 0; 3833 3841 3834 3842 //before starting loop, realize that the transient core runs this smb_core at time = time +deltaT. … … 3843 3851 Input *sumM_input = this->GetInput(SmbMeltEnum); _assert_(sumM_input); 3844 3852 Input *sumR_input = this->GetInput(SmbRunoffEnum); _assert_(sumR_input); 3853 Input *sumF_input = this->GetInput(SmbRefreezeEnum); _assert_(sumF_input); 3854 Input *sumRa_input = this->GetInput(SmbRainEnum); _assert_(sumRa_input); 3845 3855 Input *sumP_input = this->GetInput(SmbPrecipitationEnum); _assert_(sumP_input); 3846 3856 Input *ULW_input = this->GetInput(SmbMeanULWEnum); _assert_(ULW_input); … … 3871 3881 sumR_input->GetInputAverage(&sumR); 3872 3882 sumR=sumR*dt*rho_ice; 3883 sumF_input->GetInputAverage(&sumF); 3884 sumF=sumF*dt*rho_ice; 3885 sumRa_input->GetInputAverage(&sumRa); 3886 sumRa=sumRa*dt*rho_ice; 3873 3887 sumP_input->GetInputAverage(&sumP); 3874 3888 sumP=sumP*dt*rho_ice; … … 3934 3948 3935 3949 /*Add snow/rain to top grid cell adjusting cell depth, temperature and density*/ 3936 if(isaccumulation)accumulation(&T, &dz, &d, &W, &a, &adiff, &re, &gdn, &gsp, & m, aIdx, dsnowIdx, Tmean, Ta, P, dzMin, aSnow, C, V, Vmean, rho_ice,this->Sid());3950 if(isaccumulation)accumulation(&T, &dz, &d, &W, &a, &adiff, &re, &gdn, &gsp, &Ra, &m, aIdx, dsnowIdx, Tmean, Ta, P, dzMin, aSnow, C, V, Vmean, rho_ice,this->Sid()); 3937 3951 3938 3952 /*Calculate water production, M [kg m-2] resulting from snow/ice temperature exceeding 273.15 deg K 3939 3953 * (> 0 deg C), runoff R [kg m-2] and resulting changes in density and determine wet compaction [m]*/ 3940 if(ismelt)melt(&M, &Msurf, &R, & mAdd, &dz_add, &T, &d, &dz, &W, &a, &adiff, &re, &gdn, &gsp, &m, dzMin, zMax, zMin, zTop, zY, rho_ice,this->Sid());3954 if(ismelt)melt(&M, &Msurf, &R, &F, &mAdd, &dz_add, &T, &d, &dz, &W, &a, &adiff, &re, &gdn, &gsp, &m, Ra, dzMin, zMax, zMin, zTop, zY, rho_ice,this->Sid()); 3941 3955 3942 3956 /*Allow non-melt densification and determine compaction [m]*/ … … 3983 3997 sumW = cellsum(W,m); 3984 3998 sumP = P + sumP; 3985 sumEC = sumEC + EC; // evap (-)/cond(+) 3999 sumEC = EC + sumEC; // evap (-)/cond(+) 4000 sumRa = Ra + sumRa; 4001 sumF = F + sumF; 3986 4002 3987 4003 /*Calculate total system mass:*/ … … 4015 4031 Input *accsumEC_input = this->GetInput(SmbAccumulatedECEnum); _assert_(accsumEC_input); 4016 4032 Input *accsumM_input = this->GetInput(SmbAccumulatedMeltEnum); _assert_(accsumM_input); 4017 Input *accsumR_input = this->GetInput(SmbAccumulatedRunoffEnum); _assert_(accsumR_input); 4018 Input *accsumP_input = this->GetInput(SmbAccumulatedPrecipitationEnum); _assert_(accsumP_input); 4019 Input *accsumSMB_input = this->GetInput(SmbAccumulatedMassBalanceEnum); _assert_(accsumP_input); 4033 Input *accsumR_input = this->GetInput(SmbAccumulatedRunoffEnum); _assert_(accsumR_input); 4034 Input *accsumF_input = this->GetInput(SmbAccumulatedRefreezeEnum); _assert_(accsumF_input); 4035 Input *accsumRa_input = this->GetInput(SmbAccumulatedRainEnum); _assert_(accsumRa_input); 4036 Input *accsumP_input = this->GetInput(SmbAccumulatedPrecipitationEnum); _assert_(accsumP_input); 4037 Input *accsumSMB_input = this->GetInput(SmbAccumulatedMassBalanceEnum); _assert_(accsumSMB_input); 4020 4038 4021 4039 accsumEC_input->GetInputAverage(&accsumEC); 4022 accsumM_input->GetInputAverage(&accsumM); 4023 accsumR_input->GetInputAverage(&accsumR); 4024 accsumP_input->GetInputAverage(&accsumP); 4025 accsumSMB_input->GetInputAverage(&accsumSMB); 4040 accsumM_input->GetInputAverage(&accsumM); 4041 accsumR_input->GetInputAverage(&accsumR); 4042 accsumF_input->GetInputAverage(&accsumF); 4043 accsumRa_input->GetInputAverage(&accsumRa); 4044 accsumP_input->GetInputAverage(&accsumP); 4045 accsumSMB_input->GetInputAverage(&accsumSMB); 4026 4046 4027 4047 this->SetElementInput(SmbAccumulatedECEnum,accsumEC+EC/rho_ice); … … 4029 4049 this->SetElementInput(SmbAccumulatedMeltEnum,accsumM+M/rho_ice); 4030 4050 this->SetElementInput(SmbAccumulatedRunoffEnum,accsumR+R/rho_ice); 4051 this->SetElementInput(SmbAccumulatedRefreezeEnum,accsumF+F/rho_ice); 4052 this->SetElementInput(SmbAccumulatedRainEnum,accsumRa+Ra/rho_ice); 4031 4053 this->SetElementInput(SmbAccumulatedPrecipitationEnum,accsumP+P/rho_ice); 4032 4054 /*}}}*/ … … 4046 4068 this->SetElementInput(SmbMeltEnum,sumM/dt/rho_ice); 4047 4069 this->SetElementInput(SmbRunoffEnum,sumR/dt/rho_ice); 4070 this->SetElementInput(SmbRefreezeEnum,sumF/dt/rho_ice); 4071 this->SetElementInput(SmbRainEnum,sumRa/dt/rho_ice); 4048 4072 this->SetElementInput(SmbPrecipitationEnum,sumP/dt/rho_ice); 4049 4073 this->SetElementInput(SmbMeanULWEnum,meanULW); -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp
r26208 r26271 1278 1278 1279 1279 } /*}}}*/ 1280 void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble T_air, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid){ /*{{{*/1280 void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, IssmDouble* pRa, int* pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble T_air, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid){ /*{{{*/ 1281 1281 1282 1282 // Adds precipitation and deposition to the model grid … … 1294 1294 dz = topgrid cell length [m] 1295 1295 d = density of top grid gell [kg m-3] 1296 P = precipitation [mm w.e.] or [kg m-3] 1297 re = effective grain radius [mm] 1298 gdn = grain dentricity 1299 gsp = grain sphericity*/ 1296 P = precipitation [mm w.e.] or [kg m-3] 1297 Ra = rainfall [mm w.e.] or [kg m-3] 1298 re = effective grain radius [mm] 1299 gdn = grain dentricity 1300 gsp = grain sphericity*/ 1300 1301 1301 1302 // MAIN FUNCTION … … 1323 1324 IssmDouble* gdn=NULL; 1324 1325 IssmDouble* gsp=NULL; 1326 IssmDouble ra=0.0; 1325 1327 int m=0; 1326 1328 … … 1338 1340 gsp=*pgsp; 1339 1341 m=*pm; 1342 ra=*pRa; 1340 1343 1341 1344 //Density of fresh snow [kg m-3] … … 1439 1442 dz[0] = mass / d[0]; // dz is adjusted to conserve mass 1440 1443 } 1444 1445 ra=P; 1441 1446 } 1442 1447 … … 1466 1471 *pgsp=gsp; 1467 1472 *pm=m; 1473 *pRa=ra; 1468 1474 } /*}}}*/ 1469 void melt(IssmDouble* pM, IssmDouble* pMs, IssmDouble* pR, IssmDouble* p mAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid){ /*{{{*/1475 void melt(IssmDouble* pM, IssmDouble* pMs, IssmDouble* pR, IssmDouble* pF, IssmDouble* pmAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble Ra, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid){ /*{{{*/ 1470 1476 1471 1477 //// MELT ROUTINE … … 1488 1494 IssmDouble* EW=NULL; 1489 1495 IssmDouble* M=NULL; 1490 int* D=NULL;1496 int* D=NULL; 1491 1497 1492 1498 IssmDouble sumM=0.0; … … 1532 1538 IssmDouble surplusE = 0.0; 1533 1539 IssmDouble surplusT = 0.0; 1534 IssmDouble dz_add = 0.0;1540 IssmDouble dz_add = 0.0; 1535 1541 IssmDouble Rsum = 0.0; 1542 IssmDouble Fsum = 0.0; 1536 1543 IssmDouble* T=*pT; 1537 1544 IssmDouble* d=*pd; … … 1565 1572 // initialize melt and runoff scalars 1566 1573 Rsum = 0.0; // runoff [kg] 1574 Fsum = 0.0; // refreeze [kg] 1567 1575 sumM = 0.0; // total melt [kg] 1568 1576 mAdd = 0.0; // mass added/removed to/from base of model [kg] … … 1610 1618 1611 1619 //// MELT, PERCOLATION AND REFREEZE 1620 1621 // initialize refreeze, runoff, flxDn and dW vectors [kg] 1622 IssmDouble* F = xNewZeroInit<IssmDouble>(n); 1623 1624 // Add previous refreeze to F and reset dW 1625 for(int i=0;i<n;i++){ 1626 F[i]=F[i]+dW[i]; 1627 dW[i] = 0.0; 1628 } 1612 1629 1613 1630 // run melt algorithm if there is melt water or excess pore water … … 1660 1677 } 1661 1678 Msurf = M[0]; 1662 sumM = cellsum(M,n); // total melt [kg]1679 sumM = max(0.0,cellsum(M,n)-Ra); // total melt [kg] minus the liquid rain that had been added 1663 1680 1664 1681 // calculate maximum refreeze amount, maxF [kg] … … 1666 1683 1667 1684 // initialize refreeze, runoff, flxDn and dW vectors [kg] 1668 IssmDouble* F = xNewZeroInit<IssmDouble>(n);1669 1685 IssmDouble* R = xNewZeroInit<IssmDouble>(n); 1670 1686 1671 for(int i=0;i<n;i++)dW[i] = 0.0;1672 1687 flxDn=xNewZeroInit<IssmDouble>(n+1); 1673 1688 … … 1682 1697 1683 1698 IssmDouble depthice=0.0; 1699 int Xi=0; 1684 1700 //// meltwater percolation 1685 1701 for(int i=0;i<n;i++){ … … 1691 1707 for(int l=i;(l<n && d[l]>=dPHC-Dtol);l++) depthice=depthice+dz[l]; 1692 1708 } 1693 1709 1694 1710 // break loop if there is no meltwater and if depth is > mw_depth 1695 1711 if (fabs(inM) < Wtol && i > X){ … … 1707 1723 dW[i] = max(min(inM, Wi - W[i]),-1*W[i]); // change in pore water 1708 1724 R[i] = max(0.0, inM - dW[i]); // runoff 1709 F[i] = 0.0;1710 1725 } 1711 1726 // check if no energy to refreeze meltwater … … 1720 1735 flxDn[i+1] = max(0.0, inM - dW[i]); // meltwater out 1721 1736 R[i] = 0.0; 1722 F[i] = 0.0; // no freeze1723 1737 } 1724 1738 // some or all meltwater refreezes … … 1736 1750 //-----------------------pore water----------------------------- 1737 1751 Wi = (dIce-d[i])* Swi * dz_0; // irreducible water 1738 dW[i] = min(inM - F1, Wi-W[i]); // change in pore water 1739 if (dW[i] < 0.0-Wtol && -1*dW[i]> W[i]-Wtol ){ 1740 dW[i]= -1*W[i]; 1741 } 1752 dW[i] = max(min(inM - F1, Wi-W[i]),-1*W[i]); // change in pore water 1742 1753 IssmDouble F2 = 0.0; 1743 1754 … … 1748 1759 m[i] = m[i] + F2; // mass after refreeze 1749 1760 d[i] = m[i]/dz_0; 1750 dW[i] = dW[i] - F2;1751 1761 } 1752 1762 1753 F[i] = F 1 + F2;1754 1755 flxDn[i+1] = inM - F1 - dW[i]; // meltwater out1763 F[i] = F[i] + F1 + F2; 1764 1765 flxDn[i+1] = max(0.0,inM - F1 - dW[i]); // meltwater out 1756 1766 if (m[i]>Wtol){ 1757 1767 T[i] = T[i] + ((F1+F2)*(LF+(CtoK - T[i])*CI)/(m[i]*CI));// change in temperature … … 1767 1777 } 1768 1778 } 1779 Xi=Xi+1; 1769 1780 } 1770 1781 … … 1777 1788 1778 1789 //calculate Rsum: 1779 Rsum=cellsum(R,n) + flxDn[ n];1790 Rsum=cellsum(R,n) + flxDn[Xi]; 1780 1791 1781 1792 // delete all cells with zero mass … … 1803 1814 1804 1815 /*Free resources:*/ 1805 xDelete<IssmDouble>(F);1806 1816 xDelete<IssmDouble>(R); 1807 1817 } 1818 1819 //calculate Fsum: 1820 Fsum=cellsum(F,n); 1821 1822 /*Free resources:*/ 1823 xDelete<IssmDouble>(F); 1808 1824 1809 1825 //Merging of cells as they are burried under snow. … … 2040 2056 *pM=sumM; 2041 2057 *pR=Rsum; 2058 *pF=Fsum; 2042 2059 *pmAdd=mAdd; 2043 2060 *pdz_add=dz_add; -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h
r25997 r26271 33 33 void shortwave(IssmDouble** pswf, int swIdx, int aIdx, IssmDouble dsw, IssmDouble dswdiff, IssmDouble as, IssmDouble asdiff, IssmDouble* d, IssmDouble* dz, IssmDouble* re, IssmDouble dIce, int m, int sid); 34 34 void thermo(IssmDouble* pEC, IssmDouble** T, IssmDouble* pulwrf, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlw, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble thermo_scaling, IssmDouble dIce, int sid, bool isconstrainsurfaceT); 35 void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble Ta, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid);36 void melt(IssmDouble* pM, IssmDouble* pMs, IssmDouble* pR, IssmDouble* p mAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid);35 void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, IssmDouble* pRa, int* pm, int aIdx, int dsnowIdx, IssmDouble Tmean, IssmDouble Ta, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble C, IssmDouble V, IssmDouble Vmean, IssmDouble dIce, int sid); 36 void melt(IssmDouble* pM, IssmDouble* pMs, IssmDouble* pR, IssmDouble* pF, IssmDouble* pmAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** padiff, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble Ra, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble zY, IssmDouble dIce, int sid); 37 37 void densification(IssmDouble** pd,IssmDouble** pdz, IssmDouble* T, IssmDouble* re, int denIdx, int aIdx, int swIdx, IssmDouble adThresh, IssmDouble C, IssmDouble dt, IssmDouble Tmean, IssmDouble dIce, int m, int sid); 38 38 void turbulentFlux(IssmDouble* pshf, IssmDouble* plhf, IssmDouble* pEC, IssmDouble Ta, IssmDouble Ts, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble ds, IssmDouble Ws, IssmDouble Vz, IssmDouble Tz, IssmDouble dIce, int sid); -
issm/trunk-jpl/src/c/shared/Enum/Enum.vim
r26242 r26271 711 711 syn keyword cConstant LevelsetfunctionSlopeXEnum 712 712 syn keyword cConstant LevelsetfunctionSlopeYEnum 713 syn keyword cConstant LevelsetObservationEnum 713 714 syn keyword cConstant LoadingforceXEnum 714 715 syn keyword cConstant LoadingforceYEnum … … 716 717 syn keyword cConstant MaskOceanLevelsetEnum 717 718 syn keyword cConstant MaskIceLevelsetEnum 719 syn keyword cConstant MaskIceRefLevelsetEnum 718 720 syn keyword cConstant MasstransportSpcthicknessEnum 719 721 syn keyword cConstant MaterialsRheologyBEnum … … 838 840 syn keyword cConstant SmbAccumulatedMeltEnum 839 841 syn keyword cConstant SmbAccumulatedPrecipitationEnum 842 syn keyword cConstant SmbAccumulatedRainEnum 843 syn keyword cConstant SmbAccumulatedRefreezeEnum 840 844 syn keyword cConstant SmbAccumulatedRunoffEnum 841 845 syn keyword cConstant SmbAEnum … … 906 910 syn keyword cConstant SmbPrecipitationsPresentdayEnum 907 911 syn keyword cConstant SmbPrecipitationsReconstructedEnum 912 syn keyword cConstant SmbRainEnum 908 913 syn keyword cConstant SmbReEnum 909 914 syn keyword cConstant SmbRefreezeEnum … … 1015 1020 syn keyword cConstant WaterfractionEnum 1016 1021 syn keyword cConstant WaterheightEnum 1022 syn keyword cConstant WeightsLevelsetObservationEnum 1017 1023 syn keyword cConstant WeightsSurfaceObservationEnum 1018 1024 syn keyword cConstant OldAccumulatedDeltaBottomPressureEnum … … 1158 1164 syn keyword cConstant CfsurfacelogvelEnum 1159 1165 syn keyword cConstant CfsurfacesquareEnum 1166 syn keyword cConstant CflevelsetmisfitEnum 1160 1167 syn keyword cConstant ChannelEnum 1161 1168 syn keyword cConstant ChannelAreaEnum … … 1508 1515 syn keyword cType BoolParam 1509 1516 syn keyword cType Cfdragcoeffabsgrad 1517 syn keyword cType Cflevelsetmisfit 1510 1518 syn keyword cType Cfsurfacelogvel 1511 1519 syn keyword cType Cfsurfacesquare -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r26252 r26271 836 836 SmbAccumulatedMeltEnum, 837 837 SmbAccumulatedPrecipitationEnum, 838 SmbAccumulatedRainEnum, 839 SmbAccumulatedRefreezeEnum, 838 840 SmbAccumulatedRunoffEnum, 839 841 SmbAEnum, … … 905 907 SmbPrecipitationsPresentdayEnum, 906 908 SmbPrecipitationsReconstructedEnum, 909 SmbRainEnum, 907 910 SmbReEnum, 908 911 SmbRefreezeEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r26242 r26271 713 713 case LevelsetfunctionSlopeXEnum : return "LevelsetfunctionSlopeX"; 714 714 case LevelsetfunctionSlopeYEnum : return "LevelsetfunctionSlopeY"; 715 case LevelsetObservationEnum : return "LevelsetObservation"; 715 716 case LoadingforceXEnum : return "LoadingforceX"; 716 717 case LoadingforceYEnum : return "LoadingforceY"; … … 718 719 case MaskOceanLevelsetEnum : return "MaskOceanLevelset"; 719 720 case MaskIceLevelsetEnum : return "MaskIceLevelset"; 721 case MaskIceRefLevelsetEnum : return "MaskIceRefLevelset"; 720 722 case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness"; 721 723 case MaterialsRheologyBEnum : return "MaterialsRheologyB"; … … 840 842 case SmbAccumulatedMeltEnum : return "SmbAccumulatedMelt"; 841 843 case SmbAccumulatedPrecipitationEnum : return "SmbAccumulatedPrecipitation"; 844 case SmbAccumulatedRainEnum : return "SmbAccumulatedRain"; 845 case SmbAccumulatedRefreezeEnum : return "SmbAccumulatedRefreeze"; 842 846 case SmbAccumulatedRunoffEnum : return "SmbAccumulatedRunoff"; 843 847 case SmbAEnum : return "SmbA"; … … 908 912 case SmbPrecipitationsPresentdayEnum : return "SmbPrecipitationsPresentday"; 909 913 case SmbPrecipitationsReconstructedEnum : return "SmbPrecipitationsReconstructed"; 914 case SmbRainEnum : return "SmbRain"; 910 915 case SmbReEnum : return "SmbRe"; 911 916 case SmbRefreezeEnum : return "SmbRefreeze"; … … 1017 1022 case WaterfractionEnum : return "Waterfraction"; 1018 1023 case WaterheightEnum : return "Waterheight"; 1024 case WeightsLevelsetObservationEnum : return "WeightsLevelsetObservation"; 1019 1025 case WeightsSurfaceObservationEnum : return "WeightsSurfaceObservation"; 1020 1026 case OldAccumulatedDeltaBottomPressureEnum : return "OldAccumulatedDeltaBottomPressure"; … … 1160 1166 case CfsurfacelogvelEnum : return "Cfsurfacelogvel"; 1161 1167 case CfsurfacesquareEnum : return "Cfsurfacesquare"; 1168 case CflevelsetmisfitEnum : return "Cflevelsetmisfit"; 1162 1169 case ChannelEnum : return "Channel"; 1163 1170 case ChannelAreaEnum : return "ChannelArea"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r26242 r26271 728 728 else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum; 729 729 else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum; 730 else if (strcmp(name,"LevelsetObservation")==0) return LevelsetObservationEnum; 730 731 else if (strcmp(name,"LoadingforceX")==0) return LoadingforceXEnum; 731 732 else if (strcmp(name,"LoadingforceY")==0) return LoadingforceYEnum; … … 733 734 else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum; 734 735 else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum; 736 else if (strcmp(name,"MaskIceRefLevelset")==0) return MaskIceRefLevelsetEnum; 735 737 else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum; 736 738 else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum; … … 750 752 else if (strcmp(name,"MovingFrontalVx")==0) return MovingFrontalVxEnum; 751 753 else if (strcmp(name,"MovingFrontalVy")==0) return MovingFrontalVyEnum; 752 else if (strcmp(name,"Neumannflux")==0) return NeumannfluxEnum;753 else if (strcmp(name,"NewDamage")==0) return NewDamageEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"Node")==0) return NodeEnum; 757 if (strcmp(name,"Neumannflux")==0) return NeumannfluxEnum; 758 else if (strcmp(name,"NewDamage")==0) return NewDamageEnum; 759 else if (strcmp(name,"Node")==0) return NodeEnum; 758 760 else if (strcmp(name,"OmegaAbsGradient")==0) return OmegaAbsGradientEnum; 759 761 else if (strcmp(name,"OceantransportSpcbottompressure")==0) return OceantransportSpcbottompressureEnum; … … 858 860 else if (strcmp(name,"SmbAccumulatedMelt")==0) return SmbAccumulatedMeltEnum; 859 861 else if (strcmp(name,"SmbAccumulatedPrecipitation")==0) return SmbAccumulatedPrecipitationEnum; 862 else if (strcmp(name,"SmbAccumulatedRain")==0) return SmbAccumulatedRainEnum; 863 else if (strcmp(name,"SmbAccumulatedRefreeze")==0) return SmbAccumulatedRefreezeEnum; 860 864 else if (strcmp(name,"SmbAccumulatedRunoff")==0) return SmbAccumulatedRunoffEnum; 861 865 else if (strcmp(name,"SmbA")==0) return SmbAEnum; … … 871 875 else if (strcmp(name,"SmbC")==0) return SmbCEnum; 872 876 else if (strcmp(name,"SmbCcsnowValue")==0) return SmbCcsnowValueEnum; 873 else if (strcmp(name,"SmbCciceValue")==0) return SmbCciceValueEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"SmbCciceValue")==0) return SmbCciceValueEnum; 874 881 else if (strcmp(name,"SmbCotValue")==0) return SmbCotValueEnum; 875 882 else if (strcmp(name,"SmbD")==0) return SmbDEnum; 876 883 else if (strcmp(name,"SmbDailyairdensity")==0) return SmbDailyairdensityEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum; 884 else if (strcmp(name,"SmbDailyairhumidity")==0) return SmbDailyairhumidityEnum; 881 885 else if (strcmp(name,"SmbDailydlradiation")==0) return SmbDailydlradiationEnum; 882 886 else if (strcmp(name,"SmbDailydsradiation")==0) return SmbDailydsradiationEnum; … … 929 933 else if (strcmp(name,"SmbPrecipitationsPresentday")==0) return SmbPrecipitationsPresentdayEnum; 930 934 else if (strcmp(name,"SmbPrecipitationsReconstructed")==0) return SmbPrecipitationsReconstructedEnum; 935 else if (strcmp(name,"SmbRain")==0) return SmbRainEnum; 931 936 else if (strcmp(name,"SmbRe")==0) return SmbReEnum; 932 937 else if (strcmp(name,"SmbRefreeze")==0) return SmbRefreezeEnum; … … 993 998 else if (strcmp(name,"SurfaceOld")==0) return SurfaceOldEnum; 994 999 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 995 else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 996 1004 else if (strcmp(name,"SurfaceObservation")==0) return SurfaceObservationEnum; 997 1005 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; 998 1006 else if (strcmp(name,"SurfaceSlopeX")==0) return SurfaceSlopeXEnum; 999 1007 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"Temperature")==0) return TemperatureEnum; 1008 else if (strcmp(name,"Temperature")==0) return TemperatureEnum; 1004 1009 else if (strcmp(name,"TemperaturePDD")==0) return TemperaturePDDEnum; 1005 1010 else if (strcmp(name,"TemperaturePicard")==0) return TemperaturePicardEnum; … … 1041 1046 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 1042 1047 else if (strcmp(name,"Waterheight")==0) return WaterheightEnum; 1048 else if (strcmp(name,"WeightsLevelsetObservation")==0) return WeightsLevelsetObservationEnum; 1043 1049 else if (strcmp(name,"WeightsSurfaceObservation")==0) return WeightsSurfaceObservationEnum; 1044 1050 else if (strcmp(name,"OldAccumulatedDeltaBottomPressure")==0) return OldAccumulatedDeltaBottomPressureEnum; … … 1115 1121 else if (strcmp(name,"Outputdefinition72")==0) return Outputdefinition72Enum; 1116 1122 else if (strcmp(name,"Outputdefinition73")==0) return Outputdefinition73Enum; 1117 else if (strcmp(name,"Outputdefinition74")==0) return Outputdefinition74Enum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"Outputdefinition74")==0) return Outputdefinition74Enum; 1118 1127 else if (strcmp(name,"Outputdefinition75")==0) return Outputdefinition75Enum; 1119 1128 else if (strcmp(name,"Outputdefinition76")==0) return Outputdefinition76Enum; … … 1121 1130 else if (strcmp(name,"Outputdefinition78")==0) return Outputdefinition78Enum; 1122 1131 else if (strcmp(name,"Outputdefinition79")==0) return Outputdefinition79Enum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"Outputdefinition7")==0) return Outputdefinition7Enum; 1132 else if (strcmp(name,"Outputdefinition7")==0) return Outputdefinition7Enum; 1127 1133 else if (strcmp(name,"Outputdefinition80")==0) return Outputdefinition80Enum; 1128 1134 else if (strcmp(name,"Outputdefinition81")==0) return Outputdefinition81Enum; … … 1187 1193 else if (strcmp(name,"Cfsurfacelogvel")==0) return CfsurfacelogvelEnum; 1188 1194 else if (strcmp(name,"Cfsurfacesquare")==0) return CfsurfacesquareEnum; 1195 else if (strcmp(name,"Cflevelsetmisfit")==0) return CflevelsetmisfitEnum; 1189 1196 else if (strcmp(name,"Channel")==0) return ChannelEnum; 1190 1197 else if (strcmp(name,"ChannelArea")==0) return ChannelAreaEnum; … … 1237 1244 else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum; 1238 1245 else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum; 1239 else if (strcmp(name,"FSApproximation")==0) return FSApproximationEnum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"FSApproximation")==0) return FSApproximationEnum; 1240 1250 else if (strcmp(name,"FSSolver")==0) return FSSolverEnum; 1241 1251 else if (strcmp(name,"FSpressure")==0) return FSpressureEnum; … … 1244 1254 else if (strcmp(name,"FileParam")==0) return FileParamEnum; 1245 1255 else if (strcmp(name,"FixedTimestepping")==0) return FixedTimesteppingEnum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"FloatingArea")==0) return FloatingAreaEnum; 1256 else if (strcmp(name,"FloatingArea")==0) return FloatingAreaEnum; 1250 1257 else if (strcmp(name,"FloatingAreaScaled")==0) return FloatingAreaScaledEnum; 1251 1258 else if (strcmp(name,"FloatingMeltRate")==0) return FloatingMeltRateEnum; … … 1360 1367 else if (strcmp(name,"Melange")==0) return MelangeEnum; 1361 1368 else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum; 1362 else if (strcmp(name,"MeshElements")==0) return MeshElementsEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"MeshElements")==0) return MeshElementsEnum; 1363 1373 else if (strcmp(name,"MeshX")==0) return MeshXEnum; 1364 1374 else if (strcmp(name,"MeshY")==0) return MeshYEnum; … … 1367 1377 else if (strcmp(name,"MinVy")==0) return MinVyEnum; 1368 1378 else if (strcmp(name,"MinVz")==0) return MinVzEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"MismipFloatingMeltRate")==0) return MismipFloatingMeltRateEnum; 1379 else if (strcmp(name,"MismipFloatingMeltRate")==0) return MismipFloatingMeltRateEnum; 1373 1380 else if (strcmp(name,"Moulin")==0) return MoulinEnum; 1374 1381 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; … … 1483 1490 else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum; 1484 1491 else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum; 1485 else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 1486 1496 else if (strcmp(name,"Tetra")==0) return TetraEnum; 1487 1497 else if (strcmp(name,"TetraInput")==0) return TetraInputEnum; … … 1490 1500 else if (strcmp(name,"ThicknessErrorEstimator")==0) return ThicknessErrorEstimatorEnum; 1491 1501 else if (strcmp(name,"TotalCalvingFluxLevelset")==0) return TotalCalvingFluxLevelsetEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"TotalCalvingMeltingFluxLevelset")==0) return TotalCalvingMeltingFluxLevelsetEnum; 1502 else if (strcmp(name,"TotalCalvingMeltingFluxLevelset")==0) return TotalCalvingMeltingFluxLevelsetEnum; 1496 1503 else if (strcmp(name,"TotalFloatingBmb")==0) return TotalFloatingBmbEnum; 1497 1504 else if (strcmp(name,"TotalFloatingBmbScaled")==0) return TotalFloatingBmbScaledEnum; -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m
r26204 r26271 263 263 elseif strcmp(fieldname,'SmbPrecipitation'), 264 264 field = field*yts; 265 elseif strcmp(fieldname,'SmbRain'), 266 field = field*yts; 265 267 elseif strcmp(fieldname,'SmbRunoff'), 266 268 field = field*yts; … … 278 280 field = field*yts; 279 281 elseif strcmp(fieldname,'SmbMAdd'), 282 field = field*yts; 283 elseif strcmp(fieldname,'SmbWAdd'), 280 284 field = field*yts; 281 285 elseif strcmp(fieldname,'CalvingCalvingrate'), -
issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
r26204 r26271 214 214 elif fieldname == 'SmbPrecipitation': 215 215 field = field * yts 216 elif fieldname == 'SmbRain': 217 field = field * yts 216 218 elif fieldname == 'SmbRunoff': 217 219 field = field * yts … … 229 231 field = field * yts 230 232 elif fieldname == 'SmbMAdd': 233 field = field * yts 234 elif fieldname == 'SmbWAdd': 231 235 field = field * yts 232 236 elif fieldname == 'CalvingCalvingrate': -
issm/trunk-jpl/test/NightlyRun/test243.m
r26208 r26271 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','SmbAccumulatedMassBalance','SmbAccumulatedRunoff',... 33 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation'}; 32 'SmbMeanULW','SmbNetLW','SmbNetSW','SmbWAdd','SmbRunoff','SmbRefreeze','SmbMelt',... 33 'SmbEC','SmbPrecipitation','SmbRain','SmbAccumulatedMassBalance','SmbAccumulatedRunoff',... 34 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation','SmbAccumulatedRain',... 35 'SmbAccumulatedPrecipitation','SmbAccumulatedRefreeze'}; 34 36 35 37 %only run smb core: … … 53 55 54 56 %Fields and tolerances to track changes 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,2e-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, };57 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','SmbAccumulatedRain','SmbAccumulatedRefreeze','SmbRunoff','SmbMelt','SmbEC','SmbPrecipitation','SmbRain','SmbRefreeze','SmbWAdd'}; 58 field_tolerances ={1e-12,2e-12,1e-12,2e-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,1e-11,1e-11,1e-11,1e-11,1e-11,1e-11}; 57 59 58 60 field_values={... … … 79 81 (md.results.TransientSolution(end).SmbAccumulatedMelt(1)),... 80 82 (md.results.TransientSolution(end).SmbAccumulatedEC(1)),... 81 (md.results.TransientSolution(end).SmbAccumulatedPrecipitation(1)) 83 (md.results.TransientSolution(end).SmbAccumulatedPrecipitation(1)),... 84 (md.results.TransientSolution(end).SmbAccumulatedRain(1)),... 85 (md.results.TransientSolution(end).SmbAccumulatedRefreeze(1)),... 86 (md.results.TransientSolution(200).SmbRunoff(1)),... 87 (md.results.TransientSolution(200).SmbMelt(1)),... 88 (md.results.TransientSolution(200).SmbEC(1)),... 89 (md.results.TransientSolution(200).SmbPrecipitation(1)),... 90 (md.results.TransientSolution(200).SmbRain(1)),... 91 (md.results.TransientSolution(200).SmbRefreeze(1)),... 92 (md.results.TransientSolution(200).SmbWAdd(1))... 82 93 }; -
issm/trunk-jpl/test/NightlyRun/test243.py
r26208 r26271 45 45 #smb settings 46 46 md.smb.requested_outputs = [ 47 'SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbEC', 48 'SmbA', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 49 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW','SmbAccumulatedMassBalance','SmbAccumulatedRunoff', 50 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation' 47 'SmbDz','SmbT','SmbD','SmbRe','SmbGdn','SmbGsp','SmbEC', 48 'SmbA','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF', 49 'SmbMeanULW','SmbNetLW','SmbNetSW','SmbWAdd','SmbRunoff','SmbRefreeze','SmbMelt', 50 'SmbEC','SmbPrecipitation','SmbRain','SmbAccumulatedMassBalance','SmbAccumulatedRunoff', 51 'SmbAccumulatedMelt','SmbAccumulatedEC','SmbAccumulatedPrecipitation','SmbAccumulatedRain', 52 'SmbAccumulatedPrecipitation','SmbAccumulatedRefreeze' 51 53 ] 52 54 … … 70 72 71 73 #Fields and tolerances to track changes 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, 2e-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] 74 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','SmbAccumulatedRain','SmbAccumulatedRefreeze','SmbRunoff','SmbMelt','SmbEC','SmbPrecipitation','SmbRain','SmbRefreeze','SmbWAdd'] 75 field_tolerances = [1e-12, 2e-12, 1e-12, 2e-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, 1e-11, 1e-11, 1e-11, 1e-11, 1e-11, 1e-11] 76 77 74 78 # Shape is different in python solution (fixed using reshape) which can cause test failure 75 79 field_values = [ … … 96 100 md.results.TransientSolution[-1].SmbAccumulatedMelt[0], 97 101 md.results.TransientSolution[-1].SmbAccumulatedEC[0], 98 md.results.TransientSolution[-1].SmbAccumulatedPrecipitation[0] 102 md.results.TransientSolution[-1].SmbAccumulatedPrecipitation[0], 103 md.results.TransientSolution[-1].SmbAccumulatedRain[0], 104 md.results.TransientSolution[-1].SmbAccumulatedRefreeze[0], 105 md.results.TransientSolution[199].SmbRunoff[0], 106 md.results.TransientSolution[199].SmbMelt[0], 107 md.results.TransientSolution[199].SmbEC[0], 108 md.results.TransientSolution[199].SmbPrecipitation[0], 109 md.results.TransientSolution[199].SmbRain[0], 110 md.results.TransientSolution[199].SmbRefreeze[0], 111 md.results.TransientSolution[199].SmbWAdd[0] 99 112 ]
Note:
See TracChangeset
for help on using the changeset viewer.