ab_file_example = ab_path+sed_models[0][:-3]+filter_x1+'.AB'
z_ab = U.get_data(ab_file_example,0)
nz = len(z_ab)

# Creating matrix where to save the data.
ab_filter_x1 = N.zeros((nz,n_models),float)
ab_filter_x2 = N.zeros((nz,n_models),float)
ab_filter_y1 = N.zeros((nz,n_models),float)
ab_filter_y2 = N.zeros((nz,n_models),float)


for ii in range(n_models):
    # Reading AB files for each template and filter.
    ab_filter_x1_model = ab_path+sed_models[ii][:-3]+filter_x1+'.AB'
    z_x1_model, mag_x1_model = U.get_data(ab_filter_x1_model,(0,1))
    ab_filter_x1[:,ii] = B.flux2mag(mag_x1_model)

    ab_filter_x2_model = ab_path+sed_models[ii][:-3]+filter_x2+'.AB'
    z_x2_model, mag_x2_model = U.get_data(ab_filter_x2_model,(0,1))
    ab_filter_x2[:,ii] = B.flux2mag(mag_x2_model)

    ab_filter_y1_model = ab_path+sed_models[ii][:-3]+filter_y1+'.AB'
    z_y1_model, mag_y1_model = U.get_data(ab_filter_y1_model,(0,1))
    ab_filter_y1[:,ii] = B.flux2mag(mag_y1_model)

    ab_filter_y2_model = ab_path+sed_models[ii][:-3]+filter_y2+'.AB'
    z_y2_model, mag_y2_model = U.get_data(ab_filter_y2_model,(0,1))
    ab_filter_y2[:,ii] = B.flux2mag(mag_y2_model)

for zz in range(res_z):
    pos_z = N.argmin(abs(z_range[zz]-z_ab))
Exemple #2
0
ug_t1  = [1.6,1.7,1.7,1.7,1.7,1.7,1.7,1.8,1.80,1.9]
gz_t2  = [1.4,1.5,1.5,1.5,1.6,1.6,1.7,1.8,1.9,1.9]
ug_t2  = [1.8,1.8,1.9,1.9,2.0,2.0,2.0,2.0,2.0,2.1]
"""

# New values
gz_t1 = [1.17, 1.24, 1.28, 1.28, 1.30, 1.35, 1.50, 1.52, 1.56, 1.65, 1.70]
ug_t1 = [1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85, 1.85]
gz_t2 = [1.25, 1.25, 1.25, 1.45, 1.50, 1.60, 1.70, 1.70, 1.75, 1.80, 2.00]
ug_t2 = [2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 2.25]

for ii in range(n_models):
    # Reading AB files for each template and filter.
    ab_filter_x1_model = ab_path + sed_models[ii][:-3] + filter_x1 + '.AB'
    z_x1_model, mag_x1_model = U.get_data(ab_filter_x1_model, (0, 1))
    ab_filter_x1 = B.flux2mag(mag_x1_model)

    ab_filter_x2_model = ab_path + sed_models[ii][:-3] + filter_x2 + '.AB'
    z_x2_model, mag_x2_model = U.get_data(ab_filter_x2_model, (0, 1))
    ab_filter_x2 = B.flux2mag(mag_x2_model)

    ab_filter_y1_model = ab_path + sed_models[ii][:-3] + filter_y1 + '.AB'
    z_y1_model, mag_y1_model = U.get_data(ab_filter_y1_model, (0, 1))
    ab_filter_y1 = B.flux2mag(mag_y1_model)

    ab_filter_y2_model = ab_path + sed_models[ii][:-3] + filter_y2 + '.AB'
    z_y2_model, mag_y2_model = U.get_data(ab_filter_y2_model, (0, 1))
    ab_filter_y2 = B.flux2mag(mag_y2_model)

    for zz in range(nz):
        pos_z = N.argmin(abs(z_x1_model - z_bins[zz]))
nf = len(filters)

ft, fob, efob = P.getinfo4_mosaic_uncert_obsvsmod(columns, fluxcomp)
mo = U.get_data(fluxcomp, 1)
g = N.greater_equal(mo, 14) * N.less_equal(mo, 20)

base = N.arange(14., 21., 1.)
basem_histo = N.arange(-1, 1, 0.01)
scatts = N.zeros(nf)
means = N.zeros(nf)
for ii in range(nf):
    nameout = fluxcomp[:-15] + '%s.magzpdist.png' % (filters[ii][:-4])
    nameout2 = fluxcomp[:-15] + 'magzpdist.txt'
    plt.figure(112, figsize=(8, 10.), dpi=80, facecolor='w', edgecolor='k')
    plt.clf()
    mt = B.flux2mag(ft[ii])
    mob = B.flux2mag(fob[ii])
    emob = N.where(
        abs(fob[ii][:]) > 0,
        B.e_frac2mag(efob[ii][:]) / fob[ii][:], -99)
    uno = plt.axes([0.15, .675, 0.75, 0.265])
    dm = mt[g] - mob[g]
    mmo = mo[g]
    emmob = emob[g]
    mtt = mt[g]
    mobb = mob[g]
    g2 = N.less(abs(dm), 0.3)
    dm2, mo2, emo2, mt2, mob2 = U.multicompress(g2,
                                                (dm, mmo, emmob, mtt, mobb))
    a1, a2, a3 = plt.hist(dm[g2], basem_histo, facecolor='grey', alpha=0.2)
    plt.xlim(-0.49, 0.49)
Exemple #4
0
# filtro2 = 'zSDSS'

sed_ab_filter_1 = root + '%s.SPLUS_%s.AB.txt' % (sed, filtro1)
sed_ab_filter_2 = root + '%s.SPLUS_%s.AB.txt' % (sed, filtro2)

z_AB_1, f_AB_1 = U.get_data(sed_ab_filter_1, (0, 1))
z_AB_2, f_AB_2 = U.get_data(sed_ab_filter_2, (0, 1))

good_z_range = N.less_equal(z_AB_1, zmax)
good_z_range *= N.greater(f_AB_1, 0) * N.greater(f_AB_2, 0)
f_AB_redu_1 = f_AB_1[good_z_range]
z_AB_redu_1 = z_AB_1[good_z_range]
f_AB_redu_2 = f_AB_2[good_z_range]
z_AB_redu_2 = z_AB_2[good_z_range]

mag_AB_redu_1 = B.flux2mag(abs(f_AB_redu_1))
mag_AB_redu_2 = B.flux2mag(abs(f_AB_redu_2))

outfilename = root + 'tracks_sed%s_0.0z%.1f_%s%s.txt' % (sed, zmax, filtro1,
                                                         filtro2)
U.put_data(outfilename, (z_AB_redu_2, mag_AB_redu_1 - mag_AB_redu_2),
           'z %s-%s' % (filtro1, filtro2))
"""
z,gr_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_gSDSSrSDSS.txt',(0,1));z,rz_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_rSDSSzSDSS.txt',(0,1));z,gr_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z0.5_gSDSSrSDSS.txt',(0,1)); z,rz_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z0.5_rSDSSzSDSS.txt',(0,1)); plt.plot(gr_Sa[::10],rz_Sa[::10],'-bo');plt.plot(gr_ell[::10],rz_ell[::10],'-ro')

z,gr_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z2.0_gSDSSrSDSS.txt',(0,1));z,rz_ell = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedEll3_A_0_0.0z2.0_rSDSSzSDSS.txt',(0,1));z,gr_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z2.0_gSDSSrSDSS.txt',(0,1)); z,rz_Sa = U.get_data('/Users/albertomolino/doctorado/articulos/SPLUS/StarGalaxy/AB/tracks_sedSa_A_1_0.0z2.0_rSDSSzSDSS.txt',(0,1)); plt.plot(gr_Sa[::10],rz_Sa[::10],'-bo');plt.plot(gr_ell[::10],rz_ell[::10],'-ro')


plt.xlabel('$g-r$',size=25,labelpad=1)
plt.ylabel('$r-z$',size=25,labelpad=1)
plt.grid()
#emob = B.e_frac2mag(efob1[ii][:])/float(fob1[ii][:])

plt.figure(1, figsize=(24, 12), dpi=80, facecolor='w', edgecolor='k')
plt.clf()

bin_labels = [0, 6]
base_x = N.linspace(-3.0, 3.0, 300)

for ss in range(12):
    plt.subplot(2, 6, ss + 1)
    if ss == 0:
        g_1 = U.greater_equal(mag1, mmin) * U.less_equal(mag1, mmax + 3)
    else:
        g_1 = U.greater_equal(mag1, mmin) * U.less_equal(mag1, mmax)
    dm2_1 = B.flux2mag(fob1[ss][g_1]) - B.flux2mag(ft1[ss][g_1])
    emob = B.e_frac2mag(efob1[ss][g_1]) / fob1[ss][g_1]
    sense_values_1 = N.less(abs(dm2_1), 5.)
    sense_values_1 *= N.less(abs(emob), 1.)
    dm2_1, emob2 = U.multicompress(sense_values_1, (dm2_1, emob))
    #dm2_1 = N.compress(sense_values_1,dm2_1)

    valor = base_x * 0.
    for ii in range(len(emob2)):
        temporal = A.gaussian(base_x, emob2[ss], 0.00, 1)
        valor += temporal * temporal
    valor = N.sqrt(valor)

    if ss in [0, 1, 2, 3, 4]:
        basem = basem_low
        #basem2 = basem2_low
def SEDSEx_noise_comparison222(columns,fluxcomp,m_min,m_max,delta_m):
    """
fluxcomp = 'master.flux_comparison'
columns  = 'master.columns'
SEDSEx_noise_comparison(columns,fluxcomp,14,21,0.3)
    """

    basem = N.arange(m_min,m_max+delta_m,delta_m)

    ft,fob,efobs = A.get_fluxes(columns,fluxcomp)
    filters = B.get_filter_list(columns)
    nf = len(filters)

    for ss in range(nf):
        nband = ss
        mt = B.flux2mag(ft[:][nband])
        mo = B.flux2mag(fob[:][nband])
        emo = B.e_frac2mag(efobs[:][nband])/(fob[:][nband])
        g = N.less(abs(mo),28)
        mor,mtr,emor = U.multicompress(g,(mo,mt,emo))
        dm = mtr-mor
        g2 = N.less(abs(dm),1.)
        mor,mtr,emor = U.multicompress(g2,(mor,mtr,emor))

        linea_sdm = U.bin_stats(mor,dm,basem,'std_mad') #SED
        linea_sem = U.bin_stats(mor,emor,basem,'std_mad') #SEx
        linea_sem = N.where(linea_sem<1.0e-4,0.0,linea_sem)
        linea_dm  = U.bin_stats(mor,dm,basem,'mean_robust') #SED
        linea_em  = U.bin_stats(mor,emor,basem,'mean_robust') #SEx
        linea2    = linea_dm+linea_sdm  #SED
        linea1    = linea_sem+linea_em  #SEx
        """
        plt.figure(1, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k')
        plt.clf()
        plt.subplot(211)
        plt.semilogy(basem,abs(linea_sdm),'r-',basem,linea_sem,'k-',lw=12)
        plt.legend(['SED','SEx'],loc='lower left',fontsize=30)
        plt.title('dispersions. Filter %s'%(filters[ss]),size=30)
        plt.grid()
        plt.xlim(m_min-delta_m,m_max+delta_m)
        plt.ylim(0.0001,1.)
        plt.xticks(fontsize=22)
        plt.yticks(fontsize=22)
        # plt.xlabel('magnitude',size=22)
        plt.ylabel('$\delta m$',size=22)

        plt.subplot(212)
        plt.semilogy(basem,abs(linea_dm),'r-',basem,linea_em,'k-',lw=12)
        #plt.legend(['SED','SEx'],loc='lower left',fontsize=30)
        plt.title('mean',size=30)
        plt.grid()
        plt.xlim(m_min-delta_m,m_max+delta_m)
        plt.ylim(0.001,1.)
        plt.xticks(fontsize=22)
        plt.yticks(fontsize=22)
        plt.xlabel('magnitude',size=22)
        plt.ylabel('$\delta m$',size=22)
        plt.savefig(final_root+'SEDdm1_Filter_%s.png'%(filters[ss]))
        """
        plt.figure(1, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k')
        plt.clf()
        plt.semilogy(basem,abs(linea_sdm),'r-',basem,linea_sem,'k-',lw=12)
        plt.semilogy(basem,abs(linea_dm),'r--',basem,linea_em,'k--',lw=12)
        plt.title('Filter %s'%(filters[ss]),size=30)
        plt.xlim(m_min-delta_m,m_max+delta_m)
        plt.ylim(0.0001,1.)
        plt.xticks(fontsize=22)
        plt.yticks(fontsize=22)
        plt.ylabel('$\delta m$',size=22)
        plt.legend(['$\sigma_{SED}$','$\sigma_{SEx}$','$\mu_{SED}$','$\mu_{SEx}$'],loc='lower left',fontsize=30)
        plt.grid()
        plt.xlabel('magnitude',size=22)
        plt.savefig(final_root+'SEDdm1_Filter_%s.png'%(filters[ss]))

        plt.figure(2, figsize = (11,9.5),dpi=80, facecolor='w', edgecolor='k')
        plt.clf()
        plt.semilogy(basem,abs(linea2),'r-',basem,linea1,'k-',lw=12)
        plt.legend(['SED','SEx'],loc='lower left',fontsize=30)
        plt.title('mean+disp. Filter %s'%(filters[ss]),size=30)
        plt.grid()
        plt.xlim(m_min-delta_m,m_max+delta_m)
        plt.ylim(0.01,1.)
        plt.xticks(fontsize=22)
        plt.yticks(fontsize=22)
        plt.xlabel('magnitude',size=22)
        plt.ylabel('$\delta m$',size=22)
        plt.savefig(final_root+'SEDdm2_Filter_%s.png'%(filters[ss]))