Changes between Version 54 and Version 55 of ReleaseNotes


Ignore:
Timestamp:
Sep 1, 2025, 8:53:40 AM (25 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseNotes

    v54 v55  
    11= Release notes for PDAF =
    22
    3 
    4 == Version 3.0beta - May 30, 2025 ==
     3== Version 3.0 - September 1, 2025 ==
     4
     5This is a major release and completes Version 3.0 based on the pre-release 3.0beta. This includes all changes of V3.0beta, which are listed further below.
     6
     7The completed release of PDAF V3.0 contains bug-fixes and also some additional features
     8
     9**Major additions**
     10- Separating the initialization of parallelization variables from the initialization of PDAF variables. This allows to simplify the code structure and keep the parallelization variables inside init_parallel_pdaf. There are new routines 'PDAF3_init' and 'PDAF3_set_parallel'. Their use is optional (see https://pdaf.awi.de/trac/wiki/PDAF3_interface):
     11 - 'PDAF3_set_parallel' is called in init_parallel_pdaf to provide the parallelization variables to PDAF.
     12 - 'PDAF3_init' has a shortened interface compared to 'PDAF_init' as it does not include the variables concerning parallelization.
     13- When using exclusively a single MPI-process with the offline mode, it is now possible to use PDAF without calling 'init_parallel_pdaf' or 'PDAF3_set_parallel'. For localized filters one can use the OpenMP parallelization, while the user code does not need any operations of MPI.
     14- Add EnOI-mode, in which only the state estimate is integrated, but the ensemble perturbations are fixed, to EnSRF and EAKF (filtertype=13 with subtype=10 for EnSRF; subtype=11 for EAKF)
     15- Add support for IAU with the EnOI modes (ensemble optimal interpolation in which only the state estimate, but not the ensemble state are integrated; subtypes 10 and 11 available for some filters).
     16- Linked to the above there are the new routines 'PDAF_iau_set_state_pointer' for use in EnOI mode and 'PDAF_iau_set_ens_pointer' (alias for 'PDAF_iau_set_pointer) for use in the regular mode integrating the ensemble.
     17- Add external observation operator routine 'PDAFomi_obs_op_extern'. This observation operator allows to directly provide an observed model state from the ensemble. It can be used, e.g. if the model itself performs the proejection of the observation operator.
     18
     19**Corrections**
     20- Revised the setting of 'dim_lag': In V3.0beta 'dim_lag' had to be set in the call to PDAF_init. Now using PDAF_set_iparam works correctly.
     21- Corrected PDAF_diag_reliability_budget
     22- Correction of template code for the analysis step to use subtype 10 and 11 for the EnOI mode
     23- Corrected SEIK subtype=11 (fixed covariance matrix). It performed identical to subtype=10 (non-dynamic ensemble updated at analysis step).
     24- Corrected subtype=11 of ESTKF/LESTKF/ETKF/LESTKF, which procuded an incorrect analysis ensemble in V3.0beta due to the revision for IAU
     25- Corrected EnKF and LEnKF: The filters stopped when one of the process sub-domain did not hold any observations
     26
     27
     28PDAF V3.0 includes the large set of changes from the pre-release PDAF V3.0beta as described below.
     29
     30----
     31
     32== Previous versions ==
     33
     34=== Version 3.0beta - May 30, 2025 ===
    535
    636This is a major release. The whole PDAF code was revised and modernized. Further, a new universal calling interface for the analysis step  and other new functionality was added.
    737
    8 Important:
     38**Important:**
    9391. We have marked this release as a beta-release mainly because of the large changes in the code. While we have tested this release carefully with different applications, we cannot exclude that there are issues that we didn't find. We like to motivate all users to test PDAF V3.0 and to let us know possible issues (using the Issues-function in Github or by email to pdaf\@awi.de). This will help us to fix such issues so that the final release for PDAF V3.0 can be done in 2-3 months. During this time, we will also finalize the documentation to reflect all changes.
    1040
     
    1545* New features: https://pdaf.awi.de/trac/wiki/PDAF3_new_functionality
    1646
    17 Major changes with effect on backward-compatibility
     47**Major changes with effect on backward-compatibility**
    1848* New general module 'PDAF' replacing the optional module 'PDAF_interfaces_module'. In Fortran code, it is now required to include this module with 'USE PDAF'.
    1949* Change for offline mode: It is no longer possible to specify the offline mode as 'subtype=5'. We have introduced a new interface 'PDAF_assim_offline' for the offline mode, which simplified the implementation.
     
    2555* For information on how to adapt a program for PDAF V3.0, see https://pdaf.awi.de/trac/wiki/PortingToPDAF3
    2656
    27 Major changes and additions (see also https://pdaf.awi.de/trac/wiki/PDAF3_new_functionality):
     57**Major changes and additions** (see also https://pdaf.awi.de/trac/wiki/PDAF3_new_functionality):
    2858* Incremental Analysis Updates (IAU): The previous IAU of PDAF was recoded. Now there is a fully featured IAU implementation.
    2959* Added ENSRF/EAKF: The ensemble square-root filter (ENSRF, Whitaker & Hamill, 2002) and ensemble adjustment filter with local linear regression (EAKF, Anderson, 2003) were added. These filters perform the analysis step through serial processing of individual observations.
     
    4878
    4979
    50 Other changes:
     80**Other changes:**
    5181* The tutorial input files have been regenerated using Python scripts instead of the previous Matlab scripts. This changed their values.
    5282* Changed statistics for locally omitted observations: Now, these are only counted for analysis domains with observations.
     
    5686* Revision of PDAF file headers: It is now possible to use 'Doxygen' to generate a documentation and structure overview of PDAF.
    5787
    58 Bug corrections:
     88**Bug corrections:**
    5989* Corrected a parallel race condition in the LKNETF NHK variant (subtype=0) in case of OpenMP parallelization
    6090* Corrected convergence check for the CG+ solver in the 3D-Var methods in case of parallelized control vector.
     
    6494
    6595
    66 ----
    67 
    68 == Previous versions ==
    6996
    7097== Version 2.3.1 - November 25, 2024 ==