Changes between Initial Version and Version 1 of OfflineAddingMemoryandTimingInformation


Ignore:
Timestamp:
May 18, 2011, 4:43:48 PM (13 years ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OfflineAddingMemoryandTimingInformation

    v1 v1  
     1= Offline Mode: Adding memory and timing information =
     2
     3{{{
     4#!html
     5<div class="wiki-toc">
     6<h4>Offline Mode: Implementation Guide</h4>
     7<ol><li><a href="OfflineImplementationGuide">Main page</a></li>
     8<li><a href="OfflineAdaptParallelization">Adaptation of the parallelization</a></li>
     9<li><a href="OfflineInitPdaf">Initialization of PDAF</a></li>
     10<li><a href="OfflineImplementationofAnalysisStep">Implementation of the analysis step</a></li>
     11<li>Memory and timing information</li>
     12</ol>
     13</div>
     14}}}
     15
     16[[PageOutline(2-3,Contents of this page)]]
     17
     18== Overview ==
     19
     20PDAF provides functions to display the memory required by the array allocated inside PDAF. In addition, information about the execution duration of different parts of PDAF can be displayed. These information can be obtained by calling the routine `PDAF_print_info`.
     21
     22== Displaying memory information ==
     23
     24Information about the memory required by PDAF through allocated arrays can be obtained by inserting into the program the line
     25{{{
     26  CALL PDAF_print_info(2)
     27}}}
     28The function displays the following information
     29 * Memory required for the ensemble array, state vector, and matrix '''Uinv'''
     30 * Memory required by the analysis step
     31 * Memory required to perform the ensemble transformation
     32
     33The output will look like this:
     34{{{
     35                       PDAF Memory overview
     36          ---------------------------------------------
     37                     Allocated memory  (MB)
     38            SEIK ensemble:    1.23475 MB (persistent)
     39            analysis step:    3.08229 MB (temporary)
     40         reinitialization:    5.78707 MB (temporary)
     41}}}
     42
     43Currently only the memory required by the first process of the filter processes is displayed. Thus the total required memory should be the displayed memory multiplied by the number of processes in `COMM_filter`.
     44
     45== Displaying timing information ==
     46
     47Timing information can be displayed by adding
     48{{{
     49  CALL PDAF_print_info(1)
     50}}}
     51to the code. This will provide an output like
     52{{{
     53                     PDAF Timing information
     54          ---------------------------------------------
     55            Generate state ensemble:      0.513 s
     56                  Time of forecasts:      0.010 s
     57              Time for assimilation:      0.200 s
     58            ensemble transformation:      0.245 s
     59                Time of prepoststep:      0.016 s
     60}}}
     61Mode detailed information can be obtained using a value of 3 in the call to `PDAF_print_info`.
     62