filenames = sorted( [l.strip() for l in cachefile.readlines() ]) cachefile.close() else: import os import glob if opts.verbose: print "reading in all *ste.pickle filenames from "+os.getcwd() filenames = sorted( glob.glob("./*.ste.pickle") ) dat = [] ### read data from logs for filename in filenames: if opts.verbose: print "reading system from "+filename try: sdata, _ = nmu.load_ste(filename) dat.append( (filename, sdata) ) except: print "\tERROR when reading "+filename continue #################################################################################################### # # plot data # #################################################################################################### known_y = [ ("Hns" , r"$\left<H_{\ast}\right>$" , "mean{Hns/|Eorb|}" , "stdv{Hns/|Eorb|}" ), ("E" , r"$\left<\sum A_i^2\right> /E_{\mathrm{orb}}$" , "mean{sum{E}/|Eorb|}" , "stdv{sum{E}/|Eorb|}" ), ("yE" , r"$\left<2\sum \gamma_i A_i^2 \right> \cdot P_{\mathrm{orb}}/E_{\mathrm{orb}} $" , "mean{|sum{Edot}|*(Porb/|Eorb|)}", "stdv{|sum{Edot}|*(Porb/|Eorb|)}" ), ("1-gini_E" , r"$1-\mathrm{GINI}\ \left<A_i^2\right>$" , "Gini_index{mean{sum{E}}}" , False ),
opts, args = parser.parse_args() nmu.set_units(system=opts.unit_system) ### set our system of units energy_unit = nmu.units["energy"] time_unit = nmu.units["time"] if opts.tag: opts.tag = "_%s"%opts.tag #================================================= ### build associations ### load data from files data = [ ] for filename in args: if opts.verbose: print filename sdata, mdata = nmu.load_ste(filename) data.append( (filename, sdata) ) ### cluster data by Porb_window if opts.verbose: print "sorting by Porb" data.sort(key=lambda l: l[1]["system"]["Porb"]) ### sort by Porb clusters = cluster_by_key(data, "Porb", opts.Porb_window) ### cluster ### cluster data by Mcomp_window if opts.verbose: print "sorting by Mcomp" tmp_clusters = [] for cluster in clusters: cluster.sort(key=lambda l: l[1]["system"]["Mcomp/Mjup"]) ### sort by Mcomp tmp_clusters += cluster_by_key(cluster, "Mcomp/Mjup", opts.Mcomp_window) ### cluster clusters = tmp_clusters
def load(self, verbose=False): self.data = [] for filename in self.filenames: if verbose: print filename self.data.append( nmu.load_ste(filename) )