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)
# 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')
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],
#########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,
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##
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)
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])