Source code for loser_reader

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()