Changes between Version 9 and Version 10 of PDAF_eofcovar


Ignore:
Timestamp:
Jun 1, 2025, 12:03:29 PM (37 hours ago)
Author:
lnerger
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PDAF_eofcovar

    v9 v10  
    33This page documents the routine `PDAF_eofcovar` of PDAF, which was introduced with PDAF V1.12.
    44
    5 This routine performs an EOF analysis by singular value decomposition. It is used to prepare a covariance matrix for initializing an ensemble.  For the decomposition a multivariate scaling can be performed to ensure that all fields in the state vectors have unit variance. The EOF decompostion to store a covariance matrix is a convenient way to prepare an ensemble for the data assimilation. One can store the EOFs (singular vectors) and corresponding values in a file. Finally, when one wants to initialize an ensemble from these EOFs for a data assimilation application, one can use the routine [wiki:PDAF_sampleens `PDAF_sampleens`] that generates an ensemble of a chosen size by second-order exact sampling representing the covariance matrix. The ensmeble size can then be chosen freely, but it is limited to the number of EOFs plus one. Thus, it can be useful to stor emore EOFs than one finally might want to use to have the flexibility to cary the ensemble size.
     5This routine performs an EOF analysis by singular value decomposition. It is used to prepare a covariance matrix for initializing an ensemble (see the [EnsembleGeneration page on ensemble generation]).  For the decomposition a multivariate scaling can be performed to ensure that all fields in the state vectors have unit variance. Using the EOF decompostion to store a covariance matrix is a convenient way to prepare an ensemble for the data assimilation. One can store the EOFs (singular vectors) and corresponding values in a file.
     6
     7Later, when one wants to initialize an ensemble from these EOFs for a data assimilation application, one can use the routine [wiki:PDAF_sampleens `PDAF_sampleens`] that generates an ensemble of a chosen size by second-order exact sampling representing the covariance matrix. The ensemble size can then be chosen freely, but it is limited to the number of EOFs plus one. Thus, it can be useful to store more EOFs than one finally might want to use to have the flexibility to very the ensemble size.
     8
     9The use of the EOF decompositon to generate a covariance matrix with PDAF_eofcovar is exemplified in the Lorenz-96 model example (see models/lorenz96/tools/generate_covar.F90.
     10 
    611
    712The routine is typically called in a separate program to prepare and ensembles based on a trajectory of model states.
     
    3237=== Multivariate normalization (do_mv) ===
    3338
    34 The multivariate normalization computes for each field in the state vector its standard deviation and then normalizes the field variability for the EOF computation so that it is one. Then the singular value decomposition is computed. Finally the fields are re-scaled to their original values. To use the multivariate normalization one has to define the number of different fields in a state vector (`nfields`), the dimension of all fields (`dim_fields`) and the offset of each field from the start of the state vector (`offsets`). The intention of the multivariate normalization is to ensure that all fields have comparable variability and are hence equally represented by all EOFs. Without the normalization a field with particularly small variability might be essentially absent from the leading EOFs.
     39The multivariate normalization computes for each field in the state vector its standard deviation and then normalizes the field variability for the EOF computation so that it is one. Then, the singular value decomposition is computed. Finally, the fields are re-scaled to their original values. To use the multivariate normalization one has to define the number of different fields in a state vector (`nfields`), the dimension of all fields (`dim_fields`) and the offset of each field from the start of the state vector (`offsets`).
    3540
    36 The use of the EOF decompositon to generate a covariance matrix with PDAF_eofcovar is exemplified in the Lorenz-96 model example (see models/lorenz96/tools/generate_covar.F90.
     41The intention of the multivariate normalization is to ensure that all fields have comparable variability and are hence equally represented by all EOFs. Without the normalization a field with particularly small variability might be essentially absent from the leading EOFs.
     42
    3743
    3844=== Mean state computation and subtraction (remove_mstate) ===
     
    4046The option `remove_mstate` allows to tell the routine to compute the mean state of the input states in `states` and to subtract it from this array before computing the EOF decomposition.
    4147
    42 This option allows to let `PDAF_eofcovar` handle the mean-state computation, which is required to compute the EOF decomposition. It is useful for the case that the mean state over all input state has to be computed. If a different mean should be subtracted from the states, the user has to do this before calling `PDAF_eofcovar`. In this case, one set `remove_mstate=0` to avoid a further computation and subtraction of a mean state. This case happens, e.g. if a running mean is subtracted like when the states are snapshots over a model state of the ocean over one year and one wants to remove a running seasonal mean.
     48This option allows to let `PDAF_eofcovar` handle the computation of the mean state, which is required to compute the EOF decomposition. It is useful for the case that the mean state over all input states, i.e. a long-term mean, has to be computed. If a different mean should be subtracted from the states, the user has to do this before calling `PDAF_eofcovar`. In this case, one set `remove_mstate=0` to avoid a further computation and subtraction of a mean state. This case happens, e.g. if a running mean is subtracted like when the states are snapshots over a model state of the ocean over one year and one wants to remove a running seasonal mean.