Loading README.md +7 −0 Original line number Diff line number Diff line # CSST主巡天仿真软件 ## 重要更新或问题修复: * 2025.07.10: 针对1000平方度宽场及50平方度深场仿真,更新至v3.3版本,内容包括: * 根据最新实测结果,更新部分探测器参数 * 加入光谱PSF、LED图像获取工具 * 更新光谱分光文件 * 更新系统效率曲线 * 更新头文件关键字 * 在config中加入data_set关键字 * 2025.05.21: 更新至v3.2版本,内容包括: * 加入亮星PSF外插模块 * 加入串扰模块 Loading config/config_overall.yaml +4 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # # Configuration file for CSST simulation # Overall settings # CSST-Sim Group, 2024/01/08 # CSST-Sim Group, 2025/06/18 # ############################################### Loading @@ -12,10 +12,10 @@ # ok to pass either way or both, as long as they are consistent work_dir: "/public/home/fangyuedong/project/workplace/" run_name: "ext_on" data_set: "csst-msc-c9-25sqdeg-v_test" data_set: "csst-msc-c11-1000sqdeg-wide-v1" # Project cycle and run counter are used to name the outputs project_cycle: 9 project_cycle: 11 run_counter: 1 # Run options Loading observation_sim/ObservationSim.py +2 −2 Original line number Diff line number Diff line Loading @@ -68,8 +68,8 @@ class Observation(object): chip.shutter_img = np.ones_like(chip.img.array) else: chip.shutter_img = effects.ShutterEffectArr( chip.img, t_exp=pointing.exp_time, t_shutter=1.3, dist_bearing=735, dt=1E-3) chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.01, chip.img, t_exp=pointing.exp_time, t_shutter=1.5, dist_bearing=735, dt=1E-3) chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.007, seed=int(self.config["random_seeds"]["seed_prnu"]+chip.chipID)) return chip Loading observation_sim/config/ChipOutput.py +3 −1 Original line number Diff line number Diff line Loading @@ -26,9 +26,11 @@ class ChipOutput(object): im_type=pointing.pointing_type, sat_pos=[pointing.sat_x, pointing.sat_y, pointing.sat_z], sat_vel=[pointing.sat_vx, pointing.sat_vy, pointing.sat_vz], pa=(pointing.img_pa.deg + 180) % 360 - 180, project_cycle=self.config["project_cycle"], run_counter=self.config["run_counter"], chip_name=self.chip_label, obstype=pointing.pointing_type, dataset=pointing.dataset) obs_id = _util.get_obs_id(img_type=self.pointing_type, project_cycle=config["project_cycle"], run_counter=config[ Loading Loading @@ -71,7 +73,7 @@ class ChipOutput(object): self.hdr += additional_column_names def create_output_file(self): if self.pointing_type == 'SCI': if self.pointing_type == 'WIDE' or self.pointing_type == 'DEEP': self.cat = open(os.path.join(self.subdir, self.cat_name), "w") self.logger.info("Creating catalog file %s ...\n" % (os.path.join(self.subdir, self.cat_name))) Loading observation_sim/config/Pointing.py +6 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import observation_sim.instruments._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', pointing_type_code='101', pointing_id='00000001', obs_config_file=None, t_shutter_open=1.3, t_shutter_close=1.3, dataset='csst-msc-c9-25sqdeg-v3'): 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='WIDE', pointing_type_code='101', pointing_id='00000001', obs_config_file=None, t_shutter_open=1.3, t_shutter_close=1.3, dataset='csst-msc-c9-25sqdeg-v3'): self.id = id self.ra = ra self.dec = dec Loading Loading @@ -91,6 +91,9 @@ class Pointing(object): # [TODO] Can also define other survey types if is_deep == 2: self.survey_field_type = "DEEP" self.pointing_type = "DEEP" else: self.pointing_type = "WIDE" if not self.obs_config_file: self.obs_config_file = str(columns[20]) Loading @@ -102,7 +105,7 @@ class Pointing(object): self.pointing_type_code = columns[21][0:3] self.obs_id = columns[21][3:] if self.obs_param["obs_type"]: self.pointing_type = self.obs_param["obs_type"] else: self.timestamp = t Loading Loading
README.md +7 −0 Original line number Diff line number Diff line # CSST主巡天仿真软件 ## 重要更新或问题修复: * 2025.07.10: 针对1000平方度宽场及50平方度深场仿真,更新至v3.3版本,内容包括: * 根据最新实测结果,更新部分探测器参数 * 加入光谱PSF、LED图像获取工具 * 更新光谱分光文件 * 更新系统效率曲线 * 更新头文件关键字 * 在config中加入data_set关键字 * 2025.05.21: 更新至v3.2版本,内容包括: * 加入亮星PSF外插模块 * 加入串扰模块 Loading
config/config_overall.yaml +4 −4 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # # Configuration file for CSST simulation # Overall settings # CSST-Sim Group, 2024/01/08 # CSST-Sim Group, 2025/06/18 # ############################################### Loading @@ -12,10 +12,10 @@ # ok to pass either way or both, as long as they are consistent work_dir: "/public/home/fangyuedong/project/workplace/" run_name: "ext_on" data_set: "csst-msc-c9-25sqdeg-v_test" data_set: "csst-msc-c11-1000sqdeg-wide-v1" # Project cycle and run counter are used to name the outputs project_cycle: 9 project_cycle: 11 run_counter: 1 # Run options Loading
observation_sim/ObservationSim.py +2 −2 Original line number Diff line number Diff line Loading @@ -68,8 +68,8 @@ class Observation(object): chip.shutter_img = np.ones_like(chip.img.array) else: chip.shutter_img = effects.ShutterEffectArr( chip.img, t_exp=pointing.exp_time, t_shutter=1.3, dist_bearing=735, dt=1E-3) chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.01, chip.img, t_exp=pointing.exp_time, t_shutter=1.5, dist_bearing=735, dt=1E-3) chip.prnu_img = effects.PRNU_Img(xsize=chip.npix_x, ysize=chip.npix_y, sigma=0.007, seed=int(self.config["random_seeds"]["seed_prnu"]+chip.chipID)) return chip Loading
observation_sim/config/ChipOutput.py +3 −1 Original line number Diff line number Diff line Loading @@ -26,9 +26,11 @@ class ChipOutput(object): im_type=pointing.pointing_type, sat_pos=[pointing.sat_x, pointing.sat_y, pointing.sat_z], sat_vel=[pointing.sat_vx, pointing.sat_vy, pointing.sat_vz], pa=(pointing.img_pa.deg + 180) % 360 - 180, project_cycle=self.config["project_cycle"], run_counter=self.config["run_counter"], chip_name=self.chip_label, obstype=pointing.pointing_type, dataset=pointing.dataset) obs_id = _util.get_obs_id(img_type=self.pointing_type, project_cycle=config["project_cycle"], run_counter=config[ Loading Loading @@ -71,7 +73,7 @@ class ChipOutput(object): self.hdr += additional_column_names def create_output_file(self): if self.pointing_type == 'SCI': if self.pointing_type == 'WIDE' or self.pointing_type == 'DEEP': self.cat = open(os.path.join(self.subdir, self.cat_name), "w") self.logger.info("Creating catalog file %s ...\n" % (os.path.join(self.subdir, self.cat_name))) Loading
observation_sim/config/Pointing.py +6 −3 Original line number Diff line number Diff line Loading @@ -10,7 +10,7 @@ import observation_sim.instruments._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', pointing_type_code='101', pointing_id='00000001', obs_config_file=None, t_shutter_open=1.3, t_shutter_close=1.3, dataset='csst-msc-c9-25sqdeg-v3'): 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='WIDE', pointing_type_code='101', pointing_id='00000001', obs_config_file=None, t_shutter_open=1.3, t_shutter_close=1.3, dataset='csst-msc-c9-25sqdeg-v3'): self.id = id self.ra = ra self.dec = dec Loading Loading @@ -91,6 +91,9 @@ class Pointing(object): # [TODO] Can also define other survey types if is_deep == 2: self.survey_field_type = "DEEP" self.pointing_type = "DEEP" else: self.pointing_type = "WIDE" if not self.obs_config_file: self.obs_config_file = str(columns[20]) Loading @@ -102,7 +105,7 @@ class Pointing(object): self.pointing_type_code = columns[21][0:3] self.obs_id = columns[21][3:] if self.obs_param["obs_type"]: self.pointing_type = self.obs_param["obs_type"] else: self.timestamp = t Loading