Changes between Version 12 and Version 13 of AddingMemoryandTimingInformation


Ignore:
Timestamp:
Feb 22, 2023, 3:28:02 PM (14 months ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AddingMemoryandTimingInformation

    v12 v13  
    7171  PDAF            PDAF Timing information - call-back routines
    7272  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
     73  PDAF          Initialize PDAF:                     2.007 s
     74  PDAF            init_ens_pdaf:                       2.004 s
     75  PDAF          Ensemble forecast:                 571.850 s
     76  PDAF            MPI communication in PDAF:           0.004 s
     77  PDAF            distribute_state_pdaf:               0.140 s
     78  PDAF            collect_state_pdaf:                  0.001 s
     79  PDAF          LESTKF analysis:                    12.654 s
     80  PDAF            PDAF-internal operations:           10.360 s
    8181  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
     82  PDAF            init_dim_obs_f_pdaf:                 1.091 s
     83  PDAF            obs_op_f_pdaf:                       0.022 s
    8484  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
     85  PDAF            init_dim_obs_l_pdaf:                 1.136 s
     86  PDAF            g2l_state_pdaf:                      0.003 s
     87  PDAF            g2l_obs_pdaf:                        0.007 s
     88  PDAF            init_obs_l_pdaf:                     0.004 s
     89  PDAF            prodRinvA_l_pdaf:                    0.023 s
     90  PDAF            l2g_state_pdaf:                      0.002 s
     91  PDAF          prepoststep_pdaf:                   91.396 s
    9292}}}
    93 In this example most time is spent inside PDAF (it is from the PDAF testsuite where pseudo observations are genered inside the program and the observation operator is trivial). 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.
     93This example is from one of our real data assimilation application. Most of the time is spent in for ensmeble forecast. The second most time is spent in `prepoststep_pdaf`, which is mainly due to the writing of large output files.
     94The analysis step  (line `LESTKF analysis`) took only 12.65s. Most of this time was spent for computations inside PDAF (line `PDAF-interal operations`, 10.36s), while also `init_dim_obs_f_pdaf` (the initialization of observation information) and `init_dim_obs_l_pdaf` (the search for observations within the localization cut-off radius) took some time.
     95
     96If significant time is spend in one or several of the call-back routines, this gives an indication which routines might have potential for optimization.
    9497
    9598More 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.