def gal_model_calcs(self): ''' Read in galaxy SEDs, regrid them, calculate the model flux in each filter for each redshift. ''' print('Using %ld gal templates over %ld redshifts' % (self._n_gal_template, self.nz)) self.zstep = (self.zmax - self.zmin) / (self.nz - 1) model_flux_gals = np.zeros( (self.n_filter, self._n_gal_template * self.nz)) for i in xrange(self._n_gal_template): sed_length = get_file_length(i, self.gals_sed_input) p_lam, p_val = read_file(i, self.gals_sed_input) for j in xrange(self.nz): z = self.zmin + j * self.zstep for k in xrange(self.n_filter): p_val_fine = regrid_sed( z, p_lam, p_val, self.filter_lgth_fine[k], sed_length, self.filter_lamb_fine[k]) mod_val = integrate_sed( self.filter_lgth_fine[k], p_val_fine, self.filter_lamb_fine[k], self.filter_thru_fine[k]) model_flux_gals[k][j + i * self.nz] = mod_val self.model_flux_gals = model_flux_gals
def star_model_calcs(self): ''' Read in star SEDs, regrid them, calculate the model flux in each filter for each redshift. ''' print('Using %ld star templates' % self._n_star_template) model_flux_stars = np.zeros((self.n_filter, self._n_star_template)) for i in xrange(self._n_star_template): sed_length = get_file_length(i, self.stars_sed_input) p_lam, p_val = read_file(i, self.stars_sed_input) for k in xrange(self.n_filter): p_val_fine = regrid_sed( 0.0, p_lam, p_val, self.filter_lgth_fine[k], sed_length, self.filter_lamb_fine[k]) mod_val = integrate_sed( self.filter_lgth_fine[k], p_val_fine, self.filter_lamb_fine[k], self.filter_thru_fine[k]) model_flux_stars[k][i] = mod_val self.model_flux_stars = model_flux_stars