| 109 | | I |
| | 109 | |
| | 110 | == Implementing your own observation operator == |
| | 111 | |
| | 112 | The current set of observation operators provided by PDAF-OMI is rather fundamental. However, there are also observation types which are not variables of state vector, but functions of several values. Likewise one might want to use a more sophisticated interpolation than the linear one or some interpolation that treats the horizontal and vertical directions separately. For these cases you can implement you own operators. |
| | 113 | |
| | 114 | The PDAF-package provides a template to implement new observation operators in `templates/omi/obs_op_pdafomi_TEMPLATE.F90`. |
| | 115 | |
| | 116 | Each observation operator include the following functionality: |
| | 117 | - Check whether `thisobs%doassim==1`, which indicates that the observation is assimilated |
| | 118 | - initialize the observation vector `ostate_p` for the observation TYPE for which the routine is called. For a parallel model this is done for for the process-local domain (for a model without parallelization this is the global domain) |
| | 119 | - Call `PDAFomi_gather_obsstate` to gather the full observation vector `obs_f_all`. This call is mandatory even if theh model is not parallelized. |
| | 120 | |
| | 121 | |