..
- Copyright (C) 2008-2014 EDF R&D
+ Copyright (C) 2008-2016 EDF R&D
This file is part of SALOME ADAO module.
Optional and required commands
++++++++++++++++++++++++++++++
+.. index:: single: AlgorithmParameters
.. index:: single: Background
.. index:: single: BackgroundError
.. index:: single: Observation
.. index:: single: Beta
.. index:: single: Kappa
.. index:: single: Reconditioner
-.. index:: single: StoreInternalVariables
.. index:: single: StoreSupplementaryCalculations
The general required commands, available in the editing user interface, are the
:math:`(X,U)`.
The general optional commands, available in the editing user interface, are
-indicated in :ref:`section_ref_assimilation_keywords`. In particular, the
-optional command "*AlgorithmParameters*" allows to choose the specific options,
+indicated in :ref:`section_ref_assimilation_keywords`. Moreover, the parameters
+of the command "*AlgorithmParameters*" allows to choose the specific options,
described hereafter, of the algorithm. See
-:ref:`section_ref_options_AlgorithmParameters` for the good use of this command.
+:ref:`section_ref_options_Algorithm_Parameters` for the good use of this
+command.
The options of the algorithm are the following:
lower/upper bounds for each variable, with extreme values every time there
is no bound (``None`` is not allowed when there is no bound).
+ Example : ``{"Bounds":[[2.,5.],[1.e-2,10.],[-30.,1.e99],[-1.e99,1.e99]]}``
+
ConstrainedBy
- This key allows to define the method to take bounds into account. The
- possible methods are in the following list: ["EstimateProjection"].
+ This key allows to choose the method to take into account the bounds
+ constraints. The only one available is the "EstimateProjection", which
+ projects the current state estimate on the bounds constraints.
+
+ Example : ``{"ConstrainedBy":"EstimateProjection"}``
EstimationOf
This key allows to choose the type of estimation to be performed. It can be
either state-estimation, with a value of "State", or parameter-estimation,
with a value of "Parameters". The default choice is "State".
-
+
+ Example : ``{"EstimationOf":"Parameters"}``
+
Alpha, Beta, Kappa, Reconditioner
These keys are internal scaling parameters. "Alpha" requires a value between
1.e-4 and 1. "Beta" has an optimal value of 2 for Gaussian *a priori*
obtained by setting it to 0. "Reconditioner" requires a value between 1.e-3
and 10, it defaults to 1.
- StoreInternalVariables
- This Boolean key allows to store default internal variables, mainly the
- current state during iterative optimization process. Be careful, this can be
- a numerically costly choice in certain calculation cases. The default is
- "False".
+ Example : ``{"Alpha":1,"Beta":2,"Kappa":0,"Reconditioner":1}``
StoreSupplementaryCalculations
This list indicates the names of the supplementary variables that can be
available at the end of the algorithm. It involves potentially costly
- calculations. The default is a void list, none of these variables being
- calculated and stored by default. The possible names are in the following
- list: ["APosterioriCovariance", "BMA", "Innovation"].
+ calculations or memory consumptions. The default is a void list, none of
+ these variables being calculated and stored by default. The possible names
+ are in the following list: ["APosterioriCorrelations",
+ "APosterioriCovariance", "APosterioriStandardDeviations",
+ "APosterioriVariances", "BMA", "CostFunctionJ", "CurrentState",
+ "Innovation"].
+
+ Example : ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}``
+
+Information and variables available at the end of the algorithm
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+At the output, after executing the algorithm, there are variables and
+information originating from the calculation. The description of
+:ref:`section_ref_output_variables` show the way to obtain them by the method
+named ``get`` of the variable "*ADD*" of the post-processing. The input
+variables, available to the user at the output in order to facilitate the
+writing of post-processing procedures, are described in the
+:ref:`subsection_r_o_v_Inventaire`.
+
+The unconditional outputs of the algorithm are the following:
+
+ Analysis
+ *List of vectors*. Each element is an optimal state :math:`\mathbf{x}*` in
+ optimization or an analysis :math:`\mathbf{x}^a` in data assimilation.
+
+ Example : ``Xa = ADD.get("Analysis")[-1]``
+
+The conditional outputs of the algorithm are the following:
+
+ APosterioriCorrelations
+ *List of matrices*. Each element is an *a posteriori* error correlation
+ matrix of the optimal state.
+
+ Example : ``C = ADD.get("APosterioriCorrelations")[-1]``
+
+ APosterioriCovariance
+ *List of matrices*. Each element is an *a posteriori* error covariance
+ matrix :math:`\mathbf{A}*` of the optimal state.
+
+ Example : ``A = ADD.get("APosterioriCovariance")[-1]``
+
+ APosterioriStandardDeviations
+ *List of matrices*. Each element is an *a posteriori* error standard
+ deviation matrix of the optimal state.
+
+ Example : ``E = ADD.get("APosterioriStandardDeviations")[-1]``
+
+ APosterioriVariances
+ *List of matrices*. Each element is an *a posteriori* error variance matrix
+ of the optimal state.
+
+ Example : ``V = ADD.get("APosterioriVariances")[-1]``
+
+ BMA
+ *List of vectors*. Each element is a vector of difference between the
+ background and the optimal state.
+
+ Example : ``bma = ADD.get("BMA")[-1]``
+
+ CostFunctionJ
+ *List of values*. Each element is a value of the error function :math:`J`.
+
+ Example : ``J = ADD.get("CostFunctionJ")[:]``
+
+ CostFunctionJb
+ *List of values*. Each element is a value of the error function :math:`J^b`,
+ that is of the background difference part.
+
+ Example : ``Jb = ADD.get("CostFunctionJb")[:]``
+
+ CostFunctionJo
+ *List of values*. Each element is a value of the error function :math:`J^o`,
+ that is of the observation difference part.
+
+ Example : ``Jo = ADD.get("CostFunctionJo")[:]``
+
+ CurrentState
+ *List of vectors*. Each element is a usual state vector used during the
+ optimization algorithm procedure.
+
+ Example : ``Xs = ADD.get("CurrentState")[:]``
+
+ Innovation
+ *List of vectors*. Each element is an innovation vector, which is in static
+ the difference between the optimal and the background, and in dynamic the
+ evolution increment.
+
+ Example : ``d = ADD.get("Innovation")[-1]``
See also
++++++++