From fbbd79027f33d865da2e5b823e81fcd634ad62a8 Mon Sep 17 00:00:00 2001 From: fangyuedong Date: Wed, 3 Apr 2024 08:51:28 +0800 Subject: [PATCH] add "obs_config_file" in the overall config to overrite the obs_config from pointing list --- ObservationSim/Config/Pointing.py | 8 +++++--- ObservationSim/_util.py | 9 +++++++-- config/config_overall.yaml | 4 +++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ObservationSim/Config/Pointing.py b/ObservationSim/Config/Pointing.py index a46ec68..698566e 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 b6b5d61..164b9c5 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 7bad886..01507ae 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 -- GitLab