source: branches/uq/puq/get_params.py @ 5149

Last change on this file since 5149 was 5148, checked in by mmh, 10 years ago

uq snap

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/usr/bin/env python
2import sys
3from puq import NormalParameter, UniformParameter, Sweep, RapptureHost, Smolyak
4import csv, os
5import numpy as np
6from puq.jpickle import unpickle
7
8sys.stdout = open("gp.out", 'w')
9sys.stderr = open("gp.err", 'w')
10
11
12dfile, pid, varlist, uq_type, args = sys.argv[1:]
13cvsname = "params%s.csv" % pid
14hname = "puq_%s.hdf5" % pid
15
16print sys.argv[1:]
17varlist = unpickle(varlist)
18print "varlist=", varlist
19
20
21v = {}
22for p in varlist:
23    name, dist = p
24    name = str(name)
25    print "name=", name
26    print "dist=", dist
27    if dist[0] == u'gaussian':
28        v[name] = NormalParameter(name, name, mean=dist[1], dev=dist[2])
29    elif dist[0] == u'uniform':
30        v[name] = UniformParameter(name, name, min=dist[1], max=dist[2])
31    else:
32        print "ERROR: Unknown distribution type: %s" % dist[0]
33        sys.exit(1)
34if uq_type == "smolyak":
35    uq = Smolyak(v.values(), args)
36else:
37    print "ERROR: Unknown UQ type: %s" % uq_type
38    os.chdir('..')
39    sys.exit(1)
40
41vals = np.column_stack([p.values for p in uq.params])
42names = ['@@'+str(p.name) for p in uq.params]
43np.savetxt(cvsname, vals, delimiter=',', header=','.join(names), comments='')
44
45sw = Sweep(uq, RapptureHost('puq', dfile), 'test/vel_add.py')
46sw.run(hname, overwrite=True)
Note: See TracBrowser for help on using the repository browser.