Beispiel #1
0
    def generate_model_data_vector(self, times, parameters):
        #        parameters = get_parameter_set()

        cosmo = LambdaCDM(H0=parameters[0],
                          Om0=parameters[1],
                          Ode0=parameters[2],
                          Ob0=parameters[3],
                          Tcmb0=2.725)
        model_data_vector = cosmo.age(times).value
        #not keeping units here

        return model_data_vector
cat_ID = cat['BESTOBJID']
EpA = fits.getdata('~/EpA_Results.fits')


cosmo = LambdaCDM(H0=70, Om0=0.3, Ode0=0.7)

"""
    two sections below for converting the age data to Z values and GYrs so that they could be plotted
"""

sb_age_list_gyr=[]
sb_age_list_z = []
zrange = np.arange(0,1396)
for i in zrange:
    age = cosmo.age(cat_z[i])
    age_diff = age.value - (EpA['AGE'][i] / 1000)
    sb_age_list_gyr.append(age_diff * age.unit)
    if age_diff >= 0:
        sb_age_list_z.append(astropy.cosmology.z_at_value(cosmo.age, sb_age_list_gyr[i]))

sb_age_list_z_2 = []
sb_age_list_gyr_2 = []
zrange2 = np.arange(0,26)
for i in zrange2:
    age = cosmo.age(cat_z[high_index[0]][i])
    age_diff = age.value - (EpA['AGE'][high_index[0]][i] / 1000)
    sb_age_list_gyr_2.append(age_diff * age.unit)
    if age_diff >= 0:
        sb_age_list_z_2.append(astropy.cosmology.z_at_value(cosmo.age, sb_age_list_gyr_2[i]))
Beispiel #3
0
snap_redshifts = np.empty(0)

redshift_start = 5.
redshift_end = 1.e-7
snip_time_delta = 5.0e-3  # Time difference between snipshots in Gyr (Yannick suggests 5 Myr)

all_snapshots = True

#######################################################################################

Planck18 = LambdaCDM(cosmology['h'] * 100,
                     cosmology['Omega_m'],
                     cosmology['Omega_lambda'],
                     Ob0=cosmology['Omega_b'])

time_start = Planck18.age(redshift_start)
time_end = Planck18.age(redshift_end)
snip_time_delta *= Gyr
number_of_snips = int((time_end - time_start) / snip_time_delta)
snip_times = np.linspace(time_start, time_end, number_of_snips, dtype=np.float)

snip_redshifts = np.zeros(len(snip_times), dtype=np.float64)
for i in range(len(snip_times)):
    snip_redshifts[i] = z_at_value(Planck18.age, snip_times[i])

if len(snap_redshifts) > 0:

    # Delete duplicate redshifts
    for z_snap in snap_redshifts:
        idx_close = np.where(
            np.abs(snip_redshifts - z_snap) <= snip_time_delta.value / 2)[0]
    18.08, 15.28, 13.06, 11.26, 9.79, 8.57, 7.54, 6.67, 5.92, 5.28, 4.72, 4.24,
    3.81, 3.43, 3.09, 2.79, 2.52, 2.28, 2.06, 1.86, 1.68, 1.51, 1.36, 1.21,
    1.08, 0.96, 0.85, 0.74, 0.64, 0.55, 0.46, 0.37, 0.29, 0.21, 0.14, 0.07,
    1.e-7
])

snip_time_delta = 5.0e-3  # Time interval between snipshots in Gyr (Yannick suggests 5 Myr)

#######################################################################################

Planck18 = LambdaCDM(cosmology['h'] * 100,
                     cosmology['Omega_m'],
                     cosmology['Omega_lambda'],
                     Ob0=cosmology['Omega_b'])

time_start = Planck18.age(snap_redshifts[0])
time_end = Planck18.age(snap_redshifts[-1])
snip_time_delta *= Gyr
number_of_snips = int((time_end - time_start) / snip_time_delta)
snip_times = np.linspace(time_start, time_end, number_of_snips, dtype=np.float)

snip_redshifts = np.zeros(len(snip_times), dtype=np.float64)
for i in range(len(snip_times)):
    snip_redshifts[i] = z_at_value(Planck18.age, snip_times[i])

# Delete duplicate redshifts
for z_snap in snap_redshifts:
    idx_close = np.where(np.abs(snip_redshifts - z_snap) <= 5.0e-6)[0]
    snip_redshifts = np.delete(snip_redshifts, idx_close)

# Collect all outputs