Changes between Version 1 and Version 2 of EnsembleGeneration

Dec 17, 2016, 8:49:26 PM (4 years ago)



  • EnsembleGeneration

    v1 v2  
    11= Ensemble Generation =
     3== Overview ==
    35To start ensemble-based data assimilation one has to generate an ensemble of model states that represents both the state estimate (provided by the ensemble mean state) and the uncertainty of the state estimate, given by the ensemble spread. In case of ensemble Kalman filters, the uncertainty is estimate by the sample covariance matrix of the ensemble, i.e. the covariance matrix of the deviations of the ensemble states from the ensemble mean state.
    1012The described sampling method is efficient because it uses the long time variability of the model dynamics to estimate the uncertainty. The trajectory and hence the full set of singular vectors hold the full information on the variability. If a large number of singular vectors is stored in step 2 into a file, one can freely choose the ensemble size up to '''r+1'''. Using the leading EOFs provides a systematic approximation of the model variability. Thus, a small ensemble will contain the leading patterns of model variability, which have the largest amplitudes. Increasing the ensemble will systematically add finer patterns.
     14== Ensemble generation with PDAF ==
     16In order to simplify the ensemble generation with second-order exact sampling, PDAF provides two routines:
     18=== PDAF_eofcovar ===
     20For step 2, the routine [wiki:PDAF_eofcovar PDAF_eofcovar] helps to compute the singular value decomposition. For this task, one provides the routine with the matrix holding the model snapshots. One can also let the routine compute the temporal mean state, or one can compute and subtract the mean state before (this is particularly useful if one does not want to subtract the mean state over the full model trajectory). The routine computes the singular values decomposition and returns the singular vectors and values.
     22Using `PDAF_eofcovar`, one has to read in the trajectory. Then one calls the routine, and finally one stores the singular vectors and values into a file. This procedure is demonstrated for the Lorenz-96 model in `testsuite/src/lorenz96/tools/generate_covar.F90`.
     24For the documentation of the calling interface of `PDAF_eofcovar` see [wiki:PDAF_eofcovar the detail page about the routine].
     26=== PDAF_sampleens.