Version 1 (modified by 13 years ago) (diff) | ,
---|
Implementation of the analysis step
This version of the documentation is valid for PDAF until and including V1.7.
The implementation of the analysis step has not changed between versions 1.7 and 1.8. The only differences are that the new ESTKF and LESTKF algorithms have been added. Further, an addition sub type (subtype=4
) of SEIK and LSEIK has been introduced. For the implementation of the analysis steps, please see the current documentation:
Implementation Guide
- Main page
- Adaptation of the parallelization
- Initialization of PDAF
- Modifications for ensemble integration
- Implementation of the analysis step
- Implementation for SEIK
- Implementation for LSEIK
- Implementation for ETKF
- Implementation for LETKF
- Implementation for SEEK
- Implementation for EnKF
- Memory and timing information
The implementation of the analysis step requires that the user-supplied routines whose names are given in the call to the filter-specific put-state routine are implemented with full functionality.
Several of the routines are general and hence usable for all filter algorithms. There are some differences between local (LSEIK and LETKF) and global filters (SEIK, SEEK, EnKF, ETKF). The routines are described in separate pages for each filter algorithm. The general routines will be repeated, but they are marked as general.
Filter-specific implementations for global filters:
- Implementation of the analysis for the SEIK filter
- Implementation of the analysis for the ETKF
- Implementation of the analysis for the SEEK filter
- Implementation of the analysis for the EnKF
Filter-specific implementations for local filters:
Testing the full implementation
After the implementation of the user-supplied routines for the analysis step, the data assimilation system is fully implemented. In order to test the program one has to compile it without setting 'PDAF_NO_UPDATE'.
To speed up the testing it can be useful to comment out the time stepping part. In that case only the model initialization and the assimilation cycle would be executed, without the usually costly time integration of the ensemble. One should then check if all user-supplied routines perform as they should.