diff --git a/ObservationSim/Config/Pointing.py b/ObservationSim/Config/Pointing.py index a46ec68f0519bd7d36a603faec2f44f2eb570a61..698566ed9c73ad53c53f7428ad308861b482920d 100644 --- a/ObservationSim/Config/Pointing.py +++ b/ObservationSim/Config/Pointing.py @@ -6,7 +6,7 @@ from astropy.time import Time import ObservationSim.Instrument._util as _util class Pointing(object): - def __init__(self, id=0, ra=0., dec=0., img_pa=0., timestamp=1621915200, sat_x=0., sat_y=0., sat_z=0., sun_x=0., sun_y=0., sun_z=0., sat_vx=0., sat_vy=0., sat_vz=0., exp_time=150., pointing_type='SCI'): + def __init__(self, id=0, ra=0., dec=0., img_pa=0., timestamp=1621915200, sat_x=0., sat_y=0., sat_z=0., sun_x=0., sun_y=0., sun_z=0., sat_vx=0., sat_vy=0., sat_vz=0., exp_time=150., pointing_type='SCI', obs_config_file=None): self.id = id self.ra = ra self.dec = dec @@ -19,6 +19,7 @@ class Pointing(object): self.pointing_type = pointing_type self.survey_field_type = 'WIDE' self.jdt = 0. + self.obs_config_file = obs_config_file def get_full_depth_exptime(self, filter_type): if self.survey_field_type == 'WIDE': @@ -70,9 +71,10 @@ class Pointing(object): if is_deep != -1.0: self.survey_field_type = "DEEP" + if not self.obs_config_file: + self.obs_config_file = str(columns[20]) + # Load the configuration file for this particular pointing - # [TODO] - self.obs_config_file = "/public/home/fangyuedong/project/csst-simulation/config/obs_config_SCI_WIDE_phot.yaml" with open(self.obs_config_file, "r") as stream: try: self.obs_param = yaml.safe_load(stream) diff --git a/ObservationSim/_util.py b/ObservationSim/_util.py index b6b5d61866f1ddd17a569a616f1d4420462c5522..164b9c564d73be279c9f5c65ca9643ec77ebd1f8 100755 --- a/ObservationSim/_util.py +++ b/ObservationSim/_util.py @@ -32,6 +32,10 @@ def generate_pointing_list(config, pointing_filename=None, data_dir=None): ipoint = 0 run_pointings = config['obs_setting']['run_pointings'] + if "obs_config_file" in config['obs_setting']: + obs_config_file = config['obs_setting']["obs_config_file"] + else: + obs_config_file = None if pointing_filename and data_dir: pointing_file = os.path.join(data_dir, pointing_filename) @@ -48,7 +52,7 @@ def generate_pointing_list(config, pointing_filename=None, data_dir=None): continue line = line.strip() columns = line.split() - pointing = Pointing() + pointing = Pointing(obs_config_file=obs_config_file) pointing.read_pointing_columns(columns=columns, id=ipoint) t += delta_t * 60. pointing_list.append(pointing) @@ -67,7 +71,8 @@ def generate_pointing_list(config, pointing_filename=None, data_dir=None): img_pa=config["obs_setting"]["image_rot"], timestamp=t, exp_time=exp_time, - pointing_type='SCI' + pointing_type='SCI', + obs_config_file=obs_config_file ) t += delta_t * 60. pointing_list.append(pointing) diff --git a/config/config_overall.yaml b/config/config_overall.yaml index 7bad886d754d4553246fecd61309fbe6b6e84dfb..01507ae21834a3a491e389137860b1c2d0651ece 100644 --- a/config/config_overall.yaml +++ b/config/config_overall.yaml @@ -28,7 +28,7 @@ run_option: # Output catalog only? # If yes, no imaging simulation will run - out_cat_only: NO + out_cat_only: YES ############################################### # Catalog setting @@ -71,6 +71,8 @@ obs_setting: pointing_dir: "/public/share/yangxuliu/CSSOSDataProductsSims/data_50sqDeg" pointing_file: "pointing_50_combined.dat" + obs_config_file: "/public/home/fangyuedong/project/csst-simulation/config/obs_config_SCI_WIDE_phot.yaml" + # Run specific pointing(s): # - give a list of indexes of pointings: [ip_1, ip_2...] # - run all pointings: null