import os,sys
import numpy as np
sp = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0,'%s/../../../configs' % sp)
sys.path.insert(1,'%s/../classes' % sp)
from loser_config import *
from galaxy import Color
def read_LOSER_fullsim(obj):
[docs]
#if obj.num_galaxies == 0:
# return
#if not hasattr(obj.galaxies[0],'originalIndex'):
# #obj.logOutput('gals not processed, skipping...',indent=1)
# return
if obj.rto.SKIPRAN and hasattr(obj,'LOSER_DATA_ADDED'):
if obj.LOSER_DATA_ADDED:
obj.logOutput('loser data found within object, skipping...',indent=1)
return
#for i in range(0,len(LOSER_viewdir)):
for k,v in LOSER_viewdir.iteritems():
offset = LOSER_offset
ncolors = 0
f = open(obj.locs.LOSER_FILES[k],'r')
f.readline()
f.readline()
#line = f.readline().split()
#print line[2] index
#print line[3] lambda1
#print line[4] lambda2
#print line[5::] name
colors = []
while True:
line = f.readline()
line = line.split()
if 'Color' in line:
name = ""
for j in range(5,5+len(line[5::])):
name += '%s ' % line[j]
colors.append(Color(name,
[float(line[3]),float(line[4])],
int(line[2])))
ncolors += 1
else:
break
f.close()
origIndexes = np.asarray([s.originalIndex for s in obj.galaxies])
origIndexes += 1
data = np.genfromtxt(obj.locs.LOSER_FILES[k])
for j in range(0,len(data)):
match = np.where(data[j,0] == origIndexes)[0]
if len(match) > 0:
curgal = obj.galaxies[match[0]]
curgal.magnitudes = []
for i in range(0,ncolors):
curgal.magnitudes.append(colors[i])
curgal.magnitudes[i].mag[k] = data[j,i+offset]
curgal.magnitudes[i].emag[k] = data[j,i+offset+ncolors+1]
#curgal.magnitudes[k].mag[LOSER_viewdir[i]] = data[j,k+offset]
#curgal.magnitudes[k].emag[LOSER_viewdir[i]] = data[j,k+offset+ncolors+1]
#print data[j,0],data[j,k+offset],data[j,k+offset+ncolors+1]
#print '%e %e' % (data[j,4],curgal.stellar_mass)
obj.LOSER_DATA_ADDED = 1
obj.saveData()