| 1 | 15c15 |
|---|
| 2 | < LOGICAL :: WRF_ERROR_FATAL_PRINT = .FALSE. |
|---|
| 3 | --- |
|---|
| 4 | > LOGICAL :: WRF_ERROR_FATAL_PRINT = .TRUE. !FALSE. |
|---|
| 5 | 77,78c77,78 |
|---|
| 6 | < it_MM = 1 |
|---|
| 7 | < it_DD = 1 |
|---|
| 8 | --- |
|---|
| 9 | > it_MM = 1 ! same as Earth more simple |
|---|
| 10 | > it_DD = 1 ! same as Earth more simple |
|---|
| 11 | 366,367c366,367 |
|---|
| 12 | < iop1_t_MM = 1 |
|---|
| 13 | < iop1_t_DD = 1 |
|---|
| 14 | --- |
|---|
| 15 | > iop1_t_MM = 1 !see above |
|---|
| 16 | > iop1_t_DD = 1 !see above |
|---|
| 17 | 382,383c382,383 |
|---|
| 18 | < iop2_t_MM = 1 |
|---|
| 19 | < iop2_t_DD = 1 |
|---|
| 20 | --- |
|---|
| 21 | > iop2_t_MM = 1 !see above |
|---|
| 22 | > iop2_t_DD = 1 !see above |
|---|
| 23 | 398,399c398,399 |
|---|
| 24 | < ires_t_MM = 1 |
|---|
| 25 | < ires_t_DD = 1 |
|---|
| 26 | --- |
|---|
| 27 | > ires_t_MM = 1 !see above |
|---|
| 28 | > ires_t_DD = 1 !see above |
|---|
| 29 | 921,922c921,922 |
|---|
| 30 | < istart_MM = 1 |
|---|
| 31 | < istart_DD = 1 |
|---|
| 32 | --- |
|---|
| 33 | > istart_MM = 1 !see above |
|---|
| 34 | > istart_DD = 1 !see above |
|---|
| 35 | 927,928c927,928 |
|---|
| 36 | < istop_MM = 1 |
|---|
| 37 | < istop_DD = 1 |
|---|
| 38 | --- |
|---|
| 39 | > istop_MM = 1 !see above |
|---|
| 40 | > istop_DD = 1 !see above |
|---|
| 41 | 1322c1322 |
|---|
| 42 | < ! PRINT *,'DEBUG: back from WRFU_Initialize(), rc = ',rc |
|---|
| 43 | --- |
|---|
| 44 | > PRINT *,'DEBUG: back from WRFU_Initialize(), rc = ',rc |
|---|
| 45 | 1331,1332c1331,1332 |
|---|
| 46 | < CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 47 | < res_str='2001-12-03_01:20:10', testname='printT_1' ) |
|---|
| 48 | --- |
|---|
| 49 | > CALL test_print( t_yy=2025, t_mm=03, t_dd=23, t_h=1, t_m=20, t_s=10, & |
|---|
| 50 | > res_str='2025-03-23_01:20:10', testname='printT_1' ) |
|---|
| 51 | 1334,1366c1334,1369 |
|---|
| 52 | < CALL test_print( t_yy=0, t_mm=1, t_dd=1, t_h=0, t_m=0, t_s=0, & |
|---|
| 53 | < res_str='0000-01-01_00:00:00', testname='printT_2' ) |
|---|
| 54 | < CALL test_print( t_yy=2003, t_mm=12, t_dd=30, t_h=23, t_m=59, t_s=50, & |
|---|
| 55 | < res_str='2003-12-30_23:59:50', testname='printT_3' ) |
|---|
| 56 | < CALL test_print( t_yy=2003, t_mm=12, t_dd=31, t_h=23, t_m=59, t_s=50, & |
|---|
| 57 | < res_str='2003-12-31_23:59:50', testname='printT_4' ) |
|---|
| 58 | < CALL test_print( t_yy=2004, t_mm=12, t_dd=30, t_h=23, t_m=59, t_s=50, & |
|---|
| 59 | < res_str='2004-12-30_23:59:50', testname='printT_5' ) |
|---|
| 60 | < CALL test_print( t_yy=2004, t_mm=12, t_dd=31, t_h=23, t_m=59, t_s=50, & |
|---|
| 61 | < res_str='2004-12-31_23:59:50', testname='printT_6' ) |
|---|
| 62 | < !$$$ NOTE that this fails -- need to fix up output string for negative year |
|---|
| 63 | < ! CALL test_print( t_yy=-2004, t_mm=12, t_dd=31, t_h=23, t_m=59, t_s=50, & |
|---|
| 64 | < ! res_str='-2004-12-31_23:59:50', testname='printT_6' ) |
|---|
| 65 | < |
|---|
| 66 | < ! these test default behavior of test harness |
|---|
| 67 | < CALL test_print( t_s=0, & |
|---|
| 68 | < res_str='0000-01-01_00:00:00', testname='printT_D1' ) |
|---|
| 69 | < CALL test_print( t_yy=0, & |
|---|
| 70 | < res_str='0000-01-01_00:00:00', testname='printT_D2' ) |
|---|
| 71 | < |
|---|
| 72 | < ! fractions |
|---|
| 73 | < CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 74 | < t_sn=1, t_sd=3, & |
|---|
| 75 | < res_str='2001-12-03_01:20:10+01/03', testname='printT_F1' ) |
|---|
| 76 | < CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 77 | < t_sn=4, t_sd=3, & |
|---|
| 78 | < res_str='2001-12-03_01:20:11+01/03', testname='printT_F2' ) |
|---|
| 79 | < CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 80 | < t_sn=12, t_sd=3, & |
|---|
| 81 | < res_str='2001-12-03_01:20:14', testname='printT_F3' ) |
|---|
| 82 | < CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 83 | < t_sn=-1, t_sd=3, & |
|---|
| 84 | < res_str='2001-12-03_01:20:09+02/03', testname='printT_F4' ) |
|---|
| 85 | --- |
|---|
| 86 | > CALL test_print( t_yy=2000, t_mm=1, t_dd=1, t_h=0, t_m=0, t_s=0, & |
|---|
| 87 | > res_str='2000-01-01_00:00:00', testname='printT_2' ) |
|---|
| 88 | > CALL test_print( t_yy=2026, t_mm=07, t_dd=74, t_h=23, t_m=36, t_s=90, & |
|---|
| 89 | > res_str='2026-07-74_23:36:90', testname='printT_3' ) |
|---|
| 90 | > CALL test_print( t_yy=2026, t_mm=07, t_dd=75, t_h=23, t_m=36, t_s=90, & |
|---|
| 91 | > res_str='2026-07-75_23:36:90', testname='printT_4' ) |
|---|
| 92 | > ! CALL test_print( t_yy=2004, t_mm=12, t_dd=30, t_h=23, t_m=59, t_s=50, & |
|---|
| 93 | > ! res_str='2004-12-30_23:59:50', testname='printT_5' ) |
|---|
| 94 | > ! CALL test_print( t_yy=2004, t_mm=12, t_dd=31, t_h=23, t_m=59, t_s=50, & |
|---|
| 95 | > ! res_str='2004-12-31_23:59:50', testname='printT_6' ) |
|---|
| 96 | > !!$$$ NOTE that this fails -- need to fix up output string for negative year |
|---|
| 97 | > !! CALL test_print( t_yy=-2004, t_mm=12, t_dd=31, t_h=23, t_m=59, t_s=50, & |
|---|
| 98 | > !! res_str='-2004-12-31_23:59:50', testname='printT_6' ) |
|---|
| 99 | > |
|---|
| 100 | > ! ! these test default behavior of test harness |
|---|
| 101 | > ! CALL test_print( t_s=0, & |
|---|
| 102 | > ! res_str='0000-00-00_00:00:00', testname='printT_D1' ) |
|---|
| 103 | > ! CALL test_print( t_yy=0, & |
|---|
| 104 | > ! res_str='0000-00-00_00:00:00', testname='printT_D2' ) |
|---|
| 105 | > |
|---|
| 106 | > PRINT *,'yeah yeah yeah' |
|---|
| 107 | > |
|---|
| 108 | > |
|---|
| 109 | > ! ! fractions |
|---|
| 110 | > ! CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 111 | > ! t_sn=1, t_sd=3, & |
|---|
| 112 | > ! res_str='2001-12-03_01:20:10+01/03', testname='printT_F1' ) |
|---|
| 113 | > ! CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 114 | > ! t_sn=4, t_sd=3, & |
|---|
| 115 | > ! res_str='2001-12-03_01:20:11+01/03', testname='printT_F2' ) |
|---|
| 116 | > ! CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 117 | > ! t_sn=12, t_sd=3, & |
|---|
| 118 | > ! res_str='2001-12-03_01:20:14', testname='printT_F3' ) |
|---|
| 119 | > ! CALL test_print( t_yy=2001, t_mm=12, t_dd=3, t_h=1, t_m=20, t_s=10, & |
|---|
| 120 | > ! t_sn=-1, t_sd=3, & |
|---|
| 121 | > ! res_str='2001-12-03_01:20:09+02/03', testname='printT_F4' ) |
|---|
| 122 | 1379,1380c1382,1383 |
|---|
| 123 | < CALL test_print( ti_yy=0, ti_mm=0, ti_dd=500, ti_h=0, ti_m=0, ti_s=7270, & |
|---|
| 124 | < res_str='0000000500_002:001:010', testname='printTI_2' ) |
|---|
| 125 | --- |
|---|
| 126 | > CALL test_print( ti_yy=0, ti_mm=0, ti_dd=500, ti_h=0, ti_m=0, ti_s=9510, & |
|---|
| 127 | > res_str='0000000500_002:021:010', testname='printTI_2' ) |
|---|
| 128 | 1382,1408c1385,1412 |
|---|
| 129 | < ! these test default behavior of test harness |
|---|
| 130 | < CALL test_print( ti_s=0, & |
|---|
| 131 | < res_str='0000000000_000:000:000', testname='printTI_D1' ) |
|---|
| 132 | < CALL test_print( ti_yy=0, & |
|---|
| 133 | < res_str='0000000000_000:000:000', testname='printTI_D2' ) |
|---|
| 134 | < |
|---|
| 135 | < ! these test negative values |
|---|
| 136 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 137 | < res_str='-0000000003_001:020:010', testname='printTI_N1' ) |
|---|
| 138 | < |
|---|
| 139 | < ! these test mixed values |
|---|
| 140 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 141 | < res_str='-0000000002_022:039:050', testname='printTI_M1' ) |
|---|
| 142 | < |
|---|
| 143 | < ! fractions |
|---|
| 144 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 145 | < ti_sn=1, ti_sd=3, & |
|---|
| 146 | < res_str='0000000003_001:020:010+01/03', testname='printTI_F1' ) |
|---|
| 147 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 148 | < ti_sn=5, ti_sd=3, & |
|---|
| 149 | < res_str='0000000003_001:020:011+02/03', testname='printTI_F2' ) |
|---|
| 150 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 151 | < ti_sn=-1, ti_sd=3, & |
|---|
| 152 | < res_str='-0000000003_001:020:010-01/03', testname='printTI_F3' ) |
|---|
| 153 | < CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 154 | < ti_sn=1, ti_sd=3, & |
|---|
| 155 | < res_str='-0000000003_001:020:009-02/03', testname='printTI_F4' ) |
|---|
| 156 | --- |
|---|
| 157 | > ! ! these test default behavior of test harness |
|---|
| 158 | > ! CALL test_print( ti_s=0, & |
|---|
| 159 | > ! res_str='0000000000_000:000:000', testname='printTI_D1' ) |
|---|
| 160 | > ! CALL test_print( ti_yy=0, & |
|---|
| 161 | > ! res_str='0000000000_000:000:000', testname='printTI_D2' ) |
|---|
| 162 | > |
|---|
| 163 | > ! ! these test negative values |
|---|
| 164 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 165 | > ! res_str='-0000000003_001:020:010', testname='printTI_N1' ) |
|---|
| 166 | > ! |
|---|
| 167 | > ! ! these test mixed values |
|---|
| 168 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 169 | > ! res_str='-0000000002_022:039:050', testname='printTI_M1' ) |
|---|
| 170 | > ! |
|---|
| 171 | > ! ! fractions |
|---|
| 172 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 173 | > ! ti_sn=1, ti_sd=3, & |
|---|
| 174 | > ! res_str='0000000003_001:020:010+01/03', testname='printTI_F1' ) |
|---|
| 175 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=3, ti_h=1, ti_m=20, ti_s=10, & |
|---|
| 176 | > ! ti_sn=5, ti_sd=3, & |
|---|
| 177 | > ! res_str='0000000003_001:020:011+02/03', testname='printTI_F2' ) |
|---|
| 178 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 179 | > ! ti_sn=-1, ti_sd=3, & |
|---|
| 180 | > ! res_str='-0000000003_001:020:010-01/03', testname='printTI_F3' ) |
|---|
| 181 | > ! CALL test_print( ti_yy=0000, ti_mm=0, ti_dd=-3, ti_h=-1, ti_m=-20, ti_s=-10, & |
|---|
| 182 | > ! ti_sn=1, ti_sd=3, & |
|---|
| 183 | > ! res_str='-0000000003_001:020:009-02/03', testname='printTI_F4' ) |
|---|
| 184 | > ! |
|---|
| 185 | 1417a1422 |
|---|
| 186 | > |
|---|
| 187 | 1430c1435 |
|---|
| 188 | < op1_t_yy=2001, op1_t_mm=12, op1_t_dd=3, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 189 | --- |
|---|
| 190 | > op1_t_yy=2026, op1_t_mm=03, op1_t_dd=23, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 191 | 1432c1437 |
|---|
| 192 | < res_t_yy=2001, res_t_mm=12, res_t_dd=3, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 193 | --- |
|---|
| 194 | > res_t_yy=2026, res_t_mm=03, res_t_dd=23, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 195 | 1435c1440 |
|---|
| 196 | < op1_t_yy=2001, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 197 | --- |
|---|
| 198 | > op1_t_yy=2001, op1_t_mm=07, op1_t_dd=75, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 199 | 1437c1442 |
|---|
| 200 | < res_t_yy=2002, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 201 | --- |
|---|
| 202 | > res_t_yy=2002, res_t_mm= 1, res_t_dd=1, res_t_h=3, res_t_m=03, res_t_s=10, & |
|---|
| 203 | 1439,1456c1444,1448 |
|---|
| 204 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 205 | < op1_t_yy=2003, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 206 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 207 | < res_t_yy=2004, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 208 | < testname='AddT_T_TI3' ) |
|---|
| 209 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 210 | < op1_t_yy=2004, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 211 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 212 | < res_t_yy=2005, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 213 | < testname='AddT_T_TI4' ) |
|---|
| 214 | < ! this case hung after the CCSM contribution |
|---|
| 215 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 216 | < op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 217 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 218 | < res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 219 | < testname='AddT_T_TI5' ) |
|---|
| 220 | < ! NOTE: CCSM folks need to decide what it means to add "1 month" to Feb. 29. And all the |
|---|
| 221 | < ! other very similar cases. Then, write this unit test! |
|---|
| 222 | --- |
|---|
| 223 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 224 | > ! op1_t_yy=2003, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 225 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 226 | > ! res_t_yy=2004, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 227 | > ! testname='AddT_T_TI3' ) |
|---|
| 228 | 1458a1451,1463 |
|---|
| 229 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 230 | > ! res_t_yy=2005, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 231 | > ! testname='AddT_T_TI4' ) |
|---|
| 232 | > ! ! this case hung after the CCSM contribution |
|---|
| 233 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 234 | > ! op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 235 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 236 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 237 | > ! testname='AddT_T_TI5' ) |
|---|
| 238 | > !! NOTE: CCSM folks need to decide what it means to add "1 month" to Feb. 29. And all the |
|---|
| 239 | > ! other very similar cases. Then, write this unit test! |
|---|
| 240 | > !! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 241 | > !!! op1_t_yy=2004, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 242 | 1460,1481c1465,1486 |
|---|
| 243 | < ! res_t_yy=2007, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 244 | < ! testname='AddT_T_TI6' ) |
|---|
| 245 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 246 | < op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 247 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 248 | < res_t_yy=2005, res_t_mm=12, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 249 | < testname='AddT_T_TI7' ) |
|---|
| 250 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 251 | < op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 252 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=367, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 253 | < res_t_yy=2006, res_t_mm=01, res_t_dd=01, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 254 | < testname='AddT_T_TI8' ) |
|---|
| 255 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 256 | < op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 257 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 258 | < res_t_yy=2004, res_t_mm=12, res_t_dd=29, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 259 | < testname='AddT_T_TI9' ) |
|---|
| 260 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 261 | < op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 262 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 263 | < res_t_yy=2004, res_t_mm=12, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 264 | < testname='AddT_T_TI10' ) |
|---|
| 265 | --- |
|---|
| 266 | > !! res_t_yy=2007, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 267 | > !! testname='AddT_T_TI6' ) |
|---|
| 268 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 269 | > ! op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 270 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 271 | > ! res_t_yy=2005, res_t_mm=12, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 272 | > ! testname='AddT_T_TI7' ) |
|---|
| 273 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 274 | > ! op1_t_yy=2004, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 275 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=367, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 276 | > ! res_t_yy=2006, res_t_mm=01, res_t_dd=01, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 277 | > ! testname='AddT_T_TI8' ) |
|---|
| 278 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 279 | > ! op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 280 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 281 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=29, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 282 | > ! testname='AddT_T_TI9' ) |
|---|
| 283 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 284 | > ! op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 285 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 286 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 287 | > ! testname='AddT_T_TI10' ) |
|---|
| 288 | 1483,1485c1488,1490 |
|---|
| 289 | < op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 290 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=367, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 291 | < res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 292 | --- |
|---|
| 293 | > op1_t_yy=2003, op1_t_mm=03, op1_t_dd=23, op1_t_h=0, op1_t_m=0, op1_t_s=0, & |
|---|
| 294 | > op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=675, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 295 | > res_t_yy=2004, res_t_mm=03, res_t_dd=29, res_t_h=4, res_t_m=10, res_t_s=10, & |
|---|
| 296 | 1487,1516c1492,1512 |
|---|
| 297 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 298 | < op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 299 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=368, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 300 | < res_t_yy=2005, res_t_mm=01, res_t_dd=01, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 301 | < testname='AddT_T_TI12' ) |
|---|
| 302 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 303 | < op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 304 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 305 | < res_t_yy=2005, res_t_mm=03, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 306 | < testname='AddT_T_TI13' ) |
|---|
| 307 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 308 | < op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 309 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 310 | < res_t_yy=2005, res_t_mm=03, res_t_dd=31, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 311 | < testname='AddT_T_TI14' ) |
|---|
| 312 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 313 | < op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 314 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 315 | < res_t_yy=2005, res_t_mm=04, res_t_dd=01, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 316 | < testname='AddT_T_TI15' ) |
|---|
| 317 | < ! ESMF_Time = ESMF_Time + ESMF_TimeInterval with fractions |
|---|
| 318 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 319 | < op1_t_yy=2004, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 320 | < op1_t_sn=01, op1_t_sd=03, & |
|---|
| 321 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 322 | < op2_ti_sn=01, op2_ti_sd=03, & |
|---|
| 323 | < res_t_yy=2005, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 324 | < res_t_sn=02, res_t_sd=03, & |
|---|
| 325 | < testname='AddT_T_TI_F1' ) |
|---|
| 326 | < ! this should fail (and does) |
|---|
| 327 | --- |
|---|
| 328 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 329 | > ! op1_t_yy=2003, op1_t_mm=12, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 330 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=368, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 331 | > ! res_t_yy=2005, res_t_mm=01, res_t_dd=01, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 332 | > ! testname='AddT_T_TI12' ) |
|---|
| 333 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 334 | > ! op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 335 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 336 | > ! res_t_yy=2005, res_t_mm=03, res_t_dd=30, res_t_h=8, res_t_m=40, res_t_s=10, & |
|---|
| 337 | > ! testname='AddT_T_TI13' ) |
|---|
| 338 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 339 | > ! op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 340 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=365, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 341 | > ! res_t_yy=2005, res_t_mm=03, res_t_dd=31, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 342 | > ! testname='AddT_T_TI14' ) |
|---|
| 343 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 344 | > ! op1_t_yy=2004, op1_t_mm=03, op1_t_dd=30, op1_t_h=4, op1_t_m=30, op1_t_s=00, & |
|---|
| 345 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 346 | > ! res_t_yy=2005, res_t_mm=04, res_t_dd=01, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 347 | > ! testname='AddT_T_TI15' ) |
|---|
| 348 | > ! ! ESMF_Time = ESMF_Time + ESMF_TimeInterval with fractions |
|---|
| 349 | 1523,1691c1519,1557 |
|---|
| 350 | < ! res_t_sn=01, res_t_sd=03, & |
|---|
| 351 | < ! testname='AddT_T_TI_F2' ) |
|---|
| 352 | < ! ESMF_Time = ESMF_TimeInterval + ESMF_Time |
|---|
| 353 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 354 | < op1_ti_yy= 0, op1_ti_mm= 0, op1_ti_dd=0, op1_ti_h=3, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 355 | < op2_t_yy=2001, op2_t_mm=12, op2_t_dd=3, op2_t_h=1, op2_t_m=20, op2_t_s=10, & |
|---|
| 356 | < res_t_yy=2001, res_t_mm=12, res_t_dd=3, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 357 | < testname='AddT_TI_T1' ) |
|---|
| 358 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 359 | < op1_ti_yy= 0, op1_ti_mm= 0, op1_ti_dd=0, op1_ti_h=4, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 360 | < op2_t_yy=2001, op2_t_mm=12, op2_t_dd=31, op2_t_h=22, op2_t_m=30, op2_t_s=00, & |
|---|
| 361 | < res_t_yy=2002, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 362 | < testname='AddT_TI_T2' ) |
|---|
| 363 | < ! ESMF_TimeInterval = ESMF_TimeInterval + ESMF_TimeInterval |
|---|
| 364 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 365 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 366 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 367 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=4, res_ti_h=2, res_ti_m=30, res_ti_s=20, & |
|---|
| 368 | < testname='AddTI_TI_TI1' ) |
|---|
| 369 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 370 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-3, op1_ti_h=-1, op1_ti_m=-20, op1_ti_s=-10, & |
|---|
| 371 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 372 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-2, res_ti_h=0, res_ti_m=-10, res_ti_s=00, & |
|---|
| 373 | < testname='AddTI_TI_TI2' ) |
|---|
| 374 | < CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 375 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-3, op1_ti_h=-1, op1_ti_m=-20, op1_ti_s=-10, & |
|---|
| 376 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-1, op2_ti_h=-1, op2_ti_m=-10, op2_ti_s=-10, & |
|---|
| 377 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-4, res_ti_h=-2, res_ti_m=-30, res_ti_s=-20, & |
|---|
| 378 | < testname='AddTI_TI_TI3' ) |
|---|
| 379 | < |
|---|
| 380 | < ! Subtraction tests |
|---|
| 381 | < ! ESMF_Time = ESMF_Time - ESMF_TimeInterval |
|---|
| 382 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 383 | < op1_t_yy=2001, op1_t_mm=12, op1_t_dd=3, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 384 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=3, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 385 | < res_t_yy=2001, res_t_mm=12, res_t_dd=2, res_t_h=22, res_t_m=10, res_t_s=0, & |
|---|
| 386 | < testname='SubtractT_T_TI1' ) |
|---|
| 387 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 388 | < op1_t_yy=2005, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 389 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 390 | < res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 391 | < testname='SubtractT_T_TI2' ) |
|---|
| 392 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 393 | < op1_t_yy=2004, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 394 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 395 | < res_t_yy=2003, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 396 | < testname='SubtractT_T_TI3' ) |
|---|
| 397 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 398 | < op1_t_yy=2003, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 399 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 400 | < res_t_yy=2002, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 401 | < testname='SubtractT_T_TI4' ) |
|---|
| 402 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 403 | < op1_t_yy=2005, op1_t_mm=04, op1_t_dd=01, op1_t_h=2, op1_t_m=40, op1_t_s=10, & |
|---|
| 404 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 405 | < res_t_yy=2004, res_t_mm=03, res_t_dd=30, res_t_h=4, res_t_m=30, res_t_s=00, & |
|---|
| 406 | < testname='SubtractT_T_TI5' ) |
|---|
| 407 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 408 | < op1_t_yy=2006, op1_t_mm=01, op1_t_dd=01, op1_t_h=8, op1_t_m=40, op1_t_s=10, & |
|---|
| 409 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=367, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 410 | < res_t_yy=2004, res_t_mm=12, res_t_dd=30, res_t_h=4, res_t_m=30, res_t_s=00, & |
|---|
| 411 | < testname='SubtractT_T_TI6' ) |
|---|
| 412 | < ! ESMF_Time = ESMF_Time - ESMF_TimeInterval with fractions |
|---|
| 413 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 414 | < op1_t_yy=2005, op1_t_mm=01, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 415 | < op1_t_sn=00, op1_t_sd=00, & |
|---|
| 416 | < op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=01, & |
|---|
| 417 | < op2_ti_sn=01, op2_ti_sd=03, & |
|---|
| 418 | < res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=58, & |
|---|
| 419 | < res_t_sn=02, res_t_sd=03, & |
|---|
| 420 | < testname='SubtractT_T_TI_F1' ) |
|---|
| 421 | < ! ESMF_TimeInterval = ESMF_Time - ESMF_Time |
|---|
| 422 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 423 | < op1_t_yy=2001, op1_t_mm=12, op1_t_dd=3, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 424 | < op2_t_yy=2001, op2_t_mm=12, op2_t_dd=1, op2_t_h=1, op2_t_m=10, op2_t_s=10, & |
|---|
| 425 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 426 | < testname='SubtractTI_T_T1' ) |
|---|
| 427 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 428 | < op1_t_yy=2002, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=00, & |
|---|
| 429 | < op2_t_yy=2001, op2_t_mm=12, op2_t_dd=31, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 430 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 431 | < testname='SubtractTI_T_T2' ) |
|---|
| 432 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 433 | < op1_t_yy=2005, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=00, & |
|---|
| 434 | < op2_t_yy=2004, op2_t_mm=12, op2_t_dd=31, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 435 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 436 | < testname='SubtractTI_T_T3' ) |
|---|
| 437 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 438 | < op1_t_yy=2003, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 439 | < op2_t_yy=2003, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 440 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 441 | < testname='SubtractTI_T_T4' ) |
|---|
| 442 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 443 | < op1_t_yy=2004, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 444 | < op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 445 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=1, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 446 | < testname='SubtractTI_T_T5' ) |
|---|
| 447 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 448 | < op1_t_yy=2002, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 449 | < op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 450 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 451 | < testname='SubtractTI_T_T6' ) |
|---|
| 452 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 453 | < op1_t_yy=2003, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 454 | < op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 455 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=365, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 456 | < testname='SubtractTI_T_T7' ) |
|---|
| 457 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 458 | < op1_t_yy=2004, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 459 | < op2_t_yy=2003, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 460 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=365, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 461 | < testname='SubtractTI_T_T8' ) |
|---|
| 462 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 463 | < op1_t_yy=2005, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 464 | < op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 465 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 466 | < testname='SubtractTI_T_T9' ) |
|---|
| 467 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 468 | < op1_t_yy=2003, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 469 | < op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 470 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 471 | < testname='SubtractTI_T_T10' ) |
|---|
| 472 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 473 | < op1_t_yy=2005, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 474 | < op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 475 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=367, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 476 | < testname='SubtractTI_T_T11' ) |
|---|
| 477 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 478 | < op1_t_yy=2005, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 479 | < op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 480 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 481 | < testname='SubtractTI_T_T12' ) |
|---|
| 482 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 483 | < op1_t_yy=2004, op1_t_mm=02, op1_t_dd=28, op1_t_h=23, op1_t_m=59, op1_t_s=50, & |
|---|
| 484 | < op2_t_yy=2005, op2_t_mm=03, op2_t_dd=01, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 485 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-366, res_ti_h=0, res_ti_m=00, res_ti_s=-10, & |
|---|
| 486 | < testname='SubtractTI_T_T13' ) |
|---|
| 487 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 488 | < op1_t_yy=-2002, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 489 | < op2_t_yy=-2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 490 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 491 | < testname='SubtractTI_T_T14' ) |
|---|
| 492 | < ! ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 493 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 494 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 495 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 496 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 497 | < testname='SubtractTI_TI_TI1' ) |
|---|
| 498 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 499 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 500 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-1, op2_ti_h=-1, op2_ti_m=-10, op2_ti_s=-10, & |
|---|
| 501 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=4, res_ti_h=2, res_ti_m=30, res_ti_s=20, & |
|---|
| 502 | < testname='SubtractTI_TI_TI2' ) |
|---|
| 503 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 504 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-1, op1_ti_h=-1, op1_ti_m=-10, op1_ti_s=-10, & |
|---|
| 505 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-3, op2_ti_h=-1, op2_ti_m=-20, op2_ti_s=-10, & |
|---|
| 506 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=00, & |
|---|
| 507 | < testname='SubtractTI_TI_TI3' ) |
|---|
| 508 | < ! Negative result ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 509 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 510 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=1, op1_ti_h=1, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 511 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=3, op2_ti_h=1, op2_ti_m=20, op2_ti_s=10, & |
|---|
| 512 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-2, res_ti_h=0, res_ti_m=-10, res_ti_s=0, & |
|---|
| 513 | < testname='SubtractTI_TI_TIN1' ) |
|---|
| 514 | < CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 515 | < op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-1, op1_ti_h=-1, op1_ti_m=-10, op1_ti_s=-10, & |
|---|
| 516 | < op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=3, op2_ti_h=1, op2_ti_m=20, op2_ti_s=10, & |
|---|
| 517 | < res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-4, res_ti_h=-2, res_ti_m=-30, res_ti_s=-20, & |
|---|
| 518 | < testname='SubtractTI_TI_TIN2' ) |
|---|
| 519 | --- |
|---|
| 520 | > ! res_t_sn=02, res_t_sd=03, & |
|---|
| 521 | > ! testname='AddT_T_TI_F1' ) |
|---|
| 522 | > ! ! this should fail (and does) |
|---|
| 523 | > !! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 524 | > !! op1_t_yy=2004, op1_t_mm=12, op1_t_dd=31, op1_t_h=22, op1_t_m=30, op1_t_s=00, & |
|---|
| 525 | > !! op1_t_sn=01, op1_t_sd=03, & |
|---|
| 526 | > !! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 527 | > !! op2_ti_sn=01, op2_ti_sd=03, & |
|---|
| 528 | > !! res_t_yy=2005, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 529 | > !! res_t_sn=01, res_t_sd=03, & |
|---|
| 530 | > !! testname='AddT_T_TI_F2' ) |
|---|
| 531 | > ! ! ESMF_Time = ESMF_TimeInterval + ESMF_Time |
|---|
| 532 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 533 | > ! op1_ti_yy= 0, op1_ti_mm= 0, op1_ti_dd=0, op1_ti_h=3, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 534 | > ! op2_t_yy=2001, op2_t_mm=12, op2_t_dd=3, op2_t_h=1, op2_t_m=20, op2_t_s=10, & |
|---|
| 535 | > ! res_t_yy=2001, res_t_mm=12, res_t_dd=3, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 536 | > ! testname='AddT_TI_T1' ) |
|---|
| 537 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 538 | > ! op1_ti_yy= 0, op1_ti_mm= 0, op1_ti_dd=0, op1_ti_h=4, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 539 | > ! op2_t_yy=2001, op2_t_mm=12, op2_t_dd=31, op2_t_h=22, op2_t_m=30, op2_t_s=00, & |
|---|
| 540 | > ! res_t_yy=2002, res_t_mm= 1, res_t_dd=1, res_t_h=2, res_t_m=40, res_t_s=10, & |
|---|
| 541 | > ! testname='AddT_TI_T2' ) |
|---|
| 542 | > ! ! ESMF_TimeInterval = ESMF_TimeInterval + ESMF_TimeInterval |
|---|
| 543 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 544 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 545 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 546 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=4, res_ti_h=2, res_ti_m=30, res_ti_s=20, & |
|---|
| 547 | > ! testname='AddTI_TI_TI1' ) |
|---|
| 548 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 549 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-3, op1_ti_h=-1, op1_ti_m=-20, op1_ti_s=-10, & |
|---|
| 550 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 551 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-2, res_ti_h=0, res_ti_m=-10, res_ti_s=00, & |
|---|
| 552 | > ! testname='AddTI_TI_TI2' ) |
|---|
| 553 | > ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 554 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-3, op1_ti_h=-1, op1_ti_m=-20, op1_ti_s=-10, & |
|---|
| 555 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-1, op2_ti_h=-1, op2_ti_m=-10, op2_ti_s=-10, & |
|---|
| 556 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-4, res_ti_h=-2, res_ti_m=-30, res_ti_s=-20, & |
|---|
| 557 | > ! testname='AddTI_TI_TI3' ) |
|---|
| 558 | > ! |
|---|
| 559 | 1693,1694c1559,1560 |
|---|
| 560 | < ! Un-normalized ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 561 | < ! this is an error |
|---|
| 562 | --- |
|---|
| 563 | > ! ! Subtraction tests |
|---|
| 564 | > ! ! ESMF_Time = ESMF_Time - ESMF_TimeInterval |
|---|
| 565 | 1696,1702d1561 |
|---|
| 566 | < ! op1_ti_yy=2001, op1_ti_mm=11, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 567 | < ! op2_ti_yy=2001, op2_ti_mm=11, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 568 | < ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 569 | < ! testname='SubtractTI_TI_TIU1', expect_error=.TRUE. ) |
|---|
| 570 | < |
|---|
| 571 | < ! this one should FAIL, and does |
|---|
| 572 | < ! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 573 | 1705,1755c1564,1756 |
|---|
| 574 | < ! res_t_yy=2002, res_t_mm=12, res_t_dd=3, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 575 | < ! testname='AddTT1' ) |
|---|
| 576 | < |
|---|
| 577 | < ! Multiplication tests |
|---|
| 578 | < ! ESMF_TimeInterval = ESMF_TimeInterval * INTEGER |
|---|
| 579 | < CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 580 | < op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 581 | < op2_int=2, & |
|---|
| 582 | < res_ti_dd=6, res_ti_h=24, res_ti_m=37, res_ti_s=06, & |
|---|
| 583 | < testname='MultiplyTI_TI_INT1' ) |
|---|
| 584 | < CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 585 | < op1_ti_dd=350, op1_ti_h=23, op1_ti_m=50, op1_ti_s=50, & |
|---|
| 586 | < op2_int=2, & |
|---|
| 587 | < res_ti_dd=701, res_ti_h=23, res_ti_m=41, res_ti_s=40,& |
|---|
| 588 | < testname='MultiplyTI_TI_INT2' ) |
|---|
| 589 | < CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 590 | < op1_ti_s=01, op1_ti_sn=03, op1_ti_sd=04, & |
|---|
| 591 | < op2_int=8, & |
|---|
| 592 | < res_ti_s=14, & |
|---|
| 593 | < testname='MultiplyTI_TI_INT3' ) |
|---|
| 594 | < |
|---|
| 595 | < ! Division tests |
|---|
| 596 | < ! ESMF_TimeInterval = ESMF_TimeInterval / INTEGER |
|---|
| 597 | < CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 598 | < op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 599 | < op2_int=3, & |
|---|
| 600 | < res_ti_dd=1, res_ti_h=04, res_ti_m=06, res_ti_s=11, & |
|---|
| 601 | < testname='DivideTI_TI_INT1' ) |
|---|
| 602 | < CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 603 | < op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 604 | < op2_int=4, & |
|---|
| 605 | < res_ti_dd=0, res_ti_h=21, res_ti_m=04, res_ti_s=38, & |
|---|
| 606 | < res_ti_sn=1, res_ti_sd=4, & |
|---|
| 607 | < testname='DivideTI_TI_INT2' ) |
|---|
| 608 | < CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 609 | < op1_ti_s=01, op1_ti_sn=03, op1_ti_sd=04, & |
|---|
| 610 | < op2_int=5, & |
|---|
| 611 | < res_ti_s=0, res_ti_sn=7, res_ti_sd=20, & |
|---|
| 612 | < testname='DivideTI_TI_INT3' ) |
|---|
| 613 | < |
|---|
| 614 | < ! Test adjust_io_timestr() |
|---|
| 615 | < ! CT = 2000-01-26_00:00:00 (current time) |
|---|
| 616 | < ! ST = 2000-01-24_12:00:00 (start time) |
|---|
| 617 | < ! TI = 00000_03:00:00 (time interval) |
|---|
| 618 | < ! the resulting time string should be: |
|---|
| 619 | < ! 2000-01-26_00:00:00 |
|---|
| 620 | < CALL test_adjust_io_timestr( TI_h=3, TI_m=0, TI_s=0, & |
|---|
| 621 | < CT_yy=2000, CT_mm=1, CT_dd=26, CT_h=0, CT_m=0, CT_s=0, & |
|---|
| 622 | < ST_yy=2000, ST_mm=1, ST_dd=24, ST_h=12, ST_m=0, ST_s=0, & |
|---|
| 623 | < res_str='2000-01-26_00:00:00', testname='adjust_io_timestr_1' ) |
|---|
| 624 | < ! this should fail (and does) |
|---|
| 625 | --- |
|---|
| 626 | > ! res_t_yy=2001, res_t_mm=12, res_t_dd=2, res_t_h=22, res_t_m=10, res_t_s=0, & |
|---|
| 627 | > ! testname='SubtractT_T_TI1' ) |
|---|
| 628 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 629 | > ! op1_t_yy=2005, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 630 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 631 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 632 | > ! testname='SubtractT_T_TI2' ) |
|---|
| 633 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 634 | > ! op1_t_yy=2004, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 635 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 636 | > ! res_t_yy=2003, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 637 | > ! testname='SubtractT_T_TI3' ) |
|---|
| 638 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 639 | > ! op1_t_yy=2003, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=0, & |
|---|
| 640 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=10, & |
|---|
| 641 | > ! res_t_yy=2002, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=50, & |
|---|
| 642 | > ! testname='SubtractT_T_TI4' ) |
|---|
| 643 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 644 | > ! op1_t_yy=2005, op1_t_mm=04, op1_t_dd=01, op1_t_h=2, op1_t_m=40, op1_t_s=10, & |
|---|
| 645 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=366, op2_ti_h=22, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 646 | > ! res_t_yy=2004, res_t_mm=03, res_t_dd=30, res_t_h=4, res_t_m=30, res_t_s=00, & |
|---|
| 647 | > ! testname='SubtractT_T_TI5' ) |
|---|
| 648 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 649 | > ! op1_t_yy=2006, op1_t_mm=01, op1_t_dd=01, op1_t_h=8, op1_t_m=40, op1_t_s=10, & |
|---|
| 650 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=367, op2_ti_h=4, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 651 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=30, res_t_h=4, res_t_m=30, res_t_s=00, & |
|---|
| 652 | > ! testname='SubtractT_T_TI6' ) |
|---|
| 653 | > ! ! ESMF_Time = ESMF_Time - ESMF_TimeInterval with fractions |
|---|
| 654 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 655 | > ! op1_t_yy=2005, op1_t_mm=01, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 656 | > ! op1_t_sn=00, op1_t_sd=00, & |
|---|
| 657 | > ! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=0, op2_ti_m=00, op2_ti_s=01, & |
|---|
| 658 | > ! op2_ti_sn=01, op2_ti_sd=03, & |
|---|
| 659 | > ! res_t_yy=2004, res_t_mm=12, res_t_dd=31, res_t_h=23, res_t_m=59, res_t_s=58, & |
|---|
| 660 | > ! res_t_sn=02, res_t_sd=03, & |
|---|
| 661 | > ! testname='SubtractT_T_TI_F1' ) |
|---|
| 662 | > ! ! ESMF_TimeInterval = ESMF_Time - ESMF_Time |
|---|
| 663 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 664 | > ! op1_t_yy=2001, op1_t_mm=12, op1_t_dd=3, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 665 | > ! op2_t_yy=2001, op2_t_mm=12, op2_t_dd=1, op2_t_h=1, op2_t_m=10, op2_t_s=10, & |
|---|
| 666 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 667 | > ! testname='SubtractTI_T_T1' ) |
|---|
| 668 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 669 | > ! op1_t_yy=2002, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=00, & |
|---|
| 670 | > ! op2_t_yy=2001, op2_t_mm=12, op2_t_dd=31, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 671 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 672 | > ! testname='SubtractTI_T_T2' ) |
|---|
| 673 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 674 | > ! op1_t_yy=2005, op1_t_mm=1, op1_t_dd=1, op1_t_h=0, op1_t_m=00, op1_t_s=00, & |
|---|
| 675 | > ! op2_t_yy=2004, op2_t_mm=12, op2_t_dd=31, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 676 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 677 | > ! testname='SubtractTI_T_T3' ) |
|---|
| 678 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 679 | > ! op1_t_yy=2003, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 680 | > ! op2_t_yy=2003, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 681 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 682 | > ! testname='SubtractTI_T_T4' ) |
|---|
| 683 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 684 | > ! op1_t_yy=2004, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 685 | > ! op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 686 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=1, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 687 | > ! testname='SubtractTI_T_T5' ) |
|---|
| 688 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 689 | > ! op1_t_yy=2002, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 690 | > ! op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 691 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 692 | > ! testname='SubtractTI_T_T6' ) |
|---|
| 693 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 694 | > ! op1_t_yy=2003, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 695 | > ! op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 696 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=365, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 697 | > ! testname='SubtractTI_T_T7' ) |
|---|
| 698 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 699 | > ! op1_t_yy=2004, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 700 | > ! op2_t_yy=2003, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 701 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=365, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 702 | > ! testname='SubtractTI_T_T8' ) |
|---|
| 703 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 704 | > ! op1_t_yy=2005, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 705 | > ! op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 706 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 707 | > ! testname='SubtractTI_T_T9' ) |
|---|
| 708 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 709 | > ! op1_t_yy=2003, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 710 | > ! op2_t_yy=2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 711 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 712 | > ! testname='SubtractTI_T_T10' ) |
|---|
| 713 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 714 | > ! op1_t_yy=2005, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 715 | > ! op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 716 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=367, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 717 | > ! testname='SubtractTI_T_T11' ) |
|---|
| 718 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 719 | > ! op1_t_yy=2005, op1_t_mm=03, op1_t_dd=01, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 720 | > ! op2_t_yy=2004, op2_t_mm=02, op2_t_dd=28, op2_t_h=23, op2_t_m=59, op2_t_s=50, & |
|---|
| 721 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=366, res_ti_h=0, res_ti_m=00, res_ti_s=10, & |
|---|
| 722 | > ! testname='SubtractTI_T_T12' ) |
|---|
| 723 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 724 | > ! op1_t_yy=2004, op1_t_mm=02, op1_t_dd=28, op1_t_h=23, op1_t_m=59, op1_t_s=50, & |
|---|
| 725 | > ! op2_t_yy=2005, op2_t_mm=03, op2_t_dd=01, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 726 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-366, res_ti_h=0, res_ti_m=00, res_ti_s=-10, & |
|---|
| 727 | > ! testname='SubtractTI_T_T13' ) |
|---|
| 728 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 729 | > ! op1_t_yy=-2002, op1_t_mm=02, op1_t_dd=28, op1_t_h=00, op1_t_m=00, op1_t_s=00, & |
|---|
| 730 | > ! op2_t_yy=-2002, op2_t_mm=02, op2_t_dd=28, op2_t_h=00, op2_t_m=00, op2_t_s=00, & |
|---|
| 731 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=0, res_ti_h=0, res_ti_m=00, res_ti_s=00, & |
|---|
| 732 | > ! testname='SubtractTI_T_T14' ) |
|---|
| 733 | > ! ! ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 734 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 735 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 736 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 737 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 738 | > ! testname='SubtractTI_TI_TI1' ) |
|---|
| 739 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 740 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 741 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-1, op2_ti_h=-1, op2_ti_m=-10, op2_ti_s=-10, & |
|---|
| 742 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=4, res_ti_h=2, res_ti_m=30, res_ti_s=20, & |
|---|
| 743 | > ! testname='SubtractTI_TI_TI2' ) |
|---|
| 744 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 745 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-1, op1_ti_h=-1, op1_ti_m=-10, op1_ti_s=-10, & |
|---|
| 746 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=-3, op2_ti_h=-1, op2_ti_m=-20, op2_ti_s=-10, & |
|---|
| 747 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=00, & |
|---|
| 748 | > ! testname='SubtractTI_TI_TI3' ) |
|---|
| 749 | > ! ! Negative result ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 750 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 751 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=1, op1_ti_h=1, op1_ti_m=10, op1_ti_s=10, & |
|---|
| 752 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=3, op2_ti_h=1, op2_ti_m=20, op2_ti_s=10, & |
|---|
| 753 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-2, res_ti_h=0, res_ti_m=-10, res_ti_s=0, & |
|---|
| 754 | > ! testname='SubtractTI_TI_TIN1' ) |
|---|
| 755 | > ! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 756 | > ! op1_ti_yy=0000, op1_ti_mm=00, op1_ti_dd=-1, op1_ti_h=-1, op1_ti_m=-10, op1_ti_s=-10, & |
|---|
| 757 | > ! op2_ti_yy=0000, op2_ti_mm=00, op2_ti_dd=3, op2_ti_h=1, op2_ti_m=20, op2_ti_s=10, & |
|---|
| 758 | > ! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=-4, res_ti_h=-2, res_ti_m=-30, res_ti_s=-20, & |
|---|
| 759 | > ! testname='SubtractTI_TI_TIN2' ) |
|---|
| 760 | > ! |
|---|
| 761 | > ! ! Un-normalized ESMF_TimeInterval = ESMF_TimeInterval - ESMF_TimeInterval |
|---|
| 762 | > ! ! this is an error |
|---|
| 763 | > !! CALL test_arithmetic( add_op=.FALSE., & |
|---|
| 764 | > !! op1_ti_yy=2001, op1_ti_mm=11, op1_ti_dd=3, op1_ti_h=1, op1_ti_m=20, op1_ti_s=10, & |
|---|
| 765 | > !! op2_ti_yy=2001, op2_ti_mm=11, op2_ti_dd=1, op2_ti_h=1, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 766 | > !! res_ti_yy=0000, res_ti_mm=00, res_ti_dd=2, res_ti_h=0, res_ti_m=10, res_ti_s=0, & |
|---|
| 767 | > !! testname='SubtractTI_TI_TIU1', expect_error=.TRUE. ) |
|---|
| 768 | > ! |
|---|
| 769 | > ! ! this one should FAIL, and does |
|---|
| 770 | > !! CALL test_arithmetic( add_op=.TRUE., & |
|---|
| 771 | > !! op1_t_yy=2001, op1_t_mm=12, op1_t_dd=3, op1_t_h=1, op1_t_m=20, op1_t_s=10, & |
|---|
| 772 | > !! op2_ti_yy= 0, op2_ti_mm= 0, op2_ti_dd=0, op2_ti_h=3, op2_ti_m=10, op2_ti_s=10, & |
|---|
| 773 | > !! res_t_yy=2002, res_t_mm=12, res_t_dd=3, res_t_h=4, res_t_m=30, res_t_s=20, & |
|---|
| 774 | > !! testname='AddTT1' ) |
|---|
| 775 | > ! |
|---|
| 776 | > ! ! Multiplication tests |
|---|
| 777 | > ! ! ESMF_TimeInterval = ESMF_TimeInterval * INTEGER |
|---|
| 778 | > ! CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 779 | > ! op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 780 | > ! op2_int=2, & |
|---|
| 781 | > ! res_ti_dd=6, res_ti_h=24, res_ti_m=37, res_ti_s=06, & |
|---|
| 782 | > ! testname='MultiplyTI_TI_INT1' ) |
|---|
| 783 | > ! CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 784 | > ! op1_ti_dd=350, op1_ti_h=23, op1_ti_m=50, op1_ti_s=50, & |
|---|
| 785 | > ! op2_int=2, & |
|---|
| 786 | > ! res_ti_dd=701, res_ti_h=23, res_ti_m=41, res_ti_s=40,& |
|---|
| 787 | > ! testname='MultiplyTI_TI_INT2' ) |
|---|
| 788 | > ! CALL test_arithmetic( multiply_op=.TRUE., & |
|---|
| 789 | > ! op1_ti_s=01, op1_ti_sn=03, op1_ti_sd=04, & |
|---|
| 790 | > ! op2_int=8, & |
|---|
| 791 | > ! res_ti_s=14, & |
|---|
| 792 | > ! testname='MultiplyTI_TI_INT3' ) |
|---|
| 793 | > ! |
|---|
| 794 | > ! ! Division tests |
|---|
| 795 | > ! ! ESMF_TimeInterval = ESMF_TimeInterval / INTEGER |
|---|
| 796 | > ! CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 797 | > ! op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 798 | > ! op2_int=3, & |
|---|
| 799 | > ! res_ti_dd=1, res_ti_h=04, res_ti_m=06, res_ti_s=11, & |
|---|
| 800 | > ! testname='DivideTI_TI_INT1' ) |
|---|
| 801 | > ! CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 802 | > ! op1_ti_dd=3, op1_ti_h=12, op1_ti_m=18, op1_ti_s=33, & |
|---|
| 803 | > ! op2_int=4, & |
|---|
| 804 | > ! res_ti_dd=0, res_ti_h=21, res_ti_m=04, res_ti_s=38, & |
|---|
| 805 | > ! res_ti_sn=1, res_ti_sd=4, & |
|---|
| 806 | > ! testname='DivideTI_TI_INT2' ) |
|---|
| 807 | > ! CALL test_arithmetic( multiply_op=.FALSE., & |
|---|
| 808 | > ! op1_ti_s=01, op1_ti_sn=03, op1_ti_sd=04, & |
|---|
| 809 | > ! op2_int=5, & |
|---|
| 810 | > ! res_ti_s=0, res_ti_sn=7, res_ti_sd=20, & |
|---|
| 811 | > ! testname='DivideTI_TI_INT3' ) |
|---|
| 812 | > ! |
|---|
| 813 | > ! ! Test adjust_io_timestr() |
|---|
| 814 | > !! CT = 2000-01-26_00:00:00 (current time) |
|---|
| 815 | > !! ST = 2000-01-24_12:00:00 (start time) |
|---|
| 816 | > !! TI = 00000_03:00:00 (time interval) |
|---|
| 817 | > !! the resulting time string should be: |
|---|
| 818 | > !! 2000-01-26_00:00:00 |
|---|
| 819 | 1759,1760c1760,1766 |
|---|
| 820 | < ! res_str='2000-01-26_00:00:01', testname='adjust_io_timestr_FAIL1' ) |
|---|
| 821 | < |
|---|
| 822 | --- |
|---|
| 823 | > ! res_str='2000-01-26_00:00:00', testname='adjust_io_timestr_1' ) |
|---|
| 824 | > !! this should fail (and does) |
|---|
| 825 | > !! CALL test_adjust_io_timestr( TI_h=3, TI_m=0, TI_s=0, & |
|---|
| 826 | > !! CT_yy=2000, CT_mm=1, CT_dd=26, CT_h=0, CT_m=0, CT_s=0, & |
|---|
| 827 | > !! ST_yy=2000, ST_mm=1, ST_dd=24, ST_h=12, ST_m=0, ST_s=0, & |
|---|
| 828 | > !! res_str='2000-01-26_00:00:01', testname='adjust_io_timestr_FAIL1' ) |
|---|
| 829 | > ! |
|---|
| 830 | 1763,1765c1769,1771 |
|---|
| 831 | < start_yy=2002, start_mm=12, start_dd=27, start_h=3, start_m=0, start_s=0, & |
|---|
| 832 | < stop_yy=2002, stop_mm=12, stop_dd=28, stop_h=8, stop_m=0, stop_s=0, & |
|---|
| 833 | < timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=600, & |
|---|
| 834 | --- |
|---|
| 835 | > start_yy=2024, start_mm=01, start_dd=99, start_h=3, start_m=0, start_s=0, & |
|---|
| 836 | > stop_yy=2024, stop_mm=02, stop_dd=02, stop_h=8, stop_m=0, stop_s=0, & |
|---|
| 837 | > timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=100, & |
|---|
| 838 | 1768,1778c1774 |
|---|
| 839 | < CALL test_clock_advance( & |
|---|
| 840 | < start_yy=2003, start_mm=12, start_dd=29, start_h=9, start_m=0, start_s=0, & |
|---|
| 841 | < stop_yy=2004, stop_mm=1, stop_dd=2, stop_h=9, stop_m=0, stop_s=0, & |
|---|
| 842 | < timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=3600, & |
|---|
| 843 | < testname="StdYearClockAdvance", increment_S=10 ) |
|---|
| 844 | < |
|---|
| 845 | < CALL test_clock_advance( & |
|---|
| 846 | < start_yy=2004, start_mm=12, start_dd=29, start_h=9, start_m=0, start_s=0, & |
|---|
| 847 | < stop_yy=2005, stop_mm=1, stop_dd=2, stop_h=9, stop_m=0, stop_s=0, & |
|---|
| 848 | < timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=3600, & |
|---|
| 849 | < testname="LeapYearClockAdvance", increment_S=10 ) |
|---|
| 850 | --- |
|---|
| 851 | > PRINT *,'END CLOCK ADVANCE' |
|---|
| 852 | 1780,1781d1775 |
|---|
| 853 | < ! NRCM domain 3 case: 120 seconds / 9 |
|---|
| 854 | < ! 18 timesteps through end of leap year |
|---|
| 855 | 1783,1789c1777,1797 |
|---|
| 856 | < start_yy=2004, start_mm=12, start_dd=31, start_h=23, start_m=58, start_s=0,& |
|---|
| 857 | < stop_yy=2005, stop_mm=1, stop_dd=1, stop_h=0, stop_m=2, stop_s=0, & |
|---|
| 858 | < timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=13, & |
|---|
| 859 | < timestep_sn=1, timestep_sd=3, & |
|---|
| 860 | < testname="LeapYearFractionClockAdvance", & |
|---|
| 861 | < increment_S=1, increment_Sn=1, increment_Sd=3 ) |
|---|
| 862 | < |
|---|
| 863 | --- |
|---|
| 864 | > start_yy=2024, start_mm=07, start_dd=74, start_h=23, start_m=00, start_s=0, & |
|---|
| 865 | > stop_yy=2025, stop_mm=01, stop_dd=07, stop_h=9, stop_m=0, stop_s=0, & |
|---|
| 866 | > timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=1850, & |
|---|
| 867 | > testname="StdYearClockAdvance", increment_S=10 ) |
|---|
| 868 | > ! |
|---|
| 869 | > ! CALL test_clock_advance( & |
|---|
| 870 | > ! start_yy=2004, start_mm=12, start_dd=29, start_h=9, start_m=0, start_s=0, & |
|---|
| 871 | > ! stop_yy=2005, stop_mm=1, stop_dd=2, stop_h=9, stop_m=0, stop_s=0, & |
|---|
| 872 | > ! timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=3600, & |
|---|
| 873 | > ! testname="LeapYearClockAdvance", increment_S=10 ) |
|---|
| 874 | > ! |
|---|
| 875 | > ! ! NRCM domain 3 case: 120 seconds / 9 |
|---|
| 876 | > ! ! 18 timesteps through end of leap year |
|---|
| 877 | > ! CALL test_clock_advance( & |
|---|
| 878 | > ! start_yy=2004, start_mm=12, start_dd=31, start_h=23, start_m=58, start_s=0,& |
|---|
| 879 | > ! stop_yy=2005, stop_mm=1, stop_dd=1, stop_h=0, stop_m=2, stop_s=0, & |
|---|
| 880 | > ! timestep_d=0, timestep_h=0, timestep_m=0, timestep_s=13, & |
|---|
| 881 | > ! timestep_sn=1, timestep_sd=3, & |
|---|
| 882 | > ! testname="LeapYearFractionClockAdvance", & |
|---|
| 883 | > ! increment_S=1, increment_Sn=1, increment_Sd=3 ) |
|---|
| 884 | > ! |
|---|