|
43 | 43 | import warnings
|
44 | 44 | from esmfRegion import ESMFRegion
|
45 | 45 | import time
|
46 |
| - |
| 46 | +from pprint import pprint |
47 | 47 |
|
48 | 48 | def collect_runtime_tot(
|
49 | 49 | ESMF_path,
|
@@ -258,4 +258,29 @@ def _parse_line(self, line):
|
258 | 258 | time_end = time.time()
|
259 | 259 | elaps = time_end - time_start
|
260 | 260 | print(elaps)
|
261 |
| - print(runtime_tot) |
| 261 | + pprint(runtime_tot) |
| 262 | + |
| 263 | + # The above example presents three items in `regionNames` variable, |
| 264 | + # where "[ESMF]" and "[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[OCN] RunPhase1" are the exact region names in ESMF profile files, |
| 265 | + # while "[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED]" is a prefix for: |
| 266 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_aofluxes_run', |
| 267 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_accum', |
| 268 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_atm', |
| 269 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_ice_ice2med', |
| 270 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_ice_med2ice', |
| 271 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_ocn', |
| 272 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_print', |
| 273 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_diag_rof', |
| 274 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_history_write', |
| 275 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_ocnalb_run', |
| 276 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_post_atm', |
| 277 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_post_ice', |
| 278 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_post_ocn', |
| 279 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_post_rof', |
| 280 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_prep_ice', |
| 281 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_prep_ocn_accum', |
| 282 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_prep_ocn_avg', |
| 283 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_profile', |
| 284 | + # '[ESMF]/[ensemble] RunPhase1/[ESM0001] RunPhase1/[MED] med_phases_restart_write' |
| 285 | + ## Hence, this tool supports runtime collection for both exact match and prefix-based match. |
| 286 | + |
0 commit comments