import numpy as np
import commands

tunit=6.88027e+14/3.156e7/1e6

for n in [5,6,8,10,12,14,19,28]:

 fi=open('RD%04i/void_galaxies_properties_%04i'%(n,n),'r')
 lines1 = fi.readlines()
 fi.close()

 fi=open('RD%04i/SED/Luminosity.out'%(n),'r')
 lines2 = fi.readlines()
 fi.close()

 magnitude = []
 for line in lines2:
     magnitude.append([int(line.split()[0]),float(line.split()[2])])
 magnitude=np.asarray(magnitude)

 fi=open('RD%04i/SED/Luminosity_M1600.out'%(n),'r')
 lines3 = fi.readlines()
 fi.close()

 M1600 = []
 for line in lines3:
     M1600.append([int(line.split()[0]),float(line.split()[2])])
 M1600=np.asarray(M1600)

 fo=open('RD%04i/void_galaxies_properties_luminosity_%04i'%(n,n),'w')

 a=commands.getoutput('grep CosmologyCurrentRedshift '+'RD%04i/RedshiftOutput%04i'%(n,n))
 redshift=float(a.split()[2])

 a=commands.getoutput('grep InitialTime '+'RD%04i/RedshiftOutput%04i'%(n,n))
 currenttime=float(a.split()[2])*tunit

 fo.write("# Void region, no LW background, z=%4.1f, time=%10.6f Myr \n"%(redshift,currenttime))
 fo.write("%6s %12s %12s %12s %16s %16s %16s %16s %16s %20s %12s %12s %12s %20s %16s %16s %12s %12s \n" % 
             ("#(0)","x(1)", "y(2)", "z(3)", "M_vir [Msun](4)", "M_gas [Msun](5)", "M_star [Msun](6)",
              "Metallicity (VW)(7)", "Metallicity (MW)(8)","Stellar Metallicity(9)", "t_25 [Myr](10)", "t_50 [Myr](11)","t_75 [Myr](12)",  
              'M_hm_stellar [Msun](13)','M_hm_dm [Msun](14)','M_hm_gas [M_sun](15)', 'M_bol(16)','M_1600(17)'))

 
 for line1 in lines1[2:]:
    result = np.zeros([2])
    halo_id = int(line1.split()[0])
    
    if (magnitude[:,0] == halo_id).sum() > 0:
      result[0] = magnitude[magnitude[:,0] == halo_id][0,1]
      result[1] = M1600[M1600[:,0] == halo_id][0,1]
    line1=line1.rstrip('\r\n') 
    fo.write(line1+" %12.8f %12.8f\n"%(result[0],result[1]) )
    
 fo.close()      
