= PDAFomi_generate_obs_si = This page documents the routine `PDAFomi_generate_obs_si` of PDAF. The routine is typically called in `assimilate_pdaf` or directly in the model code. `PDAFomi_generate_obs` is the variant of [wiki:PDAFomi_generate_obs PDAFomi_generate_obs] with the [PdafSimplifiedInterface simplified interface]. The difference between both routines is that in the simplified interface the names of the call-back subroutines are not specified. Instead the routine assumes that the call-back routines have a standard name as specified at the end of this page. This routine is used to generate synthetic observations. The routine bases on the usual implementation strategy for PDAF which is described on the page [ModifyModelforEnsembleIntegration Modification of the model code for the ensemble integration] and its sub-page on [InsertAnalysisStep inserting the analysis step]. The routine is used in the fully-parallel implementation variant of the data assimilation system. When the 'flexible' implementation variant, the routine `PDAFomi_put_state_generate_obs' is used. The interface is the following: {{{ SUBROUTINE PDAFomi_generate_obs_si(status_pdaf) }}} with the following arguments: * `status_pdaf`: The integer status flag. It is zero, if `PDAFomi_generate_obs_si` is exited without errors. The routine calls several user-supplied call-back routines. They are described on the page on [ImplementGenerateObs implementing the generation of synthetic observations]. It is recommended that the value of `status_pdaf` is checked in the program after `PDAFomi_generate_obs_si` is executed. Only if its value is 0 the initialization was successful.