= 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. 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.