Beispiel #1
0
base = ['fico', 'corr']

mask_folder = 'pkl_emask/'
mask_file = 'newmask'
# mask_base = 'mask'

fs = 20  # 30
fs_text = 30
textx = 1100
texty = 150  # 500

objs = []
fields = []
count = 0

eelg_objs, eelg_fields, lbg_objs, lbg_fields = sa.get_gal_lists(base,
                                                                objlists=True)
full_set = [[eelg_objs, eelg_fields], [lbg_objs, lbg_fields]]
'''
for place in [cdfs_04, cosmos_04, uds_04]:
    for file in os.listdir(place):
        for i in range(len(eelg_objs)):

for i in range(len(eelg_objs)):
    print(eelg_objs[i])
'''


def add_mask_sed(obj, field, ax):
    mask_pre = mask_folder + str(obj) + '_' + field + '_' + mask_file + '_'
    print(mask_pre, 'mask_pre')
    mask_base = '_out.pkl'
        xmin = 700  # 600
        xmax = 2.7 * 10**4  # 3*10**4
        ymin2 = 9 * 10**-2  # ymin
        ymax2 = 9 * 10**2  # ymax

        # LEGEND, TEXT LOCATION, FONT SIZE
        loc = 2  # loc=1 (up R), loc=2 (up L), loc=3 (low L), loc=4 (low R); loc=7 (center R)
        textx = 1.7 * 10**3  # 10**4  # 700
        texty1 = 10**2  # 50
        texty2 = 3 * 10**2
        fs = 20
        fs_ticks = 25
        fs_text = 30
        ylabel = r'Flux [scaled]'  # [$\mu$Jy]'

    e_objs, e_fields, l_objs, l_fields = sa.get_gal_lists(base=base1,
                                                          objlists=True)

    ax1 = plt.subplot(1, 2,
                      1)  # number cols, number rows, which fig currently on
    ax1.set_yscale("log")
    ax1.set_xscale("log")
    ax1.set_xlim(xmin, xmax)
    ax1.set_ylim(ymin, ymax)
    ax1.tick_params(
        'x', length=3, width=1, which='both',
        labelsize=fs)  # 'axis_name', which='both' --> major & minor!
    ax1.tick_params('y', length=3, width=0.5, which='both', labelsize=fs)
    ax1.tick_params(axis='x', which='major', pad=10)
    ax1.tick_params(axis='y', which='minor')
    ax1.set_xticks([10**3, 2 * 10**3, 5 * 10**3, 10**4,
                    2 * 10**4])  # technically works
Beispiel #3
0
        folders = ['pkl_efico/', 'pkl_nfico/']
        mass = [9.42, 10.13]
        import eelg_fifty_params as e_params
        import eelg_fifty_params as n_params
        normal = True
    elif newsfg:
        base = ['fico', 'newsfg']
        folders = ['pkl_efico/', 'pkl_nnewsfg/']
        mass = [9.42, 9.84]
        import eelg_fifty_params as e_params
        import eelg_fifty_params as n_params
        normal = False

    import stellar_ages as sa
    e_objs, e_fields, l_objs, l_fields = sa.get_gal_lists(base,
                                                          objlists=True,
                                                          normal=normal)
    eelgs, lbgs = sa.get_gal_lists(base, objlists=False, normal=normal)

    pkls = '/home/jonathan/.conda/envs/snowflakes/lib/python2.7/site-packages/prospector/git/' + folders[
        0]
    l_pkls = '/home/jonathan/.conda/envs/snowflakes/lib/python2.7/site-packages/prospector/git/' + folders[
        1]
    out = '/home/jonathan/.conda/envs/snowflakes/lib/python2.7/site-packages/prospector/git/out/' + 'out_efico/'
    l_out = '/home/jonathan/.conda/envs/snowflakes/lib/python2.7/site-packages/prospector/git/out/' + 'out_nfico/'

    # START STACKING
    n_samps = 10**3  # 10**4

    t1 = []
    draws = []
        pars = ['eelg_newu_params.py', 'eelg_newu_params.py']
        base = 'newu'
    elif others:
        folders = ['out_ethvary/', 'out_nthvary/']
        pars = ['eelg_thvary_params.py', 'eelg_thvary_params.py']
        base = 'thvary'
    elif short:
        folders = ['out_eshort/', 'out_nshort/']
        pars = ['eelg_short_params.py', 'eelg_short_params.py']
        base = 'short'
    else:
        folders = ['out_fixedmet/', 'out_noelg/']
        pars = ['eelg_fixedmet_params.py', 'noelg_multirun_params.py']
    '''

    obj_e, field_e, obj_l, field_l = sa.get_gal_lists(base, objlists=True)
    field_dict = {}
    for i in range(len(obj_e)):
        field_dict[obj_e[i]] = field_e[i]

    home = '/home/jonathan/'
    three_masses = [
        home + 'Comp_10_zm_EL_Z002.dat', home + 'Comp_10_zm_EL_Z004.dat',
        home + 'Comp_10_zm_ZFOURGE.dat'
    ]
    labels = [
        r'FAST Z = Z$_{\odot}$, with emission lines',
        r'FAST Z = Z$_{\odot}/5$, with emission lines',
        r'FAST (ZFOURGE catalog parameters)'
    ]
    colors = ['r', 'b', 'purple']
Beispiel #5
0
        folders = ['pkl_evar/', 'pkl_nvary/']
        import eelg_varymet_params as e_params
        import eelg_varymet_params as n_params
    elif fifty:
        base = ['fifty', 'vary']
        out_folds = ['out/out_efifty/', 'out/out_nvary/']
        folders = ['pkl_efifty/', 'pkl_nvary/']
        import eelg_fifty_params as e_params
        import eelg_fifty_params as n_params
    elif fix:
        base = ['fix', 'vary']
        out_folds = ['out/out_efix/', 'out/out_nvary/']
        folders = ['pkl_efix/', 'pkl_nvary/']
    '''
    import stellar_ages as sa
    eelgs, lbgs1 = sa.get_gal_lists(base, normal=normal)
    pkls = git + folders[0]
    l_pkls = git + folders[1]

    sfh = []
    ssfr = []
    sfr = []
    # BUILD COMP
    comp = []
    eelg_list = open('Comp_10.dat', 'r')
    for line in eelg_list:
        if line[0] == '#':
            pass
        else:
            cols = line.split()
            if int(cols[0]) - 200000 > 0:
copyfrom = 'eelg_sfhtest_params.py'
m_pri = [8.5, 11.]  # [8.8, 10.]  # [8., 11.]
d_pri = [0., 2.]  # [0.1, 0.6]  # [0.0, 2.0]
z_pri = [-2., 0.]  # [-2., -1.]  # [-2., 0.19]
s1_pri = [0.01, 0.99]  # [0.05, 0.8]  # [0., 1.]
s2_pri = [0.01, 0.99]  # [0.05, 0.8]  # [0., 1.] (with min still)

em_pri = [9.0, 9.8]  # [8.8, 10.]  # [8., 11.]
ed_pri = [0.1, 0.5]  # [0.1, 0.6]  # [0.0, 2.0]
ez_pri = [-2., -1.5]  # [-2., -1.]  # [-2., 0.19]
es1_pri = [0.3, 0.7]  # [0.31, 0.68]  # [0.05, 0.8]  # [0., 1.]
es2_pri = [0.05, 0.15]  # [0.06, 0.15]  # [0.05, 0.8]  # [0., 1.] (with min still)
red_pri = [2.5, 4.0]
base = 'fico'
e_objs, e_fields, l_objs, l_fields = sa.get_gal_lists(base, objlists=True, normal=True)

'''
for x in range(100):  # 200
'''
for x in range(2,50):
    print(x)
    '''
    m = random.uniform(m_pri[0], m_pri[1])
    d = random.uniform(d_pri[0], d_pri[1])
    z = random.uniform(z_pri[0], z_pri[1])
    s1 = random.uniform(s1_pri[0], s1_pri[1])
    s2 = random.uniform(s2_pri[0], min([1-s1, s2_pri[1]]))  # total fractions cannot add to more than 1!
    red = random.uniform(red_pri[0], red_pri[1])
    # '''
Beispiel #7
0
def return_fracs(gals,
                 order,
                 pklfolder='pkl_efico/',
                 outfold='out_efico/',
                 base='fico',
                 ls=False):
    import ssfr_now as sfnow
    eelgs, lbgs1 = sa.get_gal_lists(base=[base, base], normal=True)
    git = '/home/jonathan/.conda/envs/snowflakes/lib/python2.7/site-packages/prospector/git/'
    out = git + 'out/' + outfold
    f_folder = git + pklfolder
    gals1 = gals
    if ls:
        gals1 = []
        for i in range(len(lbgs1)):
            file = f_folder + lbgs1[i] + '_extra_out.pkl'
            if os.path.exists(file):
                for ga in gals:
                    print(str(ga))
                    if file.startswith(f_folder + str(ga)):
                        gals1.append(lbgs1[i])
    # print(lbgs1)
    print(len(gals1), 'look')
    '''
    ordered = []
    for go in range(len(order)):
        for ga in range(len(gals1)):
            if gals1[ga].startswith(order[go]):
                ordered.append(gals1[ga])
    '''
    ordered = gals1

    time = 0.5 * 10**8
    sfh = []
    highfracs = []
    # print('masses', masses)
    frac = np.zeros(shape=(len(ordered), 10**3))
    for ord in range(len(ordered)):
        # print(ordered[ord])
        # file = f_folder + str(glxy) + '*_extra_out.pkl'
        for pkls in os.listdir(f_folder):
            if pkls.startswith(str(
                    ordered[ord])) and pkls.endswith('_extra_out.pkl'):
                file = f_folder + pkls
                sfh.append(sfnow.get_sfh(file)[0])  # 1st bin
    # for i in range(len(ordered)):
    # print(ord)
        file_i = None
        for outs in os.listdir(out):
            if outs.startswith(str(ordered[ord])) and outs.endswith('.h5'):
                file_i = out + outs
        get_e = gmd.printer(file_i, percs=False, quiet=True)
        for k in range(10**3):
            frac[ord, k] = sfh[ord][np.random.randint(len(
                sfh[ord]))] * time / (10**get_e[np.random.randint(len(get_e))])

    # print(frac)
    all_true = []
    for fr in range(len(frac)):
        for k in range(10**3):
            all_true.append(frac[fr, k])
    # print(all_fracs)

    return np.percentile(all_true, [16., 50., 84.])
Beispiel #8
0
        'e': path + 'ews_eelgs.txt',
        'f': path + 'fluxes_eelgs.txt'
    }
    s_fs = {
        's': path + 'sfg_ssfrs.txt',
        'e': path + 'ews_sfgs.txt',
        'f': path + 'fluxes_sfgs.txt'
    }

    # same for EELGs, SFGs
    key = 'e'
    ratio = [False, True]
    idx = 5  # [NII]6585, [OII]3726, 'Halpha6563', '[OII]3729', '[OIII]4960', '[OIII]5007', 'Hbeta4861', 'Hdelta4102'

    ee_order, ee_fd, sf_order, sf_fd = sa.get_gal_lists(base=['fico', 'fico'],
                                                        objlists=True,
                                                        normal=True)

    # different for EELGs, SFGs
    colors = ['purple', 'b']  # eelg, sfg
    eelg_file = e_fs[key]
    sfg_file = s_fs[key]

    # eew, emass, labs = preplot(order=ee_order, keys=key, file=eelg_file, line_idx=idx, ratio=ratio, outfold=e_out)
    eew, emass, labs, r_idcs = preplot(order=ee_order,
                                       keys=key,
                                       file=eelg_file,
                                       line_idx=idx,
                                       ratio=ratio,
                                       outfold=e_out,
                                       types=True)
Beispiel #9
0
 eelgs = []
 for line in eelg_list:
     if line[0] == '#':
         pass
     else:
         cols = line.split()
         if int(cols[0]) - 200000 > 0:
             eelgs.append(str(int(cols[0]) - 200000) + '_uds_' + base)  # base[1] = noelg (or nother)
         elif int(cols[0]) - 100000 > 0:
             eelgs.append(str(int(cols[0]) - 100000) + '_cosmos_' + base)  # base[1] = noelg (or nother)
         else:
             eelgs.append(str(int(cols[0])) + '_cdfs_' + base)  # base[1] = noelg (or nother)
 eelg_list.close()
 '''
 import stellar_ages as sa
 eelgs, sfgs = sa.get_gal_lists([base, base])
 # START STACKING
 t1 = []
 draws = []
 boots = []
 nummy = 0
 c = 0
 for glxy in eelgs:
     print(glxy)
     c += 1
     # file = glxy[0] + '_' + glxy[1] + '_' + glxy[2] + '_extra_out.pkl'
     file = pkls + glxy + '_extra_out.pkl'
     if os.path.exists(file):
         nummy += 1
         temp = randraw(
             file, mass
Beispiel #10
0
e_only = 1  # True=1
# folders = ['pkl_efifty', 'pkl_nvary']
# file = ['fifty', 'vary']  # 'fix'  # 'fifty'  # 'vary'  # 'newmask'
# folders = ['pkl_efico', 'pkl_esol']
folders = ['pkl_efico', 'pkl_etenmet']
# folders = ['pkl_efifty', 'pkl_evar']  # 'pkl_efix']
# file = ['fico', 'sol']  # ['fifty', 'vary']  # 'fix'  # 'fifty'  # 'vary'  # 'newmask'
file = ['fico', 'tenmet']
ylabs = ['50 Myr bin', 'solar']  # '1/10 met minimum boundary']
# ylabs = ['50 Myr bin', '100 Myr bin']

objs = []
fields = []
count = 0

eelg_objs, eelg_fields, lbg_objs, lbg_fields = sa.get_gal_lists(base=file,
                                                                objlists=True)
if e_only:
    eelg_objs2, eelg_fields2, lbg_objs, lbg_fields = sa.get_gal_lists(
        base=file, objlists=True)
    objsets = [[eelg_objs, eelg_fields], [eelg_objs2, eelg_fields2]]
    print(objsets)
else:
    objsets = [[eelg_objs, eelg_fields], [lbg_objs, lbg_fields]]
print(objsets[1])

set_count = 0
waves_cos = []
waves_cdf = []
waves_uds = []
chis_cdf = []
chis_cos = []