Changeset 5191
- Timestamp:
- Apr 4, 2015 9:38:19 AM (9 years ago)
- Location:
- branches/uq
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/uq/lang/tcl/scripts/library.tcl
r5182 r5191 1060 1060 # 1061 1061 # For example, 2 parameters, one gaussian and one uniform might return: 1062 # [["height", ["gaussian",100,10,{"min":0}]],["velocity",["uniform",80,90]]]1062 # [["height","m",["gaussian",100,10,{"min":0}]],["velocity","m/s",["uniform",80,90]]] 1063 1063 # 1064 1064 # Returns "" if there are no UQ parameters. … … 1092 1092 } 1093 1093 1094 set units "" 1094 1095 set unode [$_n selectNodes units/text()] 1095 1096 if {"" != $unode} { … … 1099 1100 } 1100 1101 1101 set v \[\"[$_n getAttribute id]\", 1102 set v \[\"[$_n getAttribute id]\",\"$units\", 1102 1103 #set val \"[lindex $val 0]\",[lindex $val 1],[lindex $val 2] 1103 1104 set fmt "\[\"%s\",%.16g,%.16g" … … 1110 1111 if {"" != $min_node} { 1111 1112 set minv [$min_node nodeValue] 1112 if {$un ode!= ""} {1113 if {$units != ""} { 1113 1114 set minv [Rappture::Units::convert $minv -context $units -units off] 1114 1115 } … … 1119 1120 if {"" != $max_node} { 1120 1121 set maxv [$max_node nodeValue] 1121 if {$un ode!= ""} {1122 if {$units != ""} { 1122 1123 set maxv [Rappture::Units::convert $maxv -context $units -units off] 1123 1124 } -
branches/uq/puq/get_params.py
r5182 r5191 8 8 """ 9 9 10 from __future__ import print_function 10 11 import sys 11 12 import os … … 18 19 sys.stderr = open("uq_debug.err", 'w') 19 20 20 print sys.argv21 print(sys.argv) 21 22 pid, varlist, uq_type, args = sys.argv[1:] 22 23 … … 26 27 27 28 varlist = unpickle(varlist) 28 print "varlist=", varlist29 print("varlist=", varlist) 29 30 30 31 v = {} 32 units = {} 31 33 for p in varlist: 32 name, dist = p34 name, _units, dist = p 33 35 name = str(name) 36 units[name] = str(_units) 34 37 if dist[0] == u'gaussian': 35 38 try: … … 38 41 kwargs = {} 39 42 v[name] = NormalParameter(name, name, mean=dist[1], dev=dist[2], **kwargs) 40 print v[name]43 print(v[name]) 41 44 elif dist[0] == u'uniform': 42 45 v[name] = UniformParameter(name, name, min=dist[1], max=dist[2]) 43 46 else: 44 print "ERROR: Unknown distribution type: %s" % dist[0]47 print("ERROR: Unknown distribution type: %s" % dist[0]) 45 48 sys.exit(1) 46 49 if uq_type == "smolyak": 47 50 uq = Smolyak(v.values(), args) 48 51 else: 49 print "ERROR: Unknown UQ type: %s" % uq_type52 print("ERROR: Unknown UQ type: %s" % uq_type) 50 53 os.chdir('..') 51 54 sys.exit(1) 52 55 53 56 # save parameter values to CSV file 54 vals = np.column_stack([p.values for p in uq.params]) 55 names = ['@@'+str(p.name) for p in uq.params] 56 np.savetxt(cvsname, vals, delimiter=',', header=','.join(names), comments='') 57 with open(cvsname, 'w') as f: 58 print(','.join(['@@'+str(p.name) for p in uq.params]), file=f) 59 for i in range(len(uq.params[0].values)): 60 print(','.join(['%.16g%s' % (p.values[i], units[p.name]) for p in uq.params]), file=f) 57 61 58 62 # This just saves PUQ state into HDF5 file, so later we can have PUQ analyze … … 63 67 sw.run(hname, overwrite=True) 64 68 65 print "Finished with get_params.py\n"69 print("Finished with get_params.py\n")
Note: See TracChangeset
for help on using the changeset viewer.