87 lines
1.6 KiB
Python
Executable file
87 lines
1.6 KiB
Python
Executable file
#!/bin/python
|
|
|
|
import os, sys
|
|
|
|
import argparse
|
|
|
|
from pprint import pprint
|
|
|
|
parser = argparse.ArgumentParser()
|
|
file_parser = argparse.ArgumentParser()
|
|
|
|
# Default values for all parameters
|
|
raw_defaults = (
|
|
'''\
|
|
nx 512
|
|
l_0 4.
|
|
int_pr 400
|
|
tar_lo 0.60
|
|
dt 0.0005
|
|
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
|
|
lewis 1.0
|
|
lambda1 6.25E+4
|
|
lambda2 318E+4
|
|
beta1 5
|
|
hrp 0.75
|
|
le_a 1.
|
|
le_x 0.20
|
|
nsp 2
|
|
nrxn 1
|
|
'''
|
|
).split()
|
|
|
|
ordered_args = raw_defaults[::2]
|
|
|
|
ordered_values = []
|
|
for v in raw_defaults[1::2]:
|
|
try:
|
|
ordered_values.append(int(v))
|
|
except ValueError:
|
|
ordered_values.append(float(v))
|
|
|
|
param_dict = dict(zip(ordered_args, ordered_values))
|
|
|
|
|
|
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)
|
|
|
|
line_new = '{:>12} {}'
|
|
|
|
for a in ordered_args:
|
|
print line_new.format(a, params[a])
|
|
|
|
# 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")
|