Loading Catalog/C6_50sqdeg.py +4 −6 Original line number Diff line number Diff line Loading @@ -70,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 @@ -92,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 ObservationSim/Config/Config.py +11 −7 Original line number Diff line number Diff line Loading @@ -12,15 +12,19 @@ def config_dir(config, work_dir=None, data_dir=None): path_dict["work_dir"] = work_dir # Data directory if data_dir == None: # Assume all input datasets are in the work directory path_dict["data_dir"] =os.path.join(path_dict["work_dir"], "data/") else: path_dict["data_dir"] = data_dir # if data_dir == None: # # Assume all input datasets are in the work directory # path_dict["data_dir"] =os.path.join(path_dict["work_dir"], "data/") # else: # path_dict["data_dir"] = data_dir # PSF data directory # if config["psf_setting"]["psf_model"] == "Interp": # path_dict["psf_pho_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_pho_dir"]) # path_dict["psf_sls_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_sls_dir"]) if config["psf_setting"]["psf_model"] == "Interp": path_dict["psf_pho_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_pho_dir"]) path_dict["psf_sls_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_sls_dir"]) path_dict["psf_pho_dir"] = config["psf_setting"]["psf_pho_dir"] path_dict["psf_sls_dir"] = config["psf_setting"]["psf_sls_dir"] return path_dict Loading ObservationSim/Config/Pointing.py +34 −2 Original line number Diff line number Diff line import numpy as np import galsim import os import shutil import yaml import galsim import numpy as np from astropy.time import Time from ObservationSim.Config._util import get_obs_id import ObservationSim.Instrument._util as _util class Pointing(object): Loading Loading @@ -103,3 +106,32 @@ class Pointing(object): self.pointing_type = self.obs_param["obs_type"] else: self.timestamp = t def make_output_pointing_dir(self, overall_config, pointing_ID=0, copy_obs_config=False): run_dir = os.path.join(overall_config["work_dir"], overall_config["run_name"]) if not os.path.exists(run_dir): try: os.makedirs(run_dir, exist_ok=True) except OSError: pass # self.prefix = "MSC_" + str(pointing_ID).rjust(8, '0') self.output_prefix = get_obs_id( img_type=self.pointing_type, project_cycle=overall_config["project_cycle"], run_counter=overall_config["run_counter"], pointing_id=self.obs_id, pointing_type_code = self.pointing_type_code) self.output_dir = os.path.join(run_dir, self.output_prefix) if not os.path.exists(self.output_dir): try: os.makedirs(self.output_dir, exist_ok=True) except OSError: pass if copy_obs_config and self.obs_config_file: obs_config_output_path = os.path.join(self.output_dir, os.path.basename(self.obs_config_file)) if not os.path.exists(obs_config_output_path): try: shutil.copy(args.obs_config_file, self.output_dir) except OSError: pass ObservationSim/ObservationSim.py +4 −4 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ from ObservationSim.Config import config_dir, ChipOutput from ObservationSim.Instrument import Telescope, Filter, FilterParam, FocalPlane, Chip from ObservationSim.Instrument.Chip import Effects from ObservationSim.Instrument.Chip import ChipUtils as chip_utils from ObservationSim._util import makeSubDir_PointingList from ObservationSim._util import make_output_pointing_dir from ObservationSim.Astrometry.Astrometry_util import on_orbit_obs_position from ObservationSim.sim_steps import SimSteps, SIM_STEP_TYPES Loading Loading @@ -99,7 +99,6 @@ class Observation(object): sim_steps = SimSteps(overall_config=self.config, chip_output=chip_output, all_filters=self.all_filters) for step in pointing.obs_param["call_sequence"]: print(step) if self.config["run_option"]["out_cat_only"]: if step != "scie_obs": continue Loading Loading @@ -268,6 +267,9 @@ class Observation(object): # Construct chips & filters: pointing = pointing_list[ipoint] pointing_ID = pointing.id sub_img_dir, prefix = make_output_pointing_dir(path_dict=self.path_dict, config=self.config, pointing_ID=pointing_ID) self.focal_plane = FocalPlane(chip_list=pointing.obs_param["run_chips"]) # Make Chip & Filter lists self.chip_list = [] Loading Loading @@ -310,8 +312,6 @@ class Observation(object): continue pid = os.getpid() sub_img_dir, prefix = makeSubDir_PointingList(path_dict=self.path_dict, config=self.config, pointing_ID=pointing_ID) chip = run_chips[ichip] filt = run_filts[ichip] # chip_output.Log_info("running pointing#%d, chip#%d, at PID#%d..."%(pointing_ID, chip.chipID, pid)) Loading ObservationSim/_util.py +7 −3 Original line number Diff line number Diff line Loading @@ -37,8 +37,12 @@ def generate_pointing_list(config, pointing_filename=None, data_dir=None): else: obs_config_file = None if pointing_filename and data_dir: # if pointing_filename and data_dir: if pointing_filename: if data_dir: pointing_file = os.path.join(data_dir, pointing_filename) else: pointing_file = pointing_filename f = open(pointing_file, 'r') # for _ in range(1): # header = f.readline() Loading Loading @@ -93,7 +97,7 @@ def make_run_dirs(work_dir, run_name, pointing_list): pass return imgDir def makeSubDir_PointingList(path_dict, config, pointing_ID=0): def make_output_pointing_dir(path_dict, config, pointing_ID=0): imgDir = os.path.join(path_dict["work_dir"], config["run_name"]) if not os.path.exists(imgDir): try: Loading Loading
Catalog/C6_50sqdeg.py +4 −6 Original line number Diff line number Diff line Loading @@ -70,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 @@ -92,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
ObservationSim/Config/Config.py +11 −7 Original line number Diff line number Diff line Loading @@ -12,15 +12,19 @@ def config_dir(config, work_dir=None, data_dir=None): path_dict["work_dir"] = work_dir # Data directory if data_dir == None: # Assume all input datasets are in the work directory path_dict["data_dir"] =os.path.join(path_dict["work_dir"], "data/") else: path_dict["data_dir"] = data_dir # if data_dir == None: # # Assume all input datasets are in the work directory # path_dict["data_dir"] =os.path.join(path_dict["work_dir"], "data/") # else: # path_dict["data_dir"] = data_dir # PSF data directory # if config["psf_setting"]["psf_model"] == "Interp": # path_dict["psf_pho_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_pho_dir"]) # path_dict["psf_sls_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_sls_dir"]) if config["psf_setting"]["psf_model"] == "Interp": path_dict["psf_pho_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_pho_dir"]) path_dict["psf_sls_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_sls_dir"]) path_dict["psf_pho_dir"] = config["psf_setting"]["psf_pho_dir"] path_dict["psf_sls_dir"] = config["psf_setting"]["psf_sls_dir"] return path_dict Loading
ObservationSim/Config/Pointing.py +34 −2 Original line number Diff line number Diff line import numpy as np import galsim import os import shutil import yaml import galsim import numpy as np from astropy.time import Time from ObservationSim.Config._util import get_obs_id import ObservationSim.Instrument._util as _util class Pointing(object): Loading Loading @@ -103,3 +106,32 @@ class Pointing(object): self.pointing_type = self.obs_param["obs_type"] else: self.timestamp = t def make_output_pointing_dir(self, overall_config, pointing_ID=0, copy_obs_config=False): run_dir = os.path.join(overall_config["work_dir"], overall_config["run_name"]) if not os.path.exists(run_dir): try: os.makedirs(run_dir, exist_ok=True) except OSError: pass # self.prefix = "MSC_" + str(pointing_ID).rjust(8, '0') self.output_prefix = get_obs_id( img_type=self.pointing_type, project_cycle=overall_config["project_cycle"], run_counter=overall_config["run_counter"], pointing_id=self.obs_id, pointing_type_code = self.pointing_type_code) self.output_dir = os.path.join(run_dir, self.output_prefix) if not os.path.exists(self.output_dir): try: os.makedirs(self.output_dir, exist_ok=True) except OSError: pass if copy_obs_config and self.obs_config_file: obs_config_output_path = os.path.join(self.output_dir, os.path.basename(self.obs_config_file)) if not os.path.exists(obs_config_output_path): try: shutil.copy(args.obs_config_file, self.output_dir) except OSError: pass
ObservationSim/ObservationSim.py +4 −4 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ from ObservationSim.Config import config_dir, ChipOutput from ObservationSim.Instrument import Telescope, Filter, FilterParam, FocalPlane, Chip from ObservationSim.Instrument.Chip import Effects from ObservationSim.Instrument.Chip import ChipUtils as chip_utils from ObservationSim._util import makeSubDir_PointingList from ObservationSim._util import make_output_pointing_dir from ObservationSim.Astrometry.Astrometry_util import on_orbit_obs_position from ObservationSim.sim_steps import SimSteps, SIM_STEP_TYPES Loading Loading @@ -99,7 +99,6 @@ class Observation(object): sim_steps = SimSteps(overall_config=self.config, chip_output=chip_output, all_filters=self.all_filters) for step in pointing.obs_param["call_sequence"]: print(step) if self.config["run_option"]["out_cat_only"]: if step != "scie_obs": continue Loading Loading @@ -268,6 +267,9 @@ class Observation(object): # Construct chips & filters: pointing = pointing_list[ipoint] pointing_ID = pointing.id sub_img_dir, prefix = make_output_pointing_dir(path_dict=self.path_dict, config=self.config, pointing_ID=pointing_ID) self.focal_plane = FocalPlane(chip_list=pointing.obs_param["run_chips"]) # Make Chip & Filter lists self.chip_list = [] Loading Loading @@ -310,8 +312,6 @@ class Observation(object): continue pid = os.getpid() sub_img_dir, prefix = makeSubDir_PointingList(path_dict=self.path_dict, config=self.config, pointing_ID=pointing_ID) chip = run_chips[ichip] filt = run_filts[ichip] # chip_output.Log_info("running pointing#%d, chip#%d, at PID#%d..."%(pointing_ID, chip.chipID, pid)) Loading
ObservationSim/_util.py +7 −3 Original line number Diff line number Diff line Loading @@ -37,8 +37,12 @@ def generate_pointing_list(config, pointing_filename=None, data_dir=None): else: obs_config_file = None if pointing_filename and data_dir: # if pointing_filename and data_dir: if pointing_filename: if data_dir: pointing_file = os.path.join(data_dir, pointing_filename) else: pointing_file = pointing_filename f = open(pointing_file, 'r') # for _ in range(1): # header = f.readline() Loading Loading @@ -93,7 +97,7 @@ def make_run_dirs(work_dir, run_name, pointing_list): pass return imgDir def makeSubDir_PointingList(path_dict, config, pointing_ID=0): def make_output_pointing_dir(path_dict, config, pointing_ID=0): imgDir = os.path.join(path_dict["work_dir"], config["run_name"]) if not os.path.exists(imgDir): try: Loading