Changes between Version 294 and Version 295 of LnDevel


Ignore:
Timestamp:
May 29, 2025, 3:42:51 PM (3 days ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • LnDevel

    v294 v295  
    185185* New interface for offline coupled assimilation: With the new routines `PDAF_assim_offline_X` the offline mode is now clearly separated from the online coupling. (see tutorial or implementation guide)
    186186* Simplification for initializing the ensemble forecasting using the new routine `PDAF_init_forecast` as simpler alternative to `PDAF_get_state`.
    187 * Revision for initializing of observations inside PDAF: Observations are now initialized before the actual analysis step is computed. Also, the observation operator is called before the actual analysis step. This change allows for the option to initialize observations before prepoststep_pdaf is called for the forecast ensemble. Related to this, the screen output for the observations was revised and is now displayed in a different location.
    188 * New PDAF3 interface: The selection of possible calls to PDAF*_put_state and PDAF*_assimilate has grown over the years because new functionality, particularly PDAF-OMI and PDAFlocal, has required a new interfaces. We defined a new standard interface in which a single routine (`PDAF3_assimilate`) can execute all available ensemble filter methods for the case of a diagonal observation error covariance matrix. The routine leverages the latest features that were introduced in previous PDAF releases to allow for a minimum number of arguments. There is also the routine PDAF3_assim_offline for the offline mode.
     187* Revision for initializing of observations inside PDAF: Observations are now initialized before the actual analysis step is computed. Also, the observation operator is called before the actual analysis step. This change allows for the option to initialize observations before `prepoststep_pdaf` is called for the forecast ensemble. Related to this, the screen output for the observations was revised and is now displayed in a different location.
     188* New PDAF3 interface: The selection of possible calls to PDAF*_put_state and PDAF*_assimilate has grown over the years because new functionality, particularly PDAF-OMI and PDAFlocal, has required a new interfaces. We defined a new standard interface in which a single routine (`PDAF3_assimilate`) can execute all available ensemble filter methods for the case of a diagonal observation error covariance matrix. The routine leverages the latest features that were introduced in previous PDAF releases to allow for a minimum number of arguments. There is also the routine `PDAF3_assim_offline` for the offline mode.
    189189* Change for flexible parallelization variant: It is now possible to use PDAF3_assimilate (or any other 'assimilate' routine) for the flexible parallelization, while PDAF_put_state routines had to be called before. Since PDAF_assimilate is called at each time step during the forecast phase this allows easy use of the IAU functionality. This change also reduces teh required code changes for the flexible parallelization variant.
    190190* New routine `PDAF_get_fcst_info`: This routine allows to retrieve the return values of PDAF_get_state (nsteps, time, doexit) for the case that PDAF_assimilate routines, which do not return these values, are used. This is used in the revised flexible parallelization variant.
    191 * New routine `PDAFomi_set_localize_covar`: This routine can be called in the OMI observation module in init_dim_obs_pdafomi. It sets the information for localization in the LEnKF and ENSRF/EAKF methods and simplifies the code compared to using localize_covar_pdafomi in PDAF2. (Using localize_covar_pdafomi is still possible)
     191* New routine `PDAFomi_set_localize_covar`: This routine can be called in the OMI observation modules in init_dim_obs_OBSTYPE. It sets the information for localization in the LEnKF and ENSRF/EAKF methods and simplifies the code compared to using localize_covar_pdafomi in PDAF2. (Using localize_covar_pdafomi is still possible)
    192192* Calling LEnKF with the universal routine PDAF3_assimilate: In PDAF 2.3.1 and before, the LEnKF had its own interface due to the additional call-back routine localize_covar_pdafomi required by this filter. With the new routine `PDAFomi_set_localize_covar`, the additional routine is no longer required and the LEnKF can be used with the unversal interface routine.
    193193* New routine `PDAF_set_seedset`: This routine can be used to seed the random number seed for PDAF's random number generating routine.
     
    196196* Added Fortran function `PDAF_localfilter` as an alternative to subroutine `PDAF_get_localfilter` to make the code more compact
    197197* Added Fortran function `PDAF_local_type` and subroutine `PDAF_get_local_type`. These return information which of the different localization variants is used by a DA method (no localization, local analysis, covariance localization, covariance localization with serial observation processing)
    198 * The screen output for the configration overview of the DA method was revised and provides now a complete overview
     198* The screen output for the configuration overview of the DA method was revised and provides now a complete overview
    199199* The new module `PDAF` now also includes the routines from 'PDAFomi' and 'PDAFlocal'. Thus, one only needs to use-include 'PDAF' and no longer needs to distinguish the modules.
    200200
    201201
    202202Other changes:
    203 * The tutoral input files have been regenerated using Python scripts instead of the previous Matlab scripts. This changed their values.
     203* The tutorial input files have been regenerated using Python scripts instead of the previous Matlab scripts. This changed their values.
    204204* Changed statistics for locally omitted observations: Now, these are only counted for analysis domains with observations.
    205205* Added information output on allocated memory in PDAF-OMI