Ejemplo n.º 1
0
def read_quasar():
    # read quasar spectra and redshift
    homedir = os.getenv("HOME")
    quasardir = os.path.join(homedir, "seds/quasar")
    # read zero redshift quasar
    base = Sed()
    base.readSED_flambda(os.path.join(quasardir, "quasar.dat"))
    # redshift
    #redshifts = [0, 0.1, 0.2, 0.3, 0.5, 0.8, 1.0, 1.3, 1.6, 1.9, 2.2, 2.5]
    #redshifts = numpy.array(redshifts)
    redshifts = numpy.arange(0, 2.8, 0.1)
    quasars = {}
    for z in redshifts:
        wavelen, flambda = base.redshiftSED(z,
                                            wavelen=base.wavelen,
                                            flambda=base.flambda)
        quasars[z] = Sed(wavelen=wavelen, flambda=flambda)
    print "# Generated %d quasars at redshifts between %f and %f" % (
        len(redshifts), redshifts.min(), redshifts.max())
    # resample onto the standard bandpass for Bandpass obj's and calculate fnu to speed later calculations
    for z in redshifts:
        quasars[z].synchronizeSED(wavelen_min=WMIN,
                                  wavelen_max=WMAX,
                                  wavelen_step=WSTEP)
    return quasars, redshifts
Ejemplo n.º 2
0
 def read_eline_galaxy(self,
                       dataDir='data/eline_galaxy',
                       redshifts=numpy.arange(0, 1.0, 0.1)):
     """Reads starburst galaxy and then redshifts to the desired range of z. Stores
     seds as well as epochs and redshifts. """
     # Read sn spectra and redshift
     allfilelist = os.listdir(dataDir)
     gallist = []
     #get filenames
     for filename in allfilelist:
         if filename.endswith('.dat'):
             gallist.append(filename)
     gal_base = {}
     for gal in gallist:
         gal_base = Sed()
         gal_base.readSED_flambda(os.path.join(dataDir, gal))
     # Then redshift to build stored set of SEDs.
     self.gals = {}
     self.gallist = []
     for z in redshifts:
         gal_name = "%.1f" % (z)
         wavelen, flambda = gal_base.redshiftSED(z,
                                                 wavelen=gal_base.wavelen,
                                                 flambda=gal_base.flambda)
         self.gals[gal_name] = Sed(wavelen=wavelen, flambda=flambda)
         self.gallist.append(gal_name)
     print "# Generated %d galaxies at redshifts between %f and %f" %(len(self.gallist), \
                                                                      redshifts.min(), \
                                                                      redshifts.max())
     self.redshifts = redshifts
     return