import sys
from yt.mods import *
import numpy as np
from yt.analysis_modules.halo_finding.api import *
import glob
import re
import commands

volume=6.*6.*6.125
tunit = 6.88027e+14/3.15569e7
coversion = 0.08*tunit*volume
folder_evolution = 'RD0089'

f=open("SFR_Xray.txt",'a')

dlist = glob.glob('RD00??')
dlist.sort()
#output = int(re.sub(r'\D',"",fn))
for folder in dlist:
  n = int(re.sub(r'\D',"",folder))
  if n < 44 :continue
  #if n > 42: continue
  a=commands.getoutput('grep CurrentRedshift '+folder+'/RedshiftOutput%04i'%n)
  z=float(a.split()[2])
  a=commands.getoutput('grep InitialTime '+folder+'/RedshiftOutput%04i'%n)
  currenttime=float(a.split()[2])
  a=commands.getoutput('tail -n 1 '+folder+'/xray_source_histogram_30Myr_40Ms.txt')
  LX = float(a.split()[3])

  fi=open(folder_evolution+'/PopII_evolution.txt','r')
  time = []
  SFR = []
  line=fi.readline()
  while line:
   time.append(float(line.split()[1]))
   SFR.append(float(line.split()[4])/coversion)
   #print float(line.split()[1]),float(line.split()[4])/covertion
   line=fi.readline()
  fi.close()
  SFR2=0
  for t,s in zip(time,SFR):
    if t < currenttime:
     SFR2=s+(old_s-s)/(old_t-t)*(currenttime-t)
     break
    old_t = t; old_s=s

  fi=open(folder_evolution+'/PopIII_evolution.txt','r')
  time = []
  SFR = []
  line=fi.readline()
  while line:
   time.append(float(line.split()[1]))
   SFR.append(float(line.split()[4])/coversion)
   #print float(line.split()[1]),float(line.split()[4])/covertion
   line=fi.readline()
  SFR3=0
  for t,s in zip(time,SFR):
    if t < currenttime:
     SFR3=s+(old_s-s)/(old_t-t)*(currenttime-t)
     break
    old_t = t; old_s=s
  fi.close()
  f.write(str(z)+" "+str(currenttime)+" "+str(LX)+" "+str(LX/volume)+" "+str(SFR3)+" "+str(SFR2)+"\n")

f.close()
