39 | | PDAF Memory overview |
40 | | --------------------------------------------- |
41 | | Allocated memory (MB) |
42 | | state and U: 0.59617 MB (persistent) |
43 | | ensemble array: 0.64087 MB (persistent) |
44 | | analysis step: 6.05578 MB (temporary) |
45 | | resampling: 2.81129 MB (temporary) |
| 39 | PDAF PDAF Memory overview |
| 40 | PDAF --------------------------------------------- |
| 41 | PDAF Allocated memory (MiB) |
| 42 | PDAF state and A: 0.598 MiB (persistent) |
| 43 | PDAF ensemble array: 0.641 MiB (persistent) |
| 44 | PDAF analysis step: 16.425 MiB (temporary) |
58 | | PDAF Timing information |
59 | | --------------------------------------------- |
60 | | Generate state ensemble: 0.513 s |
61 | | Time of forecasts: 0.010 s |
62 | | Time for assimilation: 0.200 s |
63 | | ensemble transformation: 0.245 s |
64 | | Time of prepoststep: 0.016 s |
| 57 | PDAF PDAF Timing information |
| 58 | PDAF --------------------------------------------- |
| 59 | PDAF Initialize PDAF: 0.078 s |
| 60 | PDAF Ensemble forecast: 0.003 s |
| 61 | PDAF LESTKF analysis: 25.183 s |
| 62 | PDAF Prepoststep: 0.017 s |
| 65 | More detailed output is obtained with |
| 66 | {{{ |
| 67 | CALL PDAF_print_info(1) |
| 68 | }}} |
| 69 | which will display timing information of each of the call-back routines. E.g. for the LESTKF this might look like: |
| 70 | {{{ |
| 71 | PDAF PDAF Timing information - call-back routines |
| 72 | PDAF ---------------------------------------------------- |
| 73 | PDAF Initialize PDAF: 0.078 s |
| 74 | PDAF init_ens_pdaf: 0.077 s |
| 75 | PDAF Ensemble forecast: 0.003 s |
| 76 | PDAF MPI communication in PDAF: 0.000 s |
| 77 | PDAF distribute_state_pdaf: 0.001 s |
| 78 | PDAF collect_state_pdaf: 0.000 s |
| 79 | PDAF LESTKF analysis: 25.183 s |
| 80 | PDAF PDAF-internal operations: 24.762 s |
| 81 | PDAF init_n_domains_pdaf: 0.000 s |
| 82 | PDAF init_dim_obs_f_pdaf: 0.000 s |
| 83 | PDAF obs_op_f_pdaf: 0.003 s |
| 84 | PDAF init_dim_l_pdaf: 0.001 s |
| 85 | PDAF init_dim_obs_l_pdaf: 0.001 s |
| 86 | PDAF g2l_state_pdaf: 0.001 s |
| 87 | PDAF g2l_obs_pdaf: 0.021 s |
| 88 | PDAF init_obs_l_pdaf: 0.000 s |
| 89 | PDAF prodRinvA_l_pdaf: 0.006 s |
| 90 | PDAF l2g_state_pdaf: 0.014 s |
| 91 | PDAF prepoststep_pdaf: 0.017 s |
| 92 | }}} |
| 93 | In this example most time is spend inside PDAF (it is from the PDAF testsuite). If significant time is spend in one of several of the call-back routines, this given an indication which routines might have potential for optimization. |
| 94 | |
| 95 | More detailed information in time spend in different parts of the filter algorithm itself can be obtained using a value of 4 or 5 in the call to `PDAF_print_info`. Only the time from the first process of the filter processes is displayed. However, the time for each process should be similar. |
| 96 | |