13.17. Liste des commandes et mots-clés pour un cas d’assimilation de données ou d’optimisation¶
On résume ici l’ensemble des commandes et des mots-clés disponibles pour décrire un cas de calcul en évitant les particularités de chaque algorithme. C’est donc un inventaire commun des commandes.
Le jeu de commandes pour un cas d’assimilation de données ou d’optimisation est lié à la description d’un cas de calcul, qui est une procédure en Assimilation de Données (désignée en interface graphique par la commande « ASSIMILATION_STUDY »), en Méthodes avec Réduction (désignée en interface graphique par la commande « REDUCTION_STUDY ») ou en méthodes Optimisation (désignée en interface graphique par la commande « OPTIMIZATION_STUDY »).
Tous les termes possibles, imbriqués ou non, sont classés par ordre alphabétique. Ils ne sont pas obligatoirement requis pour tous les algorithmes. Les commandes ou mots-clés disponibles sont les suivants:
- AlgorithmParameters
Dictionnaire. La variable définit l’algorithme d’assimilation de données ou d’optimisation choisi par le mot-clé « Algorithm », et ses éventuels paramètres optionnels. Les choix potentiels par ce mot-clé « Algorithm » sont disponibles à travers l’interface graphique ou dans la documentation de référence contenant une sous-section spécifique pour chacun d’eux. Il existe par exemple le « 3DVAR », le « Blue », etc. De manière facultative, la commande permet aussi d’ajouter des paramètres pour contrôler l’algorithme choisi. Leurs valeurs sont définies explicitement ou dans un objet de type « Dict ». On se reportera à la Description des options d’un algorithme par « AlgorithmParameters » pour l’usage détaillé de cette partie de la commande.
- ASSIMILATION_STUDY
Commande obligatoire. C’est la commande générale qui décrit un cas utilisant des méthodes d’assimilation de données. Dans l’interface graphique, elle contient hiérarchiquement toutes les autres commandes.
- Background
Vecteur. La variable désigne le vecteur d’ébauche ou d’initialisation, usuellement noté . Sa valeur est définie comme un objet de type « Vector » ou « VectorSerie ». Sa disponibilité en sortie est conditionnée par le booléen « Stored » associé en entrée.
- BackgroundError
Matrice. La variable désigne la matrice de covariance des erreurs d’ébauche, usuellement notée . Sa valeur est définie comme un objet de type « Matrix », de type « ScalarSparseMatrix », ou de type « DiagonalSparseMatrix », comme décrit en détail dans la section Conditions requises pour décrire des matrices de covariance. Sa disponibilité en sortie est conditionnée par le booléen « Stored » associé en entrée.
- ControlInput
Vecteur. La variable indique le vecteur de contrôle utilisé pour forcer le modèle d’évolution à chaque pas, usuellement noté . Sa valeur est définie comme un objet de type « Vector » ou « VectorSerie ». Lorsqu’il n’y a pas de contrôle, sa valeur doit être une chaîne vide “”.
- Debug
Valeur booléenne. La variable définit le niveau de sorties et d’informations intermédiaires de débogage. Les choix sont limités entre 0 (pour False) et 1 (pour True).
Exemple :
{"Debug":False}
- EvolutionError
Matrice. La variable désigne la matrice de covariance des erreurs a priori d’évolution, usuellement notée . Sa valeur est définie comme un objet de type « Matrix », de type « ScalarSparseMatrix », ou de type « DiagonalSparseMatrix », comme décrit en détail dans la section Conditions requises pour décrire des matrices de covariance. Sa disponibilité en sortie est conditionnée par le booléen « Stored » associé en entrée.
- EvolutionModel
Opérateur. La variable désigne l’opérateur d’évolution du modèle, usuellement noté , qui décrit un pas élémentaire d’évolution dynamique ou itérative. Sa valeur est définie comme un objet de type « Function » ou de type « Matrix ». Dans le cas du type « Function », différentes formes fonctionnelles peuvent être utilisées, comme décrit dans la section Conditions requises pour les fonctions décrivant un opérateur. Si un contrôle est inclus dans le modèle d’observation, l’opérateur doit être appliqué à une paire .
- ExecuteInContainer
Chaîne de caractères. Cette variable permet de choisir le mode d’exécution dans YACS en container spécifique. En son absence ou si sa valeur est « No », il n’est pas utilisé de container séparé pour l’exécution et elle se déroule dans le processus principal de YACS. Si sa valeur est « Mono », un container YACS spécifique est créé et il est utilisé pour héberger l’exécution de tous les noeuds dans un même processus. Si sa valeur est « Multi », un container YACS spécifique est créé et il est utilisé pour héberger l’exécution de chaque noeud dans un processus spécifique. La valeur par défaut est « No », et les choix possibles sont « No », « Mono » et « Multi ».
Avertissement
Dans sa présente version, cette commande est expérimentale, et reste donc susceptible de changements dans les prochaines versions.
- InputVariables
Commande optionnelle. La variable permet d’indiquer le nom et la taille des variables physiques qui sont rassemblées dans le vecteur d’état. Cette information est destinée à être utilisée dans le traitement algorithmique interne des données.
- Observation
Liste de vecteurs. La variable désigne le vecteur d’observation utilisé en assimilation de données ou en optimisation, et usuellement noté . Sa valeur est définie comme un objet de type « Vector » si c’est une unique observation (temporelle ou pas) ou « VectorSerie » si c’est une succession d’observations. Sa disponibilité en sortie est conditionnée par le booléen « Stored » associé en entrée.
- ObservationError
Matrice. La variable désigne la matrice de covariance des erreurs a priori d’ébauche, usuellement notée . Cette matrice est définie comme un objet de type « Matrix », de type « ScalarSparseMatrix », ou de type « DiagonalSparseMatrix », comme décrit en détail dans la section Conditions requises pour décrire des matrices de covariance. Sa disponibilité en sortie est conditionnée par le booléen « Stored » associé en entrée.
- ObservationOperator
Opérateur. La variable désigne l’opérateur d’observation, usuellement noté , qui transforme les paramètres d’entrée en résultats qui sont à comparer aux observations . Sa valeur est définie comme un objet de type « Function » ou de type « Matrix ». Dans le cas du type « Function », différentes formes fonctionnelles peuvent être utilisées, comme décrit dans la section Conditions requises pour les fonctions décrivant un opérateur. Si un contrôle est inclus dans le modèle d’observation, l’opérateur doit être appliqué à une paire .
- Observers
Liste de fonctions liées à des variables. La variable permet de définir des observateurs internes, qui sont des fonctions liées à une variable particulière d’algorithme, qui sont exécutées chaque fois que cette variable est modifiée. C’est une manière pratique de suivre des variables d’intérêt durant le processus d’assimilation de données ou d’optimisation, en l’affichant ou en la traçant, etc. Des exemples courants (squelettes ou « templates ») sont fournis pour aider l’utilisateur ou pour faciliter l’élaboration d’un cas.
- OPTIMIZATION_STUDY
Commande obligatoire. C’est la commande générale qui décrit un cas utilisant des méthodes d’optimisation. Dans l’interface graphique, elle contient hiérarchiquement toutes les autres commandes.
- OutputVariables
Commande optionnelle. La variable permet d’indiquer le nom et la taille des variables physiques qui sont rassemblées dans le vecteur d’observation. Cette information est destinée à être utilisée dans le traitement algorithmique interne des données.
- REDUCTION_STUDY
Commande obligatoire. C’est la commande générale qui décrit un cas utilisant des méthodes contenant de la réduction. Dans l’interface graphique, elle contient hiérarchiquement toutes les autres commandes.
- StudyName
Chaîne de caractères. La variable est une chaîne de caractères quelconque pour identifier ou décrire l’étude ADAO par un nom ou une déclaration.
- StudyRepertory
Chaîne de caractères. Si il existe, le répertoire désigné par cette chaîne de caractères est utilisé comme base pour les calculs, et il est aussi utilisé pour trouver les fichiers de script qui sont définis par nom sans répertoire, qui peuvent définir certaines variables.
- UserDataInit
Nom de script. La variable permet d’initialiser certains paramètres ou certaines données automatiquement avant le traitement de données d’entrée pour l’assimilation de données ou l’optimisation. Pour cela, elle indique un nom de fichier de script à exécuter avant d’entrer dans l’initialisation des variables choisies.
- UserPostAnalysis
Chaîne de caractères multi-lignes. La variable permet de traiter des paramètres ou des résultats après le déroulement de l’algorithme d’assimilation de données ou d’optimisation. Sa valeur est définie soit par un nom de patron prédéfini, soit par nom de un fichier script, soit par une chaîne de caractères, permettant de produire directement du code de post-processing dans un cas ADAO. Des exemples courants (squelettes ou « templates ») sont fournis pour aider l’utilisateur ou pour faciliter l’élaboration d’un cas. On se reportera à la description des Conditions requises pour décrire un post-traitement dédié après calcul ADAO pour avoir la liste des modèles et leur format. Remarque importante : ce traitement n’est exécuté que lorsque le cas est exécuté en TUI ou exporté en YACS.