wiki:PdafImplementationDifferenesOnePointSeven

Version 3 (modified by lnerger, 12 years ago) (diff)

--

Summary of differences in the implementation of PDAF V1.7 to V1.8

Adapting a model's parallelization for PDAF

No changes

Initialization of PDAF and the ensemble by PDAF_init

There are no changes in the implementation procedure itself. However, the screen output from the initialization routine of PDAF changed slightly. At this stage, the screen output is shown, when testing the partly implemented assimilation system.

For V1.7 the standard output from PDAF_init should look like the following:

  PDAF: Initialize SEIK Filter

         SEIK configuration
               filter sub-type = 0
                 --> Standard SEIK
                 --> Transform ensemble with deterministic Omega
                 --> Use fixed forgetting factor: 1.00

         Parallelization - Filter on model PEs:
                      Total number of PEs:   4
          Number of parallel model tasks:   1
                           PEs for Filter:   4
     # PEs per ensemble task and local ensemble sizes: 
           Task   1
           #PEs   4
              N 300

In PDAF V1.8 version information as well as a header for the chosen filter algorithm were added. This changed the display to:

        ++++++++++++++++++++++++++++++++++++++++++++++++++++++
        +++                      PDAF                      +++
        +++      Parallel Data Assimilation Framework      +++
        +++                                                +++
        +++                  Version 1.8                   +++
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++


  PDAF: Initialize filter

        +++++++++++++++++++++++++++++++++++++++++++++++++++++++
        +++                  SEIK Filter                    +++
        +++                                                 +++
        +++ Pham et al., C. R. Acad. Sci. II, 326(1998) 255 +++
        +++    and Pham, Mon. Wea. Rev. 129 (2001) 1194     +++
        +++          This implementation follows            +++
        +++      Nerger et al., Tellus 57A (2005) 715       +++
        +++++++++++++++++++++++++++++++++++++++++++++++++++++++

         SEIK configuration
               filter sub-type = 0
                 --> Standard SEIK
                 --> Transform ensemble with deterministic Omega
                 --> Use fixed forgetting factor: 1.00
                 --> ensemble size:  280

  PDAF: Initialize Parallelization

         Parallelization - Filter on model PEs:
                      Total number of PEs:    1
           Number of parallel model tasks:    1
                           PEs for Filter:    1
     # PEs per ensemble task and local ensemble sizes: 
           Task   1
           #PEs   1
              N 280

Modification of the model code for the ensemble integration

No changes.

Implementation of the analysis step

The implementation of the analysis step has not changed between versions 1.7 and 1.8. However, new filter algorithms have been introduced with V1.8: The ESTKF and LESTKF algorithms have been added. Further, an additional sub-type (subtype=4) of SEIK and LSEIK has been introduced.

Adding memory and timing information

In PDAF V1.8 the internal timers of PDAF have been restructured. Due to this the order of some timers in the output can be differnt for some filters. In addition, the memory counting was changed.

For PDAF V1.7, the output from CALL PDAF_print_info(2) will look like this:

                       PDAF Memory overview
          ---------------------------------------------
                     Allocated memory  (MB)
            SEIK ensemble:    1.23475 MB (persistent)
            analysis step:    3.08229 MB (temporary)
         reinitialization:    5.78707 MB (temporary)

while in V1.8, the output was changed to

                       PDAF Memory overview
          ---------------------------------------------
                     Allocated memory  (MB)
              state and U:   0.59617 MB (persistent)
           ensemble array:   0.64087 MB (persistent)
            analysis step:   6.05578 MB (temporary)
               resampling:   2.81129 MB (temporary)

The ensemble array is now shown separately from the state vector array and the transformation (eigenvalue) array U. In addition, the resampling only counts memory that is allocated directly in the ensemble resampling or transformation step.