|   | 1 | = PDAFomi_generate_obs_si =  | 
          
          
            |   | 2 |  | 
          
          
            |   | 3 | This page documents the routine `PDAFomi_generate_obs_si` of PDAF.  | 
          
          
            |   | 4 |  | 
          
          
            |   | 5 | The routine is typically called in `assimilate_pdaf` or directly in the model code. | 
          
          
            |   | 6 |  | 
          
          
            |   | 7 | `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. | 
          
          
            |   | 8 |  | 
          
          
            |   | 9 | This routine is used to generate synthetic observations.  | 
          
          
            |   | 10 |  | 
          
          
            |   | 11 | 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.  | 
          
          
            |   | 12 |  | 
          
          
            |   | 13 | The interface is the following: | 
          
          
            |   | 14 | {{{ | 
          
          
            |   | 15 |   SUBROUTINE PDAFomi_generate_obs_si(status_pdaf) | 
          
          
            |   | 16 | }}} | 
          
          
            |   | 17 | with the following arguments: | 
          
          
            |   | 18 |  * `status_pdaf`: The integer status flag. It is zero, if `PDAFomi_generate_obs_si` is exited without errors. | 
          
          
            |   | 19 |  | 
          
          
            |   | 20 | The routine calls several user-supplied call-back routines. They are described on the page on [ImplementGenerateObs implementing the generation of synthetic observations]. | 
          
          
            |   | 21 |  | 
          
          
            |   | 22 | 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. |