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 | > ! |
---|