Пример #1
0
    Smfl, Pmfl = Full_forward_model(
        Gs, wave,
        F_lam_per_M(flux, wave * (1 + z), z, 0, sp.stellar_mass) * 10**lm, z,
        wvs, flxs, errs, beams, trans)

    return wvs, Smfl, errs, beams, trans, Pmfl,


#########define fsps#########
sp = fsps.StellarPopulation(zcontinuous=1, logzsol=0, sfh=3, dust_type=1)

###########gen spec##########
Gs = Gen_spec_2D(field,
                 galaxy,
                 specz,
                 g102_lims=[8200, 11300],
                 g141_lims=[11200, 16000],
                 phot_errterm=0.04,
                 irac_err=0.08,
                 mask=True)
####generate grism items#####
wvs, flxs, errs, beams, trans = Gather_grism_data_from_2d(Gs, sp)

#######set up dynesty########
sampler = dynesty.DynamicNestedSampler(Galfit_L,
                                       Galfit_prior,
                                       ndim=23,
                                       nlive_points=4000,
                                       sample='rwalk',
                                       bound='multi',
                                       pool=Pool(processes=8),
                                       queue_size=8)
Пример #2
0
#     plt.savefig('../plots/newspec_check/{}-{}_rshift_check.png'.format(field, gid), bbox_inches = 'tight')    
    
    
field='GND'
pre = field[1]

for i in range(len(NGNID)):
    gid  = NGNID[i]
    rshift = NGNz[i]

    if gid < 10000:
        GID = '0' + str(gid)
    else:
        GID = str(gid)

    Gs = Gen_spec_2D('G{}D'.format(pre), gid, rshift)
    
    plt.figure(figsize = [15,13])
    plt.subplot(211)
    if Gs.g102:
        plt.errorbar(Gs.Bwv,Gs.Bfl,Gs.Ber,
                    linestyle='None', marker='o', markersize=3, color='#377eb8',zorder = 2, label = 'CLEAR G102')
        IDMB = np.repeat(True, len(Gs.Bwv))

    if Gs.g141:
        plt.errorbar(Gs.Rwv,Gs.Rfl,Gs.Rer,
                    linestyle='None', marker='o', markersize=3, color='#e41a1c',zorder = 2, label = '3D-HST G141')
        IDMR = np.repeat(True, len(Gs.Rwv))

    plt.errorbar(Gs.Pwv,Gs.Pflx,Gs.Perr,
                    linestyle='None', marker='o', markersize=10, color='#4daf4a',zorder = 1, label = '3D-HST Photometry')
Пример #3
0
        Pmfl[i] = Pmfl[i] + np.random.normal(0, Gs.Perr[i]) / Sc

    return wvs, Smfl, errs / Sc, beams, trans, Pmfl, Gs.Perr / Sc


if not os.path.isfile(out_path + 'z{}_{}_Ifit_imp'.format(specz, galaxy)):
    #########define fsps and gen spec#########
    if SFa == 'Q':
        sp = fsps.StellarPopulation(zcontinuous=1,
                                    logzsol=0,
                                    sfh=3,
                                    dust_type=1)
        Gs = Gen_spec_2D('GND',
                         21156,
                         specz,
                         g102_lims=[8200, 11300],
                         g141_lims=[11200, 16000],
                         phot_errterm=0.04,
                         irac_err=0.08,
                         mask=False)
    else:
        sp = fsps.StellarPopulation(zcontinuous=1,
                                    logzsol=0,
                                    sfh=3,
                                    dust_type=2)
        if specz == 1.0:
            #maybe 16041
            Gs = Gen_spec_2D('GND',
                             37006,
                             1.0,
                             g102_lims=[8200, 11300],
                             g141_lims=[11200, 16000],
Пример #4
0

#########define fsps and gen spec#########
sp = fsps.StellarPopulation(zcontinuous=1, logzsol=0, sfh=3, dust_type=2)
# if specz == 1.0:
#     #maybe 16041
#     Gs = Gen_spec_2D('GND',37006, 1.0, g102_lims=[8200, 11300], g141_lims=[11200, 16000],
#         phot_errterm = 0.04, irac_err = 0.08, mask = True)
# if specz == 1.5:
#     Gs = Gen_spec_2D('GND',27930, 1.5, g102_lims=[8200, 11300], g141_lims=[11200, 16000],
#         phot_errterm = 0.04, irac_err = 0.08, mask = True)
# if specz == 2.0:
Gs = Gen_spec_2D('GND',
                 19591,
                 1.5,
                 g102_lims=[8200, 11300],
                 g141_lims=[11200, 16000],
                 phot_errterm=0.04,
                 irac_err=0.08,
                 mask=False)

wvs, flxs, errs, beams, trans, Spmfl, Spmerr = spec_sim_werr_simple(Gs,
                                                                    wave,
                                                                    flam,
                                                                    lm=logmass,
                                                                    z=specz)
Gs.Pflx = Spmfl
Gs.Perr = Spmerr

#######set up dynesty########
sampler = dynesty.DynamicNestedSampler(Galfit_L,
                                       Galfit_prior,
Пример #5
0
    sp.set_tabular_sfh(time,sfr) 
    
    wave, flux = sp.get_spectrum(tage = a, peraa = True)

    Gmfl, Pmfl = Full_forward_model(Gs, wave, F_lam_per_M(flux,wave*(1+z),z,0,sp.stellar_mass)*10**lm, z, 
                                    wvs, flxs, errs, beams, trans)
       
    Gmfl = Full_calibrate_2(Gmfl, [bp1, rp1], wvs, flxs, errs)
   
    return Full_fit_2(Gs, Gmfl, Pmfl, [ba,ra], [bb,rb], [bl, rl], wvs, flxs, errs)

#########define fsps#########
sp = fsps.StellarPopulation(zcontinuous = 1, logzsol = 0, sfh = 3, dust_type = 1)

###########gen spec##########
Gs = Gen_spec_2D(field, galaxy, 1, phot_errterm = 0.04, irac_err = 0.08) 
####generate grism items#####
wvs, flxs, errs, beams, trans = Gather_grism_data_from_2d(Gs, sp)
#######set up dynesty########
sampler = dynesty.DynamicNestedSampler(Galfit_L, Galfit_prior, ndim = 23, nlive_points = 4000,
                                         sample = 'rwalk', bound = 'multi',
                                         pool=Pool(processes=8), queue_size=8)

sampler.run_nested(wt_kwargs={'pfrac': 1.0}, dlogz_init=0.01, print_progress=True)

dres = sampler.results

np.save('{0}_{1}_tabfit'.format(field, galaxy), dres) 
# np.save(out_path + '{0}_{1}_tabfit'.format(field, galaxy), dres) 

##save out P(z) and bestfit##
Пример #6
0
    Smfl, Pmfl = Full_forward_model(
        Gs, wave,
        F_lam_per_M(flux, wave * (1 + z), z, 0, sp.stellar_mass) * 10**lm, z,
        wvs, flxs, errs, beams, trans)

    return wvs, Smfl, errs, beams, trans, Pmfl


#########define fsps and gen spec#########
if lwa > 1:
    sp = fsps.StellarPopulation(zcontinuous=1, logzsol=0, sfh=3, dust_type=1)
    Gs = Gen_spec_2D('GSD',
                     39170,
                     1.5,
                     g102_lims=[8200, 11300],
                     g141_lims=[11200, 16000],
                     phot_errterm=0.04,
                     irac_err=0.08,
                     mask=False)
else:
    sp = fsps.StellarPopulation(zcontinuous=1, logzsol=0, sfh=3, dust_type=2)
    Gs = Gen_spec_2D('GND',
                     27930,
                     1.5,
                     g102_lims=[8200, 11300],
                     g141_lims=[11200, 16000],
                     phot_errterm=0.04,
                     irac_err=0.08,
                     mask=True)

wvs, flxs, errs, beams, trans, Spmfl = spec_sim(Gs, lbt, sfh, 0.1, 1, lwa)
Пример #7
0
    IDx = [U for U in range(len(w)) if wmin < w[U] < wmax]

    return np.trapz(f[IDx]) / Sig_int(e[IDx])


adb = pd.read_pickle('../dataframes/fitdb/evolution_db.pkl')

Bsn = []
Rsn = []
bsn = 0
rsn = 0

for i in adb.index:
    Gs = Gen_spec_2D(adb.field[i],
                     adb.id[i],
                     adb.zgrism[i],
                     g102_lims=[8200, 11300],
                     g141_lims=[11200, 16000],
                     phot_errterm=0.04,
                     irac_err=0.08,
                     mask=False)

    if Gs.g102:
        bsn = SN(Gs.Bwv, Gs.Bfl, Gs.Ber, 8500, 10500)
    if Gs.g141:
        rsn = SN(Gs.Rwv, Gs.Rfl, Gs.Rer, 11500, 15500)

    Bsn.append(bsn)
    Rsn.append(rsn)

np.save('../data/all_snr', [Bsn, Rsn])