= Implementation Tutorials = || This page provides the PDAF tutorials for PDAF3. This is the recommended implementation. The tutorials for the previous PDAF2 implementation variants are provided on the [wiki:PdafTutorial_PDAF23 Page on Implementation Tutorials for PDAF2]. || == The tutorial model == The tutorial implementation uses a simple 2-dimensional model domain with a single model field. * [http://pdaf.awi.de/files/pdaf_tutorial_the_model.pdf PDAF Tutorial: The tutorial model: non-parallel and parallel versions] (PDF)[[BR]] == Implementing the offline analysis step with PDAF == In the offline mode of PDAF one uses separate programs for the model and the data assimilation. The implementation is done from the templates provided in ''/templates/offline'' of the source code package. The tutorial describes the implementation using the [wiki:PDAF3_interface universal PDAF3 interface] that was introduced with PDAF V3.0. The described features are supported from PDAF 3.1. A step-by-step description of the required implementation steps is provided by the following slide set: [[BR]] * [http://pdaf.awi.de/files/pdaf_tutorial_offline.pdf PDAF Tutorial: Implementation of the analysis step in offline mode] (PDF) == Implementing the online mode of PDAF == In the online mode of PDAF one couples PDAF to a model into a single assimilation program. With version 3.0 we introduced the [wiki:PDAF3_interface universal PDAF3 interface], which we recommend to use. The tutorials describe the recommended implementation using the [wiki:PDAF3_interface universal PDAF3 interface] that was with PDAF V3.0. Tutorials describing the implementation using PDAF's more complex full interface are provided further below. The implementation is done from the templates provided in ''/templates/online'' of the source code package. Two implementations are demonstrated: The case that the model itself is not parallelized and the case that the model is parallelized (i.e. if the field is decomposed over several processes). Step-by-step descriptions of the required implementation steps are provided by the following slide sets (the described features are supported from PDAF 3.1): [[BR]] * [http://pdaf.awi.de/files/pdaf_tutorial_onlineserial.pdf PDAF Tutorial: Implementation of the assimilation system with a model that is not parallelized] (PDF)[[BR]] * [http://pdaf.awi.de/files/pdaf_tutorial_onlineparallel.pdf PDAF Tutorial: Implementation of the assimilation system with a parallelized model] (PDF)[[BR]] == Implementing 3D-Var == Templates for the implementation of 3D variational methods are provided in /templates/3dvar of the course package. Tutorial codes are in /tutorial/3dvar. The tutorial explains the particularities for the implementation of the 3D-Var methods:[[BR]] * [http://pdaf.awi.de/files/pdaf_tutorial_3dvar.pdf PDAF Tutorial: Implementation of the analysis step for 3D-Var] (PDF) == Implementing without using PDAF-OMI == The PDAF3 interface uses PDAF-OMI ([wiki:PDAF_OMI_Overview_PDAF3 Observation Module Infrastructure]), which provides an effective and structured approach to handle observations. We recommend to use the PDAF3 interface to implement observation handling more efficiently. Implementing without PDAF-OMI is still possible, and should be considered as an 'expert mode'. Here, we provide the tutorial slides for this case: Step-by-step descriptions of the required implementation steps are provided by the following slide sets (the described features are supported from PDAF V3.0): [[BR]] Online mode:[[br]] * [http://pdaf.awi.de/files/pdaf_tutorial_onlineserial_fullInterface.pdf PDAF Tutorial: Implementation of the assimilation system without OMI with a model that is not parallelized] (PDF)[[BR]] * [http://pdaf.awi.de/files/pdaf_tutorial_onlineparallel_fullInterface.pdf PDAF Tutorial: Implementation of the assimilation system without OMI with a parallelized model] (PDF)[[BR]] Offline mode:[[br]] * [http://pdaf.awi.de/files/pdaf_tutorial_offline_fullInterface.pdf PDAF Tutorial: Implementation of the analysis step in offline mode without OMI] (PDF) == Full documentation == For the online implementation guide and full documentation on the use of PDAF visit:[[BR]] * [wiki:OnlineImplementationGuide_PDAF3 Implementation Guide for the online assimilation system] * [wiki:OfflineImplementationGuide_PDAF3 Implementation Guide for the offline assimilation program] * [wiki:ImplementationofAnalysisStep_PDAF3 Implementing the analysis step]: * [wiki:ImplementFilterAnalysisOverviewPDAF3 Overview on implementing the analysis for ensemble filters] * [wiki:Implement3DVarAnalysisOverviewPDAF3 Overview on implementing the analysis step for 3D-Var methods] * [wiki:AvailableOptionsforInitPDAF Overview of filter-specific options] * [wiki:PDAF_OMI_Overview_PDAF3 Overview of PDAF-OMI] * [wiki:WhichFiltertouse Which filter should one use?] * [wiki:AddFilterAlgorithm_PDAF3 Adding a filter algorithm to PDAF]