Changes between Version 1 and Version 2 of ImplementGenerateObs_PDAF3
- Timestamp:
- Jun 2, 2025, 7:49:32 AM (2 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ImplementGenerateObs_PDAF3
v1 v2 3 3 [[PageOutline(2-3,Contents of this page)]] 4 4 5 ||This page describes the implementation for PDAF2. It will be updated for PDAF3. || 6 7 The observation generation functionality was added with Version 1.14 of PDAF. Here we describe the implementation using PDAF-OMI that was introduced with PDAF version 1.16. (The older implementation variant is documented on the page on [wiki:ImplementGenerateObs_noOMI Implementation of Observation Generation without OMI].) 5 ||This page describes the implementation for PDAF3. The [wiki:ImplementGenerateObs_PDAF23 documentation for PDAF2] is still available. || 8 6 9 7 == Overview == 10 8 11 Twin data assimilation experiments are a common approach to assess data assimilation methods. In twin experiments one uses the model to generate a ''true'' model state. Further one generates synthetic observations by adding random perturbations to the true state. The, in the actual twin experiment one starts the data assimilation with a state estimate that is different from the true state and assimilates the synthetic observations. One can analyze the assimilation result by comparing the state estimate from the twin experiment with the previously generated true state.9 Twin data assimilation experiments are a common approach to assess data assimilation methods. In twin experiments one uses the model to generate a ''true'' model state. Further, one generates synthetic observations by adding random perturbations to the true state. Then, in the actual twin experiment one starts the data assimilation with a state estimate that is different from the true state and assimilates the synthetic observations. One can analyze the assimilation result by comparing the state estimate from the twin experiment with the previously generated true state. One can also further modify the model or the observations to simulate deficiencies in real systems. 12 10 13 Starting with version 1.14, PDAF provides functionality to generate synthetic observations. The functionality bases on the normal implementation of the assimilation used with PDAF. However, one can run the observation generation with an ensemble of just one member, which should be initialized with the initial true state. PDAF provides the routines `PDAFomi_generate_obs` and `PDAFomi_put_state_generate_obs` to perform the observation generation. These routines use the observation operator routines which the user implements e.g. for assimilating real observations. 11 PDAF provides functionality to generate synthetic observations. The functionality bases on the usual implementation of the assimilation used with PDAF's oneline coupled mode. However, one can run the observation generation with an ensemble of just one member, which should be initialized with the initial true state. PDAF provides the routines `PDAF3_generate_obs` and `PDAF3_put_state_generate_obs` to generate the observations. These routines use the observation operator routines which the user also implements for assimilating real observations. Thus, one can use characterstics of real observations to generate the synthetic observations. 14 12 15 Here we describes the steps need to generate synthetic obsrvations.13 Here we describes the steps needed to generate synthetic obsrvations. 16 14 17 15 == Initialization == 18 16 19 The implementation of the initialization of PDAF is explained on the [wiki InitPdafpage on `init_pdaf` and `PDAF_init`].17 The implementation of the initialization of PDAF is explained on the [wiki:OnlineInitPdaf_PDAF3 page on `init_pdaf` and `PDAF_init`]. 20 18 21 For the observation generation one just has to set `filtertype = 11`.19 For the observation generation one just has to set `filtertype = PDAF_DA_GENOBS` or `filtertype = 100`. 22 20 23 There are no particular options for the observation generation functionality. So for `filter_param_i` one just has to specify the mandatory values of the state dimension and the ensemble size. For `filter_param_r` one has to specify the mandatory values of the forgetting factor (even though, this value is ignored for the observation generation)21 There are no particular options for the observation generation functionality. So, using the common names in the tutorial and template codes, for `filter_param_i` one just has to specify the mandatory values of the state dimension and the ensemble size. For `filter_param_r` one has to specify the mandatory values of the forgetting factor (even though, this value is ignored for the observation generation). An overview of the options can be optained by runnign the program with `subtype=-1`. The options are also listed on the [wiki:AvailableOptionsforInitPDAF#ObservationGeneration page on available options]. 24 22 25 23 == Observation Generation Step ==