Changeset 24191


Ignore:
Timestamp:
10/01/19 16:24:51 (6 years ago)
Author:
schlegel
Message:

CHG: add tolerances to some logical GEMB statements and loosen checks a bit

Location:
issm/trunk-jpl
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp

    r24189 r24191  
    127127
    128128        // temperature coefficient F
    129         if(T>-6.0) F =  0.7 + ((T/-6.0) * 0.3);
    130         if(T<=-6.0 && T>-22.0) F =  1.0 - ((T+6.0)/-16.0 * 0.8);
    131         if(T<=-22.0 && T>-40.0) F =  0.2 - ((T+22.0)/-18.0 * 0.2);
     129        if(T>-6.0+Ttol) F =  0.7 + ((T/-6.0) * 0.3);
     130        if(T<=-6.0+Ttol && T>-22.0+Ttol) F =  1.0 - ((T+6.0)/-16.0 * 0.8);
     131        if(T<=-22.0+Ttol && T>-40.0+Ttol) F =  0.2 - ((T+22.0)/-18.0 * 0.2);
    132132
    133133        // density coefficient F
    134         if(d<150.0) H=1.0;
    135 
    136         if(d>=150.0 & d<400.0) H = 1.0 - ((d-150.0)/250.0);
     134        if(d<150.0-Dtol) H=1.0;
     135
     136        if(d>=150.0-Dtol & d<400.0-Dtol) H = 1.0 - ((d-150.0)/250.0);
    137137
    138138        // temperature gradient coefficient G
    139         if(dT >= 0.16 && dT < 0.25) G = ((dT - 0.16)/0.09) * 0.1;
    140         if(dT >= 0.25 && dT < 0.4)  G = 0.1 + (((dT - 0.25)/0.15) * 0.57);
    141         if(dT >= 0.4  && dT < 0.5)  G = 0.67 + (((dT - 0.4)/0.1) * 0.23);
    142         if(dT >= 0.5  && dT < 0.7)  G = 0.9 + (((dT - 0.5)/0.2) * 0.1);
    143         if(dT >= 0.7              )  G = 1.0;
     139        if(dT >= 0.16-Ttol && dT < 0.25-Ttol) G = ((dT - 0.16)/0.09) * 0.1;
     140        if(dT >= 0.25-Ttol && dT < 0.4-Ttol)  G = 0.1 + (((dT - 0.25)/0.15) * 0.57);
     141        if(dT >= 0.4-Ttol && dT < 0.5-Ttol)  G = 0.67 + (((dT - 0.4)/0.1) * 0.23);
     142        if(dT >= 0.5-Ttol && dT < 0.7-Ttol)  G = 0.9 + (((dT - 0.5)/0.2) * 0.1);
     143        if(dT >= 0.7-Ttol)  G = 1.0;
    144144
    145145        // grouped coefficient Q
     
    11681168                        //dSnow = alpha1 + beta1*T + delta1*C + epsilon1*W
    11691169                        //     7.36x10-2  1.06x10-3  6.69x10-2  4.77x10-3
    1170                         dSnow=(7.36e-2 + 1.06e-3*min(Tmean,CtoK) + 6.69e-2*C/1000 + 4.77e-3*Vmean)*1000;
     1170                        dSnow=(7.36e-2 + 1.06e-3*min(Tmean,CtoK-Ttol) + 6.69e-2*C/1000 + 4.77e-3*Vmean)*1000;
    11711171                        break;
    11721172
    11731173                case 4: // Kuipers Munneke and others (2015), Greenland
    1174                         dSnow = 481.0 + 4.834*(Tmean-CtoK);
     1174                        dSnow = 481.0 + 4.834*(Tmean-CtoK+Ttol);
    11751175                        break;
    11761176        }
  • issm/trunk-jpl/test/NightlyRun/test243.m

    r23858 r24191  
    4848%Fields and tolerances to track changes
    4949field_names      ={'SmbDz','SmbT' ,'SmbD' ,'SmbRe','SmbGdn','SmbGsp','SmbA' ,'SmbEC','SmbMassBalance','SmbMAdd','SmbDzAdd','SmbFAC','SmbMeanSHF','SmbMeanLHF','SmbMeanULW','SmbNetLW','SmbNetSW'};
    50 field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,2e-11, 2e-11, 1e-11, 1e-9, 2e-11};
     50field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,3e-11,2e-11, 2e-11, 1e-11, 1e-9, 2e-11};
    5151
    5252field_values={...
  • issm/trunk-jpl/test/NightlyRun/test243.py

    r23858 r24191  
    6262#Fields and tolerances to track changes
    6363field_names = ['SmbDz', 'SmbT', 'SmbD', 'SmbRe', 'SmbGdn', 'SmbGsp', 'SmbA', 'SmbEC', 'SmbMassBalance', 'SmbMAdd', 'SmbDzAdd', 'SmbFAC', 'SmbMeanSHF', 'SmbMeanLHF', 'SmbMeanULW', 'SmbNetLW', 'SmbNetSW']
    64 field_tolerances = [1e-11, 1e-12, 1e-11, 2e-11, 1e-11, 1e-11, 1e-12, 4e-12, 1e-12, 1e-12, 1e-12, 1e-11, 2e-11, 2e-11, 1e-11, 1e-9, 2e-11]
     64field_tolerances = [1e-11, 1e-12, 1e-11, 2e-11, 1e-11, 1e-11, 1e-12, 4e-12, 1e-12, 1e-12, 1e-12, 3e-11, 2e-11, 2e-11, 1e-11, 1e-9, 2e-11]
    6565#shape is different in python solution (fixed using reshape) which can cause test failure:
    6666field_values = [md.results.TransientSolution[-1].SmbDz[0, 0:240].reshape(1, -1),
  • issm/trunk-jpl/test/NightlyRun/test252.m

    r23858 r24191  
    6060        'SmbDz4','SmbT4' ,'SmbD4' ,'SmbRe4','SmbGdn4','SmbGsp4','SmbA4' ,'SmbEC4','SmbMassBalance4','SmbMAdd4','SmbDzAdd4','SmbFAC4'};
    6161field_tolerances ={1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,2e-12,1e-12,1e-12,1e-12,1e-11,...
    62                         1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,...
    63                  1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,1e-11,...
    64                         1e-11,1e-12,4e-11,5e-11,1e-11,1e-11,1e-12,1e-11,5e-10,1e-12,1e-12,2e-11};
     62                        1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,2e-11,...
     63                        1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,2e-11,...
     64                        5e-9,1e-12,2e-9,3e-10,1e-11,1e-11,3e-11,1e-11,5e-9,1e-12,1e-12,4e-10};
    6565
    6666field_values={...
  • issm/trunk-jpl/test/NightlyRun/test252.py

    r23858 r24191  
    7272field_names = ['SmbDz1','SmbT1' ,'SmbD1' ,'SmbRe1','SmbGdn1','SmbGsp1','SmbA1' ,'SmbEC1','SmbMassBalance1','SmbMAdd1','SmbDzAdd1','SmbFAC1','SmbDz2','SmbT2','SmbD2' ,'SmbRe2','SmbGdn2','SmbGsp2','SmbA2','SmbEC2','SmbMassBalance2','SmbMAdd2','SmbDzAdd2','SmbFAC2','SmbDz3','SmbT3','SmbD3','SmbRe3','SmbGdn3','SmbGsp3','SmbA3','SmbEC3','SmbMassBalance3','SmbMAdd3','SmbDzAdd3','SmbFAC3','SmbDz4','SmbT4' ,'SmbD4' ,'SmbRe4','SmbGdn4','SmbGsp4','SmbA4','SmbEC4','SmbMassBalance4','SmbMAdd4','SmbDzAdd4','SmbFAC4']
    7373field_tolerances = [1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,2e-12,1e-12,1e-12,1e-12,1e-11,
    74                                         1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,1e-11,
    75                                         1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,1e-11,
    76                                         1e-11,1e-12,4e-11,5e-11,1e-11,1e-11,1e-12,1e-11,5e-10,1e-12,1e-12,2e-11]
     74                                        1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,4e-12,1e-12,1e-12,1e-12,2e-11,
     75                                        1e-11,1e-12,1e-11,2e-11,1e-11,1e-11,1e-12,1e-11,1e-11,1e-12,1e-12,2e-11,
     76                                        5e-9,1e-12,2e-9,3e-10,1e-11,1e-11,3e-11,1e-11,5e-9,1e-12,1e-12,4e-10]
    7777
    7878#shape is different in python solution (fixed using reshape) which can cause test failure:
Note: See TracChangeset for help on using the changeset viewer.