|
OOPS
|
An implementation of the GETKF from Lei 2018 JAMES. More...
#include <GETKFSolver.h>


Public Member Functions | |
| GETKFSolver (ObsSpaces_ &, const Geometry_ &, const eckit::Configuration &, size_t, const State4D_ &) | |
| Observations_ | computeHofX (const StateEnsemble4D_ &, size_t, bool) override |
computes ensemble H(xx), returns mean H(xx), saves as hofx iteration More... | |
| void | measurementUpdate (const IncrementEnsemble4D_ &, const GeometryIterator_ &, IncrementEnsemble4D_ &) override |
| entire KF update (computeWeights+applyWeights) for a grid point GeometryIterator_ More... | |
Public Member Functions inherited from oops::LocalEnsembleSolver< MODEL, OBS > | |
| LocalEnsembleSolver (ObsSpaces_ &obspaces, const Geometry_ &geometry, const eckit::Configuration &config, size_t nens, const State4D_ &xbmean) | |
initialize solver with obspaces, geometry, full config and nens ensemble size More... | |
| virtual | ~LocalEnsembleSolver ()=default |
| virtual void | copyLocalIncrement (const IncrementEnsemble4D_ &bg, const GeometryIterator_ &i, IncrementEnsemble4D_ &an) const |
copy an[i] = bg i \a More... | |
| void | computeHofX4D (const eckit::Configuration &, const State4D_ &, Observations_ &) |
| const ObsLocalizations_ & | obsloc () const |
| accessor to obs localizations More... | |
Static Public Member Functions | |
| static const std::string | classname () |
Static Public Member Functions inherited from oops::LocalEnsembleSolver< MODEL, OBS > | |
| static const std::string | classname () |
Private Types | |
| typedef Departures< OBS > | Departures_ |
| typedef DeparturesEnsemble< OBS > | DeparturesEnsemble_ |
| typedef Geometry< MODEL > | Geometry_ |
| typedef GeometryIterator< MODEL > | GeometryIterator_ |
| typedef IncrementEnsemble4D< MODEL > | IncrementEnsemble4D_ |
| typedef ObsEnsemble< OBS > | ObsEnsemble_ |
| typedef Observations< OBS > | Observations_ |
| typedef ObsSpaces< OBS > | ObsSpaces_ |
| typedef State4D< MODEL > | State4D_ |
| typedef StateEnsemble4D< MODEL > | StateEnsemble4D_ |
| typedef VerticalLocEV< MODEL > | VerticalLocEV_ |
Private Member Functions | |
| void | computeWeights (const Eigen::VectorXd &omb, const Eigen::MatrixXd &Yb, const Eigen::MatrixXd &YbOrig, const Eigen::VectorXd &invvarR) |
| void | applyWeights (const IncrementEnsemble4D_ &, IncrementEnsemble4D_ &, const GeometryIterator_ &) |
| Applies weights and adds posterior inflation. More... | |
Private Attributes | |
| LETKFSolverParameters | options_ |
| size_t | nens_ |
| const Geometry_ & | geometry_ |
| VerticalLocEV_ | vertloc_ |
| size_t | neig_ |
| size_t | nanal_ |
| DeparturesEnsemble_ | HZb_ |
| Eigen::MatrixXd | Wa_ |
| Eigen::VectorXd | wa_ |
Additional Inherited Members | |
Protected Attributes inherited from oops::LocalEnsembleSolver< MODEL, OBS > | |
| const Geometry_ & | geometry_ |
| Geometry associated with the updated states. More... | |
| const ObsSpaces_ & | obspaces_ |
| ObsSpaces used in the update. More... | |
| Departures_ | omb_ |
| obs - mean(H(x)); set in computeHofX method More... | |
| DeparturesEnsemble_ | Yb_ |
| std::unique_ptr< ObsErrors_ > | R_ |
| observation errors, set in computeHofX method More... | |
| std::unique_ptr< Departures_ > | invVarR_ |
An implementation of the GETKF from Lei 2018 JAMES.
Lei, L., Whitaker, J. S., & Bishop, C. ( 2018). Improving assimilation of radiance observations by implementing model space localization in an ensemble Kalman filter. Journal of Advances in Modeling Earth Systems, 10, 3221– 3232. https://doi.org/10.1029/2018MS001468
Definition at line 49 of file GETKFSolver.h.
|
private |
Definition at line 50 of file GETKFSolver.h.
|
private |
Definition at line 51 of file GETKFSolver.h.
|
private |
Definition at line 52 of file GETKFSolver.h.
|
private |
Definition at line 53 of file GETKFSolver.h.
|
private |
Definition at line 54 of file GETKFSolver.h.
|
private |
Definition at line 55 of file GETKFSolver.h.
|
private |
Definition at line 56 of file GETKFSolver.h.
|
private |
Definition at line 57 of file GETKFSolver.h.
|
private |
Definition at line 58 of file GETKFSolver.h.
|
private |
Definition at line 59 of file GETKFSolver.h.
|
private |
Definition at line 60 of file GETKFSolver.h.
| oops::GETKFSolver< MODEL, OBS >::GETKFSolver | ( | ObsSpaces_ & | obspaces, |
| const Geometry_ & | geometry, | ||
| const eckit::Configuration & | config, | ||
| size_t | nens, | ||
| const State4D_ & | xbmean | ||
| ) |
Constructor (allocates Wa, wa, HZb_, saves options from the config, computes VerticalLocEV_)
Definition at line 108 of file GETKFSolver.h.

|
private |
Applies weights and adds posterior inflation.
Definition at line 237 of file GETKFSolver.h.

|
inlinestatic |
Definition at line 63 of file GETKFSolver.h.
|
overridevirtual |
computes ensemble H(xx), returns mean H(xx), saves as hofx iteration
Reimplemented from oops::LocalEnsembleSolver< MODEL, OBS >.
Definition at line 146 of file GETKFSolver.h.

|
private |
Computes weights for ensemble update with local observations
| [in] | omb | Observation departures (nlocalobs) |
| [in] | Yb | Ensemble perturbations for all the background memebers (nens*neig, nlocalobs) |
| [in] | YbOrig | Ensemble perturbations for the members to be updated (nens, nlocalobs) |
| [in] | invvarR | Inverse of observation error variances (nlocalobs) |
Definition at line 202 of file GETKFSolver.h.

|
overridevirtual |
entire KF update (computeWeights+applyWeights) for a grid point GeometryIterator_
Implements oops::LocalEnsembleSolver< MODEL, OBS >.
Definition at line 314 of file GETKFSolver.h.

|
private |
Definition at line 94 of file GETKFSolver.h.
|
private |
Definition at line 99 of file GETKFSolver.h.
|
private |
Definition at line 97 of file GETKFSolver.h.
|
private |
Definition at line 96 of file GETKFSolver.h.
|
private |
Definition at line 93 of file GETKFSolver.h.
|
private |
Definition at line 91 of file GETKFSolver.h.
|
private |
Definition at line 95 of file GETKFSolver.h.
|
private |
Definition at line 101 of file GETKFSolver.h.
|
private |
Definition at line 102 of file GETKFSolver.h.