# Offline Mode: Implementation of the analysis step

#### Offline Mode: Implementation Guide

- Main page
- Adaptation of the parallelization
- Initialization of PDAF
- Implementation of the analysis step
- 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.

Generally the required routines are identical for the offline and online mode. Thus, below, we link to the description of the implementation for the online mode. The most relevant difference is that the routine `U_collect_state`

(`collect_state_offline_D.F90`

in the example implementation in `offline_1D/`

) is not executed. The routine has to exist, but functionality is not required!

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
- Implementation of the analysis for the ESTKF
- Implementation of the analysis for the NETF
- Implementation of the analysis for the PF

Filter-specific implementations for local filters:

- Implementation of the analysis for the LSEIK filter
- Implementation of the analysis for the LETKF
- Implementation of the analysis for the LESTKF
- Implementation of the analysis for the LNETF

## 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'.