= 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 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]. The tutorials describe the recommended implementation using this advanved interface, while 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 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.0): [[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 the offline analysis step == 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 PDAF3 interface that was introduced with PDAF V3.0. 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 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 (Observation Module Infrastructure), which enables an effective and structured approach to handle observations. We recommend to use this way to implement observation handling more efficiently. Implementing without PDAFOMI is still possible, and should be considered as an 'expert mode'. Herem 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:ImplementationGuide_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 Overview of PDAF-OMI] * [wiki:WhichFiltertouse Which filter should one use?] * [wiki:AddFilterAlgorithm Adding a filter algorithm to PDAF]