Changes between Version 47 and Version 48 of ReleaseNotes

Feb 21, 2023, 3:34:03 PM (7 months ago)



  • ReleaseNotes

    v47 v48  
    11= Release notes for PDAF =
    5 == Version 2.0 - December 17, 2021 ==
     3== Version 2.1 - February 21, 2023 ==
     5Note on change influencing the compatibility with previous versions of PDAF
     6- We moved the memory output option in PDAF_print_info from value 2 to 10 to avoid mixing timing and memory outputs
     9Major additions:
     11- Added the hybrid Kalman-Nonlinear Ensemble Transform Filter (LKNETF), see L. Nerger (2022) Data assimilation for nonlinear systems with a hybrid nonlinear-Kalman ensemble transform filter. Q. J. Meteorol. Soc., 148, 620-640 doi:10.1002/qj.4221
     12- Added debug outputs for PDAF. Using the routine PDAF_set_debug_flag one can activate debug output printed by the PDAF code routines. This should help to find issues in the user-supplied call-back routines when implementing PDAF with some model or extending an implementation. The debug option is described at
     15- Added output option for globally allocated memory. This can be printed by calling PDAF_print_info(11)
     16- Modes output option for process-local allocated memory from PDAF_print_info(2) to PDAF_print_info(10)
     17- Added option for NETF and LNETF to add random noise perturbations to the analysis ensemble analogous to the PF
     18- Extend available configuration parameters for 3D-Var methods. Now parameters controlling the solver methods can be chosen
     19- Change of behavior for NETF/LNETF/PF in the case that all weights are zero. Now, the weights are reset to 1/ensemble size and a warning is shown (before PDAF exited with an error message)
     20- Add tutorial models without PDAF to allow users perform the implementation themselves following the tutorial description.
     22Code revisions:
     23- Renamed the localization variables in example codes from local_range to cradius (c='cut-off’) and srange to sradius (s=‘support’)
     24- Changed time stepping code of Lorenz model cases to avoid creation of temporary array by the compiler
     26Bug corrections (the bugs concern rather unusual use cases, so most users wil not encounter these)
     27- Correction of NETF and PF for the case when running with parallelization: For each process domain, only the domain-local observations were assimilated
     28- PDAF-OMI related:
     29 - Correction in Lorenz96 with OMI: In obs_gp_pdafomi.F90 an incorrect observation dimension was used in call to PDAFomi_gather_obs if incomplete observations are used.
     30 - Correction using global filters with PDAF-OMI and running with parallelization: The program could get stuck if there were observations available but a process domain exists without observations (dim_obs_p=0).
     31 - Correction of likelihood computation in the global NETF and the PF for multiple observations types when using OMI. Here, the distinction between the total number of observations and the number of observations per observation type was missing
     32 - Correction of EnKF/LEnKF with OMI running with parallelization: For the case that for a process domain dim_obs_p=0, but globally dim_obs_g>0 the array thisobs%ivar_obs_f was allocated with incorrect size
     37== Previous versions ==
     39=== Version 2.0 - December 17, 2021 ===
    741Note on signifcant changes influencing the compatibility with previous versions of PDAF
    3973  * For compatibility with the Cray compiler, all .mod files of the PDAF library are copied to /include
    4074  * resolved issue of gfortran-10 complaining about argument mismatch by 'USE mpi'
    42 ----
    44 == Previous versions ==