From df599b6cbe83b3bc2cc0359a3143a5477b030ed5 Mon Sep 17 00:00:00 2001 From: Su Tian Date: Fri, 20 Nov 2020 21:59:12 -0500 Subject: [PATCH] 1120 --- dakota_interface.py | 66 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/dakota_interface.py b/dakota_interface.py index e1552ba..cdd5c77 100644 --- a/dakota_interface.py +++ b/dakota_interface.py @@ -1,5 +1,6 @@ import os import sys +import csv import subprocess as sbp import datetime as dt import json @@ -99,5 +100,66 @@ def interface(fn_json_args): -if __name__ == "__main__": - interface(sys.argv[1]) + + + + + + + +def substitute( + fn_temp, fn_true, fn_dvc_labels, fn_dvd_labels, + fn_finals='finaldata1.dat', final_line=1, params={}, proc_func=None +): + print('- reading variable labels...') + dvc_labels = [] + with open(fn_dvc_labels, 'r') as fo: + for line in fo.readlines(): + line = line.replace("'", "") + line = line.strip().split() + dvc_labels = dvc_labels + line + # print(line) + ndvc = len(dvc_labels) + # print(ndvc, dvc_labels) + + dvd_labels = [] + with open(fn_dvd_labels, 'r') as fo: + for line in fo.readlines(): + line = line.replace("'", "") + line = line.strip().split() + dvd_labels = dvd_labels + line + # print(line) + ndvd = len(dvd_labels) + # print(ndvd, dvd_labels) + + + print('- reading final data...') + dvcs = [] + dvds = [] + with open(fn_finals, 'r') as fo: + ro = csv.reader(fo, delimiter='\t') + for row in ro: + dvc = list(map(float, row[:ndvc])) + dvd = list(map(int, row[ndvc:(ndvc+ndvd)])) + dvcs.append(dvc) + dvds.append(dvd) + # print(nums_d) + # print(dvcs) + + + print('- creating params...') + for label, dv in zip(dvc_labels, dvcs[final_line-1]): + params[label] = dv + for label, dv in zip(dvd_labels, dvds[final_line-1]): + params[label] = dv + + if not proc_func is None: + proc_func(params) + # print(params) + + + print('- substituting...') + di.dprepro(template=fn_temp, include=params, output=fn_true) + + + print('- done.')