Loading .gitignore 0 → 100644 +8 −0 Original line number Diff line number Diff line build/* CSSTSim.egg-info/* dist/* *.pyc *.so *disperse.c *interp.c !*libshao.so No newline at end of file Catalog/C6_50sqdeg.py +30 −24 Original line number Diff line number Diff line import os import galsim import random import copy import numpy as np import h5py as h5 import healpy as hp Loading Loading @@ -69,8 +70,7 @@ def get_star_cat(ra_pointing, dec_pointing): class Catalog(CatalogBase): def __init__(self, config, chip, pointing, chip_output, filt, **kwargs): super().__init__() self.cat_dir = os.path.join(config["data_dir"], config["catalog_options"]["input_path"]["cat_dir"]) self.seed_Av = config["catalog_options"]["seed_Av"] self.cat_dir = config["catalog_options"]["input_path"]["cat_dir"] self.cosmo = FlatLambdaCDM(H0=67.66, Om0=0.3111) Loading @@ -91,20 +91,19 @@ class Catalog(CatalogBase): # Get the cloest star catalog file star_file_name = get_star_cat(ra_pointing=self.pointing.ra, dec_pointing=self.pointing.dec) star_path = os.path.join(config["catalog_options"]["input_path"]["star_cat"], star_file_name) star_SED_file = config["catalog_options"]["SED_templates_path"]["star_SED"] self.star_path = os.path.join(self.cat_dir, star_path) self.star_SED_path = os.path.join(config["data_dir"], star_SED_file) self.star_SED_path = config["catalog_options"]["SED_templates_path"]["star_SED"] self._load_SED_lib_star() if "galaxy_cat" in config["catalog_options"]["input_path"] and config["catalog_options"]["input_path"]["galaxy_cat"] and not config["catalog_options"]["star_only"]: galaxy_dir = config["catalog_options"]["input_path"]["galaxy_cat"] self.galaxy_path = os.path.join(self.cat_dir, galaxy_dir) self.galaxy_SED_path = os.path.join(config["data_dir"], config["catalog_options"]["SED_templates_path"]["galaxy_SED"]) self.galaxy_SED_path = config["catalog_options"]["SED_templates_path"]["galaxy_SED"] self._load_SED_lib_gals() self.agn_seds = {} if "AGN_SED" in config["catalog_options"]["SED_templates_path"] and not config["catalog_options"]["star_only"]: self.AGN_SED_path = os.path.join(config["data_dir"], config["catalog_options"]["SED_templates_path"]["AGN_SED"]) self.AGN_SED_path = config["catalog_options"]["SED_templates_path"]["AGN_SED"] if "rotateEll" in config["catalog_options"]: self.rotation = np.radians(float(config["catalog_options"]["rotateEll"])) Loading @@ -123,7 +122,7 @@ class Catalog(CatalogBase): self.add_fmt = " %10s %8.4f %8.4f %8.4f" self.add_fmt += " %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %4d %8.4f " self.chip_output.update_ouptut_header(additional_column_names=self.add_hdr) self.chip_output.update_output_header(additional_column_names=self.add_hdr) def _get_healpix_list(self): self.sky_coverage = self.chip.getSkyCoverageEnlarged(self.chip.img.wcs, margin=0.2) Loading Loading @@ -204,6 +203,10 @@ class Catalog(CatalogBase): param['dec'] = dec_arr[igals] param['ra_orig'] = gals['ra'][igals] param['dec_orig'] = gals['dec'][igals] if not self.chip.isContainObj(ra_obj=param['ra'], dec_obj=param['dec'], margin=200): continue # param['mag_use_normal'] = gals['mag_csst_%s'%(self.filt.filter_type)][igals] if self.filt.filter_type == 'NUV': param['mag_use_normal'] = gals['mag_csst_nuv'][igals] Loading Loading @@ -275,29 +278,32 @@ class Catalog(CatalogBase): param['av'] = 0.0 param['redden'] = 0 # TEMP self.ids += 1 param['id'] = '%06d'%(int(pix_id)) + '%06d'%(cat_id) + '%08d'%(igals) # Is this an Quasar? param['qsoindex'] = gals['qsoindex'][igals] if param['qsoindex'] == -1: param['star'] = 0 # Galaxy param['agnsed_file'] = "" obj = Galaxy(param, logger=self.logger) else: param['star'] = 2 # Quasar param['agnsed_file'] = agnsed_file # NOTE: this cut cannot be put before the SED type has been assigned if not self.chip.isContainObj(ra_obj=param['ra'], dec_obj=param['dec'], margin=200): continue # TEMP self.ids += 1 param['id'] = '%06d'%(int(pix_id)) + '%06d'%(cat_id) + '%08d'%(igals) if param['star'] == 0: param_qso = copy.deepcopy(param) param_qso['star'] = 2 # Quasar param_qso['agnsed_file'] = agnsed_file # First add QSO model obj = Quasar(param_qso, logger=self.logger) # Need to deal with additional output columns obj.additional_output_str = self.add_fmt%("n", 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0, 0.) self.objs.append(obj) # Then add host galaxy model param['star'] = 0 # Galaxy param['agnsed_file'] = "" obj = Galaxy(param, logger=self.logger) elif param['star'] == 2: obj = Quasar(param, logger=self.logger) # Need to deal with additional output columns # Need to deal with additional output columns for (host) galaxy obj.additional_output_str = self.add_fmt%("n", 0., 0., 0., param['bulgemass'], param['diskmass'], param['detA'], param['e1'], param['e2'], param['kappa'], param['g1'], param['g2'], param['size'], Loading Loading @@ -343,7 +349,7 @@ class Catalog(CatalogBase): input_time_str=time_str ) for istars in range(nstars): # # (TEST) # (TEST) # if istars > 100: # break Loading Loading @@ -446,7 +452,7 @@ class Catalog(CatalogBase): elif obj.type == 'quasar': flux = self.agn_seds[obj.agnsed_file][int(obj.qsoindex)] * 1e-17 flux[flux < 0] = 0. wave = self.lamb_gal wave = self.lamb_gal * (1.0 + obj.z) else: raise ValueError("Object type not known") speci = interpolate.interp1d(wave, flux) Loading Loading
.gitignore 0 → 100644 +8 −0 Original line number Diff line number Diff line build/* CSSTSim.egg-info/* dist/* *.pyc *.so *disperse.c *interp.c !*libshao.so No newline at end of file
Catalog/C6_50sqdeg.py +30 −24 Original line number Diff line number Diff line import os import galsim import random import copy import numpy as np import h5py as h5 import healpy as hp Loading Loading @@ -69,8 +70,7 @@ def get_star_cat(ra_pointing, dec_pointing): class Catalog(CatalogBase): def __init__(self, config, chip, pointing, chip_output, filt, **kwargs): super().__init__() self.cat_dir = os.path.join(config["data_dir"], config["catalog_options"]["input_path"]["cat_dir"]) self.seed_Av = config["catalog_options"]["seed_Av"] self.cat_dir = config["catalog_options"]["input_path"]["cat_dir"] self.cosmo = FlatLambdaCDM(H0=67.66, Om0=0.3111) Loading @@ -91,20 +91,19 @@ class Catalog(CatalogBase): # Get the cloest star catalog file star_file_name = get_star_cat(ra_pointing=self.pointing.ra, dec_pointing=self.pointing.dec) star_path = os.path.join(config["catalog_options"]["input_path"]["star_cat"], star_file_name) star_SED_file = config["catalog_options"]["SED_templates_path"]["star_SED"] self.star_path = os.path.join(self.cat_dir, star_path) self.star_SED_path = os.path.join(config["data_dir"], star_SED_file) self.star_SED_path = config["catalog_options"]["SED_templates_path"]["star_SED"] self._load_SED_lib_star() if "galaxy_cat" in config["catalog_options"]["input_path"] and config["catalog_options"]["input_path"]["galaxy_cat"] and not config["catalog_options"]["star_only"]: galaxy_dir = config["catalog_options"]["input_path"]["galaxy_cat"] self.galaxy_path = os.path.join(self.cat_dir, galaxy_dir) self.galaxy_SED_path = os.path.join(config["data_dir"], config["catalog_options"]["SED_templates_path"]["galaxy_SED"]) self.galaxy_SED_path = config["catalog_options"]["SED_templates_path"]["galaxy_SED"] self._load_SED_lib_gals() self.agn_seds = {} if "AGN_SED" in config["catalog_options"]["SED_templates_path"] and not config["catalog_options"]["star_only"]: self.AGN_SED_path = os.path.join(config["data_dir"], config["catalog_options"]["SED_templates_path"]["AGN_SED"]) self.AGN_SED_path = config["catalog_options"]["SED_templates_path"]["AGN_SED"] if "rotateEll" in config["catalog_options"]: self.rotation = np.radians(float(config["catalog_options"]["rotateEll"])) Loading @@ -123,7 +122,7 @@ class Catalog(CatalogBase): self.add_fmt = " %10s %8.4f %8.4f %8.4f" self.add_fmt += " %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %4d %8.4f " self.chip_output.update_ouptut_header(additional_column_names=self.add_hdr) self.chip_output.update_output_header(additional_column_names=self.add_hdr) def _get_healpix_list(self): self.sky_coverage = self.chip.getSkyCoverageEnlarged(self.chip.img.wcs, margin=0.2) Loading Loading @@ -204,6 +203,10 @@ class Catalog(CatalogBase): param['dec'] = dec_arr[igals] param['ra_orig'] = gals['ra'][igals] param['dec_orig'] = gals['dec'][igals] if not self.chip.isContainObj(ra_obj=param['ra'], dec_obj=param['dec'], margin=200): continue # param['mag_use_normal'] = gals['mag_csst_%s'%(self.filt.filter_type)][igals] if self.filt.filter_type == 'NUV': param['mag_use_normal'] = gals['mag_csst_nuv'][igals] Loading Loading @@ -275,29 +278,32 @@ class Catalog(CatalogBase): param['av'] = 0.0 param['redden'] = 0 # TEMP self.ids += 1 param['id'] = '%06d'%(int(pix_id)) + '%06d'%(cat_id) + '%08d'%(igals) # Is this an Quasar? param['qsoindex'] = gals['qsoindex'][igals] if param['qsoindex'] == -1: param['star'] = 0 # Galaxy param['agnsed_file'] = "" obj = Galaxy(param, logger=self.logger) else: param['star'] = 2 # Quasar param['agnsed_file'] = agnsed_file # NOTE: this cut cannot be put before the SED type has been assigned if not self.chip.isContainObj(ra_obj=param['ra'], dec_obj=param['dec'], margin=200): continue # TEMP self.ids += 1 param['id'] = '%06d'%(int(pix_id)) + '%06d'%(cat_id) + '%08d'%(igals) if param['star'] == 0: param_qso = copy.deepcopy(param) param_qso['star'] = 2 # Quasar param_qso['agnsed_file'] = agnsed_file # First add QSO model obj = Quasar(param_qso, logger=self.logger) # Need to deal with additional output columns obj.additional_output_str = self.add_fmt%("n", 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0, 0.) self.objs.append(obj) # Then add host galaxy model param['star'] = 0 # Galaxy param['agnsed_file'] = "" obj = Galaxy(param, logger=self.logger) elif param['star'] == 2: obj = Quasar(param, logger=self.logger) # Need to deal with additional output columns # Need to deal with additional output columns for (host) galaxy obj.additional_output_str = self.add_fmt%("n", 0., 0., 0., param['bulgemass'], param['diskmass'], param['detA'], param['e1'], param['e2'], param['kappa'], param['g1'], param['g2'], param['size'], Loading Loading @@ -343,7 +349,7 @@ class Catalog(CatalogBase): input_time_str=time_str ) for istars in range(nstars): # # (TEST) # (TEST) # if istars > 100: # break Loading Loading @@ -446,7 +452,7 @@ class Catalog(CatalogBase): elif obj.type == 'quasar': flux = self.agn_seds[obj.agnsed_file][int(obj.qsoindex)] * 1e-17 flux[flux < 0] = 0. wave = self.lamb_gal wave = self.lamb_gal * (1.0 + obj.z) else: raise ValueError("Object type not known") speci = interpolate.interp1d(wave, flux) Loading