TELEMAC2D_ICON = "case2d.png"
TELEMAC2D_CASE_TYPE_ID = 3
-COUPLING1D2D_FILE_TYPE = "COUPLING1D2D_EFICAS_FILE"
-COUPLING1D2D_ICON = "case_couplage.png"
-COUPLING1D2D_CASE_TYPE_ID = 4
-
PYTEL_FILE_TYPE = "PYTEL_EFICAS_FILE"
PYTEL_ICON = "case_pytel.png"
PYTEL_CASE_TYPE_ID = 5
icon = MASCARET_ICON,
comment = str(filePath),
typeId = MASCARET_CASE_TYPE_ID)
- # Create "Variables" item
- (file_list, lig_file, input_vars, output_vars) = self.get_mascaret_params_from_case(sobj)
- input_varname_list = [var["NOM"].strip() for var in input_vars]
- # Remove duplicates
- input_varname_list = list(set(input_varname_list))
- input_var_list = [study_exchange_vars.Variable(varname) for varname in input_varname_list]
- output_var_list = [study_exchange_vars.Variable(var["NOM"].strip()) for var in output_vars]
- exchange_vars = study_exchange_vars.ExchangeVariables(input_var_list, output_var_list)
- study_exchange_vars.createSObjectForExchangeVariables(sobj, exchange_vars, icon = VARS_ICON)
-
- def get_mascaret_params_from_case(self, sobj):
- jdcpath = sobj.GetComment()
- with open(jdcpath) as jdcfile:
- jdc = jdcfile.read()
- params = jdc_to_dict(jdc, ["MASCARET", "_F"])
- input_vars = get_jdc_dict_var_as_tuple(params, "VARIABLE_ENTREE")
- output_vars = get_jdc_dict_var_as_tuple(params, "VARIABLE_SORTIE")
- file_list = []
- for (key, value) in params.iteritems():
- if key == "FICHIER_LOI":
- file_list += [HYDROSOLVER_ORB.MascaretFile(f["NOM"], mascaretFileTypeDict[key]) for f in value]
- elif key != "FICHIER_LIG" and key != "VARIABLE_SORTIE" and key != "VARIABLE_ENTREE":
- file_list.append(HYDROSOLVER_ORB.MascaretFile(value, mascaretFileTypeDict[key]))
- return (file_list, params["FICHIER_LIG"], input_vars, output_vars)
-
- def add_results_to_mascaret_case(self, sobj, output_variables, output_values):
- results = self.editor.createItem(sobj, "Results")
- for (var, value) in zip(output_variables, output_values):
- self.editor.createItem(results, var, comment = unicode(value))
-
- def add_coupling_log(self, varname, log):
- self.find_or_create_hydro_component()
- sObj = self.editor.createItem(self.hydroComp,
- name = varname,
- icon = LOG_ICON,
- typeId = LOG_TYPE_ID)
- attr = self.editor.builder.FindOrCreateAttribute(sObj,
- "AttributeParameter")
- attr.SetString("log", log)
def find_or_create_telemac2d_case(self, filePath):
self.find_or_create_hydro_component()
# Writting to file
yacs_scheme.saveSchema(yacs_file)
- def find_or_create_coupling1d2d_case(self, filePath):
- self.find_or_create_hydro_component()
- itemName = os.path.splitext(os.path.basename(filePath))[0]
- sobj = self.editor.findOrCreateItem(self.hydroComp,
- name = itemName,
- fileType = COUPLING1D2D_FILE_TYPE,
- fileName = filePath,
- icon = COUPLING1D2D_ICON,
- comment = str(filePath),
- typeId = COUPLING1D2D_CASE_TYPE_ID)
-
def find_or_create_pytel_case(self, filePath):
self.find_or_create_hydro_component()
itemName = os.path.splitext(os.path.basename(filePath))[0]