#!/bin/python import os, sys import argparse parser = argparse.ArgumentParser() file_parser = argparse.ArgumentParser() param_dict = { "nx" :512, "l_0" :4., "int_pr" :400, "tar_lo" :0.60, "dt" :0.001, "sc" :0.75, "vis" :0.020, "pre" :2.10E+4, "ac" :26.7, "bc" :3., "u0" :0.21, "tf" :100., "dt_uf" :0.4, "ctmp" :0., "c_cut" :0.001, "c_ref" :0.01, "min_wr" :0., "prof_wr" :1.0, "rvis" :1.0, "cstar" :1.0, "sigw" :100.0, } file_parser.add_argument("--default", help="file containing override default values") file_args, others = file_parser.parse_known_args() if file_args.default is not None: with open(file_args.default) as df: try: for line in df: k, v = line.split()[:2] if k in param_dict: param_dict[k] = v except ValueError: pass for k, v in param_dict.iteritems(): parser.add_argument("--"+k, default=v) args = parser.parse_args(others) params = vars(args) itape = ''' nx {0[nx]} l_0 {0[l_0]} int_pr {0[int_pr]} tar_lo {0[tar_lo]} dt {0[dt]} sc {0[sc]} vis {0[vis]} pre {0[pre]} ac {0[ac]} bc {0[bc]} u0 {0[u0]} tf {0[tf]} dt_uf {0[dt_uf]} ctmp {0[ctmp]} c_cut {0[c_cut]} c_ref {0[c_ref]} min_wr {0[min_wr]} prof_wr {0[prof_wr]} rvis {0[rvis]} cstar {0[cstar]} sigw {0[sigw]} ''' print itape.format( params ) # for i in range(15,60,5): # with open("itape", 'w') as itape: # itape.write(format.format(float(i)/10.0)) # os.system("../../ex &>"+str(i)+".txt")