From 13a26999b6efc1210a89210f410dbba635f03bc9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Ribes?= Date: Thu, 15 Jul 2010 15:19:30 +0200 Subject: [PATCH] =?utf8?q?Fin=20de=20la=20mise=20=C3=A0=20jour=20de=20la?= =?utf8?q?=20g=C3=A9n=C3=A9ration=20du=20catalogue=20Eficas?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bin/AdaoCalatogGenerator.py | 2 +- src/daEficas/generator_adao.py | 49 ++++++++++++++++++++++++++++------ 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/bin/AdaoCalatogGenerator.py b/bin/AdaoCalatogGenerator.py index 450e8c2..797dc0c 100644 --- a/bin/AdaoCalatogGenerator.py +++ b/bin/AdaoCalatogGenerator.py @@ -92,7 +92,7 @@ def F_InitChoice() : return ("Background", ) def F_Init(statut) : return FACT(statut = statut, INIT_FILE = SIMP(statut = "o", typ = "Fichier"), - TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2), NoRepeat())), + TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2))), ) """ assim_data_method = """ diff --git a/src/daEficas/generator_adao.py b/src/daEficas/generator_adao.py index 0826a7d..218e774 100644 --- a/src/daEficas/generator_adao.py +++ b/src/daEficas/generator_adao.py @@ -76,7 +76,7 @@ class AdaoGenerator(PythonGenerator): self.text_da += "#-*-coding:iso-8859-1-*- \n" self.text_da += "study_config = {} \n" self.text_da += "study_config[\"Name\"] = \"" + self.dictMCVal["__ASSIM_STUDY__STUDY_NAME"] + "\"\n" - + if self.dictMCVal["ALGORITHM_NAME"] != "ThreeDVAR": self.text_da += "study_config[\"Algorithm\"] = \"" + self.dictMCVal["ALGORITHM_NAME"] + "\"\n" else: @@ -90,7 +90,9 @@ class AdaoGenerator(PythonGenerator): self.add_data("ObservationOperator") # Optionnel + self.add_data("AlgorithmParameters") self.add_analysis() + self.add_init() def add_data(self, data_name): search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__" @@ -144,22 +146,35 @@ class AdaoGenerator(PythonGenerator): self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n" return 1 + # Data is a Dict + search_dict = back_search_text + "Dict" + if search_dict + "__FROM" in self.dictMCVal: + back_from = self.dictMCVal[search_dict + "__FROM"] + back_data = self.dictMCVal[search_dict + "__SCRIPT_DATA__SCRIPT_FILE"] + + self.text_da += data_name + "_config = {} \n" + self.text_da += data_name + "_config[\"Type\"] = \"Dict\" \n" + self.text_da += data_name + "_config[\"From\"] = \"" + back_from + "\" \n" + self.text_da += data_name + "_config[\"Data\"] = \"" + back_data + "\" \n" + self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n" + return 1 + # Data is a FunctionDict search_function = back_search_text + "Function" if search_function + "__FROM" in self.dictMCVal: back_from = self.dictMCVal[search_function + "__FROM"] back_data = self.dictMCVal[search_function + "__FUNCTIONDICT_DATA__FUNCTIONDICT_FILE"] - self.text_da += "FunctionDict = {} \n" - self.text_da += "FunctionDict[\"Function\"] = [\"Direct\", \"Tangent\", \"Adjoint\"] \n" - self.text_da += "FunctionDict[\"Script\"] = {} \n" - self.text_da += "FunctionDict[\"Script\"][\"Direct\"] = \"" + back_data + "\" \n" - self.text_da += "FunctionDict[\"Script\"][\"Tangent\"] = \"" + back_data + "\" \n" - self.text_da += "FunctionDict[\"Script\"][\"Adjoint\"] = \"" + back_data + "\" \n" + self.text_da += data_name + "_FunctionDict = {} \n" + self.text_da += data_name + "_FunctionDict[\"Function\"] = [\"Direct\", \"Tangent\", \"Adjoint\"] \n" + self.text_da += data_name + "_FunctionDict[\"Script\"] = {} \n" + self.text_da += data_name + "_FunctionDict[\"Script\"][\"Direct\"] = \"" + back_data + "\" \n" + self.text_da += data_name + "_FunctionDict[\"Script\"][\"Tangent\"] = \"" + back_data + "\" \n" + self.text_da += data_name + "_FunctionDict[\"Script\"][\"Adjoint\"] = \"" + back_data + "\" \n" self.text_da += data_name + "_config = {} \n" self.text_da += data_name + "_config[\"Type\"] = \"Function\" \n" self.text_da += data_name + "_config[\"From\"] = \"FunctionDict\" \n" - self.text_da += data_name + "_config[\"Data\"] = FunctionDict \n" + self.text_da += data_name + "_config[\"Data\"] = " + data_name + "_FunctionDict \n" self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n" return 1 @@ -185,3 +200,21 @@ class AdaoGenerator(PythonGenerator): except: pass + def add_init(self): + search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__Init__" + + if search_text + "INIT_FILE" in self.dictMCVal: + + init_file_data = self.dictMCVal[search_text + "INIT_FILE"] + init_target_list = self.dictMCVal[search_text + "TARGET_LIST"] + + self.text_da += "Init_config = {} \n" + self.text_da += "Init_config[\"Type\"] = \"Dict\" \n" + self.text_da += "Init_config[\"From\"] = \"Script\" \n" + self.text_da += "Init_config[\"Data\"] = \"" + init_file_data + "\"\n" + self.text_da += "Init_config[\"Target\"] = [" + for target in init_target_list: + self.text_da += "\"" + target + "\"," + self.text_da += "] \n" + self.text_da += "study_config[\"Init\"] = Init_config \n" + -- 2.39.2