from matplotlib import rc rc('text', usetex=True) # use latex in figures import Image import fortranfile # for fortran data import import initialize as my # check syntax i = len(sys.argv) if i != 5: print "Usage: fit_plummer.py prof_stars.dat xc yc zc" exit(1) filename = sys.argv[1] f = my.open_file(filename, "r") c = loadtxt(f) f.close() xc = float(sys.argv[2]) yc = float(sys.argv[3]) zc = float(sys.argv[4]) x = array(c[:, 0]) - xc y = array(c[:, 1]) - yc z = array(c[:, 2]) - zc m = array(c[:, 3]) rho = array(c[:, 4]) r = sqrt(x * x + y * y + z * z) order = r.argsort()
import os import initialize as my import mys from numpy import * if (len(sys.argv) != 3): print "usage: merger_tree.py snap1 snap2" print "assumption: output_00snap1,2 contain particles_dm in AHF format" exit(1) snap1 = int(sys.argv[1]) snap2 = int(sys.argv[2]) # read in halos repeatedly fname = mys.d(snap1) + "particles_dm" print fname in1 = my.open_file(fname, "r") alm1 = int(in1.readline()) size1 = [] split1 = [] for i in range(alm1): size = int(in1.readline()) size1.append(size) part = [] for c in range(size): part.append(int(in1.readline())) split1.append(part) in1.close() in2 = my.open_file(mys.d(snap2) + "particles_dm", "r") alm2 = int(in2.readline()) size2 = []
snap = int(sys.argv[1]) hid = int(sys.argv[2]) # print "missing file" if not mys.exists_snap(snap): print "snapshot " + str(snap) + " missing" exit(0) xc, yc, zc, rvir = mys.getxyzrstars_hid(snap, hid) file_name = mys.d(snap) + "stars/stars_" + str(hid) + ".dat" if os.path.getsize(file_name) == 0: print "empty file" exit() halo = my.open_file(file_name, "r") x = [] y = [] z = [] N = 0 for line in halo: N = N + 1 val = line.split() x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x) y = array(y) z = array(z) r = np.sqrt((x - xc) ** 2 + (y - yc) ** 2 + (z - zc) ** 2)
matplotlib.use('Agg') # use png output from matplotlib import rc rc('text',usetex=True)# use latex in figures import Image import fortranfile # for fortran data import import initialize as my # check syntax i=len(sys.argv) if i!=5: print "Usage: fit_plummer.py prof_stars.dat xc yc zc" exit(1) filename=sys.argv[1] f = my.open_file(filename,"r") c = loadtxt(f) f.close() xc = float(sys.argv[2]) yc = float(sys.argv[3]) zc = float(sys.argv[4]) x=array(c[:,0])-xc y=array(c[:,1])-yc z=array(c[:,2])-zc m=array(c[:,3]) rho=array(c[:,4]) r=sqrt(x*x+y*y+z*z) order=r.argsort()
exit(0) snap = int(sys.argv[1]) hid = int(sys.argv[2]) eps = 1e-5 frad = 0.9 # shrinked sphere has radius frad*maxr, # i.e. frad = 0.90 means 10% smaller # print "missing file" if not mys.exists_snap(snap): print "snapshot " + str(snap) + " missing" exit(0) xc, yc, zc, mvir, rvir = mys.getxyzmr(snap, 1) halo = my.open_file(mys.d(snap) + "stars/stars_" + str(hid) + ".dat", "r") x = [] y = [] z = [] m = [] for line in halo: val = line.split() m.append(float(val[0])) x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x) y = array(y) z = array(z) m = array(m)
exit(0) snap=int(sys.argv[1]) hid=int(sys.argv[2]) eps=1e-5 frad = 0.9 # shrinked sphere has radius frad*maxr, # i.e. frad = 0.90 means 10% smaller #print "missing file" if(not mys.exists_snap(snap)): print "snapshot "+str(snap)+" missing" exit(0) xc,yc,zc,mvir,rvir=mys.getxyzmr(snap,1) halo = my.open_file(mys.d(snap)+"stars/stars_"+str(hid)+".dat","r") x=[];y=[];z=[];m=[] for line in halo: val=line.split() m.append(float(val[0])) x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x); y = array(y); z = array(z); m = array(m) #print x def converged(xc,yc,zc,xc2,yc2,zc2): return abs(xc-xc2)/abs(xc) < eps \ and abs(yc-yc2)/abs(yc) < eps \ and abs(zc-zc2)/abs(zc) < eps #\
import sys import os from numpy import * import initialize as my import mys if (len(sys.argv) != 2): print "usage: substructure.py snap" print "assumption: output_snap contains particles_dm in AHF format" print "wrong number of arguments" exit(1) snap = int(sys.argv[1]) # read in halos repeatedly inf = my.open_file(mys.d(snap) + "particles_dm", "r") alm = int(inf.readline()) size = [] split = [] for i in range(alm): siz = int(inf.readline()) size.append(siz) part = [] for c in range(siz): part.append(int(inf.readline())) split.append(part) inf.close() print "read in successful"
snap=int(sys.argv[1]) hid=int(sys.argv[2]) #print "missing file" if(not mys.exists_snap(snap)): print "snapshot "+str(snap)+" missing" exit(0) xc,yc,zc,rvir=mys.getxyzrstars_hid(snap,hid) file_name=mys.d(snap)+"stars/stars_"+str(hid)+".dat" if(os.path.getsize(file_name)==0): print "empty file" exit() halo = my.open_file(file_name,"r") x=[];y=[];z=[]; N=0 for line in halo: N=N+1 val=line.split() x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x); y = array(y); z = array(z) r = np.sqrt((x-xc)**2+(y-yc)**2+(z-zc)**2) order = r.argsort() r = r[order] # ASS: all star particles have the same mass mys.set_rhalf_star(snap,hid,r[N/2])
exit(0) snap=int(sys.argv[1]) hid=int(sys.argv[2]) eps=1e-5 frad = 0.9 # shrinked sphere has radius frad*maxr, # i.e. frad = 0.90 means 10% smaller #print "missing file" if(not mys.exists_snap(snap)): print "snapshot "+str(snap)+" missing" exit(0) xc,yc,zc,mvir,rvir=mys.getxyzmr(snap,1) halo = my.open_file(mys.d(snap)+"dm/dm_"+str(hid)+".dat","r") x=[];y=[];z=[];m=[] for line in halo: val=line.split() m.append(float(val[0])) x.append(float(val[1])) y.append(float(val[2])) z.append(float(val[3])) x = array(x); y = array(y); z = array(z); m = array(m) #print x def converged(xc,yc,zc,xc2,yc2,zc2): return abs(xc-xc2)/abs(xc) < eps \ and abs(yc-yc2)/abs(yc) < eps \ and abs(zc-zc2)/abs(zc) < eps #\
import sys import os from numpy import * import initialize as my import mys if(len(sys.argv)!=2): print "usage: substructure.py snap" print "assumption: output_snap contains particles_dm in AHF format" print "wrong number of arguments" exit(1) snap = int(sys.argv[1]) # read in halos repeatedly inf = my.open_file(mys.d(snap)+"particles_dm","r") alm = int(inf.readline()) size = []; split = [] for i in range(alm): siz = int(inf.readline()) size.append(siz) part = [] for c in range(siz): part.append(int(inf.readline())) split.append(part) inf.close() print "read in successful" def count_shared(m1,m2): cc = 0
import sys import os import initialize as my import mys from numpy import * if(len(sys.argv)!=3): print "usage: merger_tree.py snap1 snap2" print "assumption: output_00snap1,2 contain particles_dm in AHF format" exit(1) snap1 = int(sys.argv[1]); snap2 = int(sys.argv[2]) # read in halos repeatedly fname=mys.d(snap1)+"particles_dm" print fname in1 = my.open_file(fname,"r") alm1 = int(in1.readline()) size1 = []; split1 = [] for i in range(alm1): size = int(in1.readline()) size1.append(size) part = [] for c in range(size): part.append(int(in1.readline())) split1.append(part) in1.close() in2 = my.open_file(mys.d(snap2)+"particles_dm","r") alm2 = int(in2.readline()) size2 = []; split2 = [] for i in range(alm2):