Summary of differences in Versions 1.7 and 1.8 for the implementation with PDAF
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.