diff --git a/Catalog/NGPCatalog.py b/Catalog/NGPCatalog.py
index 16e55ef0ace5f11ae3fce0029444a16f988ee361..ead36a5b2516d1c1c3abc85e2db0d994908a7bcd 100644
--- a/Catalog/NGPCatalog.py
+++ b/Catalog/NGPCatalog.py
@@ -23,15 +23,13 @@ except ImportError:
 NSIDE = 128
 
 class NGPCatalog(CatalogBase):
-    def __init__(self, config, chip, pointing, **kwargs):
+    def __init__(self, config, chip, pointing, chip_output, **kwargs):
         super().__init__()
         self.cat_dir = os.path.join(config["data_dir"], config["input_path"]["cat_dir"])
         self.seed_Av = config["random_seeds"]["seed_Av"]
 
-        if "logger" in kwargs:
-            self.logger = kwargs["logger"]
-        else:
-            self.logger = None
+        self.chip_output = chip_output
+        self.logger = chip_output.logger
 
         with pkg_resources.path('Catalog.data', 'SLOAN_SDSS.g.fits') as filter_path:
                 self.normF_star = Table.read(str(filter_path))
@@ -58,8 +56,16 @@ class NGPCatalog(CatalogBase):
         else:
             self.rotation = 0.
 
+        # Update output .cat header with catalog specific output columns
+        self._add_output_columns_header()
+
         self._get_healpix_list()
         self._load()
+    
+    def _add_output_columns_header(self):
+        self.add_hdr = " model_tag teff logg feh"
+        self.add_fmt = " %10s %8.4f %8.4f %8.4f"
+        self.chip_output.update_ouptut_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)
@@ -181,10 +187,13 @@ class NGPCatalog(CatalogBase):
             
             if param['star'] == 0:
                 obj = Galaxy(param, self.rotation, logger=self.logger)
-                self.objs.append(obj)
             if param['star'] == 2:
                 obj = Quasar(param, logger=self.logger)
-                self.objs.append(obj)
+            
+            # Need to deal with additional output columns
+            obj.additional_output_str = self.add_fmt%("n", 0., 0., 0.)
+            
+            self.objs.append(obj)
 
     def _load_stars(self, stars, pix_id=None):
         nstars = len(stars['sourceID'])
@@ -249,6 +258,10 @@ class NGPCatalog(CatalogBase):
             param['z'] = 0.0
             param['star'] = 1   # Star
             obj = Star(param, logger=self.logger)
+
+            # Append additional output columns to the .cat file
+            obj.additional_output_str = self.add_fmt%(param["model_tag"], param['teff'], param['logg'], param['feh'])
+
             self.objs.append(obj)
 
     def _load(self, **kwargs):
@@ -304,7 +317,8 @@ class NGPCatalog(CatalogBase):
             raise ValueError("Object type not known")
         speci = interpolate.interp1d(wave, flux)
         # lamb = np.arange(2500, 10001 + 0.5, 0.5)
-        lamb = np.arange(2400, 11001 + 0.5, 0.5)
+        # lamb = np.arange(2400, 11001 + 0.5, 0.5)
+        lamb = np.arange(2000, 18001 + 0.5, 0.5)
         y = speci(lamb)
         # erg/s/cm2/A --> photo/s/m2/A
         all_sed = y * lamb / (cons.h.value * cons.c.value) * 1e-13
diff --git a/Catalog/data/__pycache__/__init__.cpython-38.pyc b/Catalog/data/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 8ae201fadb38753f6cb647d182e105df8c40719b..0000000000000000000000000000000000000000
Binary files a/Catalog/data/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Astrometry/lib/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Astrometry/lib/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 263f7e949d4af40b6f954ef93f510250084ebf04..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Astrometry/lib/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Config/ChipOutput.py b/ObservationSim/Config/ChipOutput.py
index 628a7c70d9a166184fb07f7cfd5f8ae3613955b4..36da1803de00642ced3cbaa94fba02cf79737715 100755
--- a/ObservationSim/Config/ChipOutput.py
+++ b/ObservationSim/Config/ChipOutput.py
@@ -11,6 +11,7 @@ class ChipOutput(object):
         self.imgKey2 = imgKey2
         self.exptime = exptime
         self.mjdTime = mjdTime
+        self.pointing_type = pointing_type
         if (ra_cen is not None) and (dec_cen is not None):
             self.ra_cen = ra_cen
             self.dec_cen = dec_cen
@@ -33,85 +34,49 @@ class ChipOutput(object):
         fh = logging.FileHandler(os.path.join(self.subdir, logger_filename), mode='w+', encoding='utf-8')
         fh.setLevel(logging.DEBUG)
         self.logger.setLevel(logging.DEBUG)
-        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+        logging.getLogger('numba').setLevel(logging.WARNING)
+        # formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+        formatter = logging.Formatter('%(asctime)s - %(msecs)d - %(levelname)-8s - [%(filename)s:%(lineno)d] - %(message)s')
         fh.setFormatter(formatter)
         self.logger.addHandler(fh)
 
         hdr1  = "# obj_ID ID_chip filter xImage yImage ra dec ra_orig dec_orig z mag obj_type "
         hdr2  = "thetaR bfrac hlr_disk hlr_bulge e1_disk e2_disk e1_bulge e2_bulge g1 g2 "
         hdr3  = "sed_type av redden "
-        hdr4 = "pm_ra pm_dec RV parallax\n"
+        hdr4 = "pm_ra pm_dec RV parallax"
 
         fmt1  = "%10d %4d %5s %10.3f %10.3f %15.8f %15.8f %15.8f %15.8f %7.4f %8.4f %15s "
         fmt2  = "%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f "
         fmt3 = "%2d %8.4f %8.4f "
-        fmt4 = "%15.8f %15.8f %15.8f %15.8f\n"
+        fmt4 = "%15.8f %15.8f %15.8f %15.8f"
 
         self.hdr = hdr1 + hdr2 + hdr3 + hdr4
         self.fmt = fmt1 + fmt2 + fmt3 + fmt4
 
         self.logger.info("pointing_type = %s\n"%(pointing_type))
-        if pointing_type == 'MS':
+
+    
+    def update_ouptut_header(self, additional_column_names=""):
+        self.hdr += additional_column_names
+    
+    def create_output_file(self):
+        if self.pointing_type == 'MS':
             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)))
+            if not self.hdr.endswith("\n"):
+                self.hdr += "\n"
             self.cat.write(self.hdr)
 
-    # def updateHDR(self, hdr):
-    #     hdrNew = [{"name":"RDNOISE", "value":self.chip.read_noise,        "comment":"read noise in e-/pixel"},
-    #             {"name":"DARK",    "value":self.chip.dark_noise,        "comment":"Dark noise (e-/pixel/s)"},
-    #             {"name":"EXPTIME", "value":self.exptime,          "comment":"exposure time in second"},
-    #             {"name":"GAIN",    "value":self.chip.gain,             "comment":"CCD gain in e-/ADU"},
-    #             {"name":"SATURATE","value":65535.0,          "comment":"saturation level"},
-    #             {"name":"CCDCHIP",  "value":int(self.chipLabel), "comment":"chip ID in the CCD mosaic"},
-    #             {"name":"FILTER",  "value":self.filt.filter_type,          "comment":"filter name"},
-    #             {"name":"MJD-OBS", "value":self.mjdTime,          "comment":"Modified Julian Date (MJD) of observation"},
-    #             {"name":"DATE-OBS","value":self.imgKey1,          "comment":"Date of observation"},
-    #             {"name":"EQUINOX", "value":2000.0},
-    #             {"name":"RADECSYS","value":"ICRS"},
-    #             {"name":"RA",      "value":self.ra_cen,           "comment":"telescope pointing center"},
-    #             {"name":"DEC",     "value":self.dec_cen,          "comment":"telescope pointing center"},
-    #             {"name":"OBJECT",  "value":"CSS-OS"},
-    #             {"name":"WCSDIM",  "value":2.0,              "comment":"WCS Dimensionality"},
-    #             {"name":"EXTNAME", "value":"IM1",            "comment":"Extension name"},
-    #             {"name":"BSCALE",  "value":1.0},
-    #             {"name":"BZERO",   "value":0.0},
-    #             {"name":"OBSID",   "value":self.imgKey0,          "comment":"Observation ID"},
-    #             {"name":"CCDNAME", "value":"ccd"+self.chipLabel,"comment":"CCD name"},
-    #             {"name":"RSPEED",  "value":10.0,             "comment":"Read speed"},
-    #             {"name":"CHIPTEMP","value":-100.0,           "comment":"Chip temperature"},
-    #             {"name":"DATASEC", "value":"1:%d,1:%d"%(self.chip.npix_x,self.chip.npix_y), "comment":"Data section"},
-    #             {"name":"CCDSUM",  "value":self.chip.npix_x*self.chip.npix_y,      "comment":"CCD pixel summing"},
-    #             {"name":"NSUM",    "value":self.chip.npix_x*self.chip.npix_y,      "comment":"CCD pixel summing"},
-    #             {"name":"AUTHOR",  "value":"CSST-Sim Group"},
-    #             {"name":"GROUP",   "value":"Weak Lensing Working Group for CSST"}]
-    #     for item in hdrNew:
-    #         hdr.add_record(item)
-    #     return hdr
-
-    # def cat_add_obj(self, obj, pos_img, snr, pos_shear, g1, g2):
     def cat_add_obj(self, obj, pos_img, pos_shear):
         ximg = pos_img.x - self.chip.bound.xmin + 1.0
         yimg = pos_img.y - self.chip.bound.ymin + 1.0
-        # if obj.type == 'galaxy':
-        #     line = self.fmt%(obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z, obj.getMagFilter(self.filt), obj.param["star"], obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge,
-        #         obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge,
-        #         pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, obj.sed_type, obj.param['av'], obj.param['redden'], 'n', 0, 0, 0)
-        # elif obj.type == "quasar":
-        #     line = self.fmt % (obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z,
-        #                        obj.getMagFilter(self.filt), obj.param["star"], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
-        #                        pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, obj.sed_type, obj.param['av'], obj.param['redden'], 'n', 0.0, 0.0, 0.0)
-        # else:
-        #     line = self.fmt%(obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z, obj.getMagFilter(self.filt), obj.param["star"], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 
-        #         pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, 0, 0.0, 0.0, obj.param['model_tag'], obj.param['teff'], obj.param['logg'],obj.param['feh'])
-        # print(
-        #     obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type, 
-        #     obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge, obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge, obj.g1, obj.g2,
-        #     obj.sed_type, obj.av, obj.redden,
-        #     obj.pmra, obj.pmdec, obj.rv, obj.parallax)
         
         line = self.fmt%(
             obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type, 
             obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge, obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge, obj.g1, obj.g2,
             obj.sed_type, obj.av, obj.redden,
             obj.pmra, obj.pmdec, obj.rv, obj.parallax)
+        line += obj.additional_output_str
+        if not line.endswith("\n"):
+            line += "\n"
         self.cat.write(line)
diff --git a/ObservationSim/Config/Config.py b/ObservationSim/Config/Config.py
index 373f0067642528cc687d483d00975f67dc92f99c..d411d85de2847a4eca24daa416f253befa755a5f 100755
--- a/ObservationSim/Config/Config.py
+++ b/ObservationSim/Config/Config.py
@@ -21,8 +21,10 @@ def config_dir(config, work_dir=None, data_dir=None):
     # Object catalog direcotry
     path_dict["cat_dir"] = os.path.join(path_dict["data_dir"], config["input_path"]["cat_dir"])
     # PSF data directory
-    path_dict["psf_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_dir"])
-    path_dict["fd_path"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["fd_path"])
+    if config["psf_setting"]["psf_model"] == "Interp":
+        path_dict["psf_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_dir"])
+    if config["ins_effects"]["field_dist"] == True:
+        path_dict["fd_path"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["fd_path"])
 
     return path_dict
 
diff --git a/ObservationSim/Instrument/Chip/Chip.py b/ObservationSim/Instrument/Chip/Chip.py
index 47120c827ffd436ae984766779416190bc5063a6..aeeda18206be24957f228b6e40a17ee23916153c 100755
--- a/ObservationSim/Instrument/Chip/Chip.py
+++ b/ObservationSim/Instrument/Chip/Chip.py
@@ -440,11 +440,14 @@ class Chip(FocalPlane):
                 self.logger.info("  Adding Bias level and 16-channel non-uniformity")
             else:
                 print("  Adding Bias level and 16-channel non-uniformity")
-            img = effects.AddBiasNonUniform16(img, 
-                bias_level=float(config["ins_effects"]["bias_level"]), 
-                nsecy = 2, nsecx=8, 
-                seed=SeedBiasNonuni+self.chipID,
-                logger=self.logger)
+            if config["ins_effects"]["bias_16channel"] == True:
+                img = effects.AddBiasNonUniform16(img, 
+                    bias_level=float(config["ins_effects"]["bias_level"]), 
+                    nsecy = 2, nsecx=8, 
+                    seed=SeedBiasNonuni+self.chipID,
+                    logger=self.logger)
+            elif config["ins_effects"]["bias_16channel"] == False:
+                img += self.bias_level
 
         # Apply Nonlinearity on the chip image
         if config["ins_effects"]["non_linear"] == True:
@@ -477,17 +480,20 @@ class Chip(FocalPlane):
             readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
             img.addNoise(readout_noise)
 
-
         # Apply Gain & Quantization
         if self.logger is not None:
             self.logger.info("  Applying Gain (and 16 channel non-uniformity) & Quantization")
         else:
             print("  Applying Gain (and 16 channel non-uniformity) & Quantization", flush=True)
-        img = effects.ApplyGainNonUniform16(
-            img, gain=self.gain, 
-            nsecy = 2, nsecx=8, 
-            seed=SeedGainNonuni+self.chipID,
-            logger=self.logger)
+        if config["ins_effects"]["gain_16channel"] == True:
+            img = effects.ApplyGainNonUniform16(
+                img, gain=self.gain, 
+                nsecy = 2, nsecx=8, 
+                seed=SeedGainNonuni+self.chipID,
+                logger=self.logger)
+        elif config["ins_effects"]["gain_16channel"] == False:
+            img /= self.gain
+            
         img.array[img.array > 65535] = 65535
         img.replaceNegative(replace_value=0)
         img.quantize()
@@ -509,6 +515,7 @@ class Chip(FocalPlane):
                     ncombine=1, read_noise=self.read_noise, gain=1,
                     seed=SeedBiasNonuni+self.chipID,
                     logger=self.logger)
+                # Readout noise for Biases is not generated with random seeds. So readout noise for bias images can't be reproduced.
                 if config["ins_effects"]["cosmic_ray"] == True:
                     if config["ins_effects"]["cray_differ"] == True:
                         cr_map, cr_event_num = effects.produceCR_Map(
@@ -636,7 +643,7 @@ class Chip(FocalPlane):
                 
                 # Add Read-out Noise
                 if config["ins_effects"]["add_readout"] == True:
-                    seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID
+                    seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID + 3
                     rng_readout = galsim.BaseDeviate(seed)
                     readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
                     FlatCombImg.addNoise(readout_noise)
@@ -758,7 +765,7 @@ class Chip(FocalPlane):
 
                 # Add Read-out Noise
                 if config["ins_effects"]["add_readout"] == True:
-                    seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID
+                    seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID + 2
                     rng_readout = galsim.BaseDeviate(seed)
                     readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
                     DarkCombImg.addNoise(readout_noise)
diff --git a/ObservationSim/Instrument/Chip/Effects.py b/ObservationSim/Instrument/Chip/Effects.py
index 5317b229b21294582ef29a3970d306633f41bed2..eeec34fe22d448882e67177e24952b7ac8a63348 100644
--- a/ObservationSim/Instrument/Chip/Effects.py
+++ b/ObservationSim/Instrument/Chip/Effects.py
@@ -197,7 +197,7 @@ def MakeFlatSmooth(GSBounds, seed):
     Flty, Fltx = np.mgrid[ymin:(ymax+1), xmin:(xmax+1)]
     rg = Generator(PCG64(int(seed)))
     p1,p2,bg=rg.poisson(1000, 3)
-    Fltz = 1e-6*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20
+    Fltz = 0.6*1e-7*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20
     FlatImg = galsim.ImageF(Fltz)
     return FlatImg
 
diff --git a/ObservationSim/Instrument/Filter.py b/ObservationSim/Instrument/Filter.py
index ac0f5c790c6edea9189da1cb70c7905c7c81ec00..552a53e2ccf93aa24468d48d82c8ca89a48988cd 100755
--- a/ObservationSim/Instrument/Filter.py
+++ b/ObservationSim/Instrument/Filter.py
@@ -40,8 +40,8 @@ class Filter(object):
         # self.filter_dir = filter_param.filter_dir
 
     def is_too_bright(self, mag):
-        # return mag <= self.mag_saturation - 1.0
-        return mag <= 14.0
+        return mag <= self.mag_saturation - 2.5
+        # return mag <= 14.0
 
     def is_too_dim(self, mag):
         return mag >= self.mag_limiting + 1.0
@@ -100,6 +100,8 @@ class Filter(object):
         return self.sky_background * exptime / gain
 
     def update_limit_saturation_mags(self, exptime=150., psf_fwhm=0.1969, skyFn='sky_emiss_hubble_50_50_A.dat', chip=None):
+        if self.filter_type in ["GI", "GV", "GU"]:
+            return
         if chip is not None:
             pix_scale = chip.pix_scale
             read_noise = chip.read_noise
diff --git a/ObservationSim/Instrument/_util.py b/ObservationSim/Instrument/_util.py
index 42763d366187914256f37f8c6f3899539bbfa6b5..39a8032d384c58f12066029adbf441ef9bbf023f 100755
--- a/ObservationSim/Instrument/_util.py
+++ b/ObservationSim/Instrument/_util.py
@@ -99,7 +99,7 @@ def calculateLimitMag(aperture = 2.0, psf_fwhm = 0.1969,pixelSize = 0.074, pmRat
 	yp, xp = np.mgrid[0:m_size, 0:m_size]
 	psfMap = gaussShape(xp, yp)
 	maxRatio = np.amax(psfMap)/np.sum(psfMap)
-	print(maxRatio)
+	# print(maxRatio)
 
 	flux_sat = fw/maxRatio*exNum
 	satMag = -2.5*log10(flux_sat/(54799275581.04437 * trapz(wavey*eff[:,1]/wave,wave, 0.1)*exTime*exNum*pi*(aperture/2)*(aperture/2)));
diff --git a/ObservationSim/Instrument/data/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Instrument/data/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 538dc20e46fe0f64a83c171b5bdbca665766e228..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Instrument/data/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Instrument/data/ccd/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Instrument/data/ccd/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 802889cf4b1306cef7c20437d4286a44dd471b32..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Instrument/data/ccd/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Instrument/data/filters/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Instrument/data/filters/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index ccf280772bd631722eef8b755243e5eccee31cf9..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Instrument/data/filters/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI1.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI1.conf
index 38785ce8c200a164f32d42a69721531e3a215a24..a9b8582e2e291fd9e3546b197f611cfdd2b36bfb 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI1.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI1.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 2.164489607366864 0.00015356245807983922 -3.436363301868159e-05 -1.870489414179214e-08 3.4169903432371594e-09 1.329160668259838e-08
-DYDX_A_1 -0.01025662163204071 2.563555771056362e-07 -3.8339712168522614e-07 -3.0921572651851273e-12 -2.782385864095027e-12 -1.2927405756300694e-11
+DYDX_C_1 -0.01025662163204071 2.563555771056362e-07 -3.8339712168522614e-07 -3.0921572651851273e-12 -2.782385864095027e-12 -1.2927405756300694e-11
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 6.575586074514935 0.00017715365529036883 0.0005455451137842477 -1.9613440745741114e-08 -9.227386593836169e-09 -4.188087036184667e-09
-DYDX_A_1 0.0036275858789754415 -2.6482112732759975e-08 2.5593462628528386e-07 6.463563645069831e-12 4.03172098429654e-12 -3.917214235864082e-12
+DYDX_D_1 0.0036275858789754415 -2.6482112732759975e-08 2.5593462628528386e-07 6.463563645069831e-12 4.03172098429654e-12 -3.917214235864082e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 7.647178915824622 -0.00014153778353717477 0.0006585912409573279 1.1451647036969672e-08 -2.2503331458372405e-08 -5.97673441914924e-10
-DYDX_A_1 -0.013388600612320525 3.4987613986258344e-07 -8.934574682539956e-07 -2.1629798251888717e-11 1.1573035017917812e-11 1.4777345392719905e-12
+DYDX_E_1 -0.013388600612320525 3.4987613986258344e-07 -8.934574682539956e-07 -2.1629798251888717e-11 1.1573035017917812e-11 1.4777345392719905e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI2.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI2.conf
index 28dec6622b6ee3d1a3ace6ed4353a30dc73df7a7..f84dfbf3e38d8d70688f6db76f21a6c2fcccc0d9 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI2.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI2.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 1.6274259827507076 -0.00034821339283356466 0.0002392999867887435 1.5635809977657976e-07 -7.514174027001749e-09 -6.566395011125117e-09
-DYDX_A_1 -5.3689415286860876e-05 -1.912489940030657e-07 -1.070383333548475e-08 1.53386647062175e-10 -1.1208241918489809e-11 3.406912464353884e-12
+DYDX_C_1 -5.3689415286860876e-05 -1.912489940030657e-07 -1.070383333548475e-08 1.53386647062175e-10 -1.1208241918489809e-11 3.406912464353884e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 6.882799280484086 -0.00027753891131284954 0.0004922039820404395 3.082997123523641e-08 -9.49966186877231e-09 -2.3656818322711693e-09
-DYDX_A_1 -0.011947813534498112 4.093696016714032e-08 -7.435107573317389e-07 2.5528541317977112e-12 3.192792142602198e-12 -2.453919520892182e-12
+DYDX_D_1 -0.011947813534498112 4.093696016714032e-08 -7.435107573317389e-07 2.5528541317977112e-12 3.192792142602198e-12 -2.453919520892182e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 7.677233822131253 -0.00048041060058740204 0.0004956385735024366 6.868585247565035e-08 -9.175237278696478e-09 1.2566962458208905e-09
-DYDX_A_1 0.003983370254635055 -1.232787560255339e-08 2.1234388976109016e-07 1.6204618268328708e-11 3.983819645370279e-12 4.263520014579825e-12
+DYDX_E_1 0.003983370254635055 -1.232787560255339e-08 2.1234388976109016e-07 1.6204618268328708e-11 3.983819645370279e-12 4.263520014579825e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI3.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI3.conf
index 320d089f23a3df8d4dc3212092c94029269a9e76..06837c68e63b2b7239d7b55906b179feb9677bc3 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI3.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI3.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 4.4793311976875065 -0.0007086900045398478 0.00011182473491208784 4.7164973849785044e-08 3.838133586023918e-09 -4.20736855305813e-09
-DYDX_A_1 -0.009955230104200801 5.494138645881217e-07 -5.71634189603669e-07 -2.919798057644714e-11 1.4502406606426133e-11 -2.075548579200935e-12
+DYDX_C_1 -0.009955230104200801 5.494138645881217e-07 -5.71634189603669e-07 -2.919798057644714e-11 1.4502406606426133e-11 -2.075548579200935e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 8.08810918775784 -0.0003160383656201733 0.00032117137940834755 1.7411054368514052e-08 1.661691957794701e-08 -7.331801211925892e-10
-DYDX_A_1 0.004037692561048198 9.260581777483333e-08 2.0948104952770805e-07 -1.3666211810764903e-12 9.22151128823822e-12 3.56053004729388e-12
+DYDX_D_1 0.004037692561048198 9.260581777483333e-08 2.0948104952770805e-07 -1.3666211810764903e-12 9.22151128823822e-12 3.56053004729388e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 9.62422536352037 -0.0007513346376027576 0.00047559530073159164 5.269556788714742e-08 7.1730007979798225e-09 -6.677835198312419e-09
-DYDX_A_1 -0.012614129322424207 3.0685483155242454e-07 -8.080248472425367e-07 -1.675839114053055e-11 6.28724942761309e-12 1.830554524540624e-12
+DYDX_E_1 -0.012614129322424207 3.0685483155242454e-07 -8.080248472425367e-07 -1.675839114053055e-11 6.28724942761309e-12 1.830554524540624e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI4.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI4.conf
index f4a775bab53fdcdc178765940598206903f189ec..5a9377892e177a8f31c09480f16c33e4481859b8 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI4.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI4.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 2.077313161445304 0.000980949024127796 0.00021283436080014677 -2.6874752294266443e-07 1.2116296272703047e-08 -2.34247574816342e-08
-DYDX_A_1 0.0006570356116067526 1.2290395976811375e-06 1.6637183470133416e-07 -3.0304924532261765e-10 2.4734040679617618e-11 -2.3590221649145147e-11
+DYDX_C_1 0.0006570356116067526 1.2290395976811375e-06 1.6637183470133416e-07 -3.0304924532261765e-10 2.4734040679617618e-11 -2.3590221649145147e-11
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 6.774750256151258 4.707107703698734e-05 0.000503719215056276 -9.167623136460398e-09 -4.152231401897418e-08 -9.419809130154712e-09
-DYDX_A_1 -0.011168343549873953 2.6666977679877337e-08 -7.470831119863737e-07 -6.286511915787003e-12 1.6439841503101933e-11 2.596573361763681e-12
+DYDX_D_1 -0.011168343549873953 2.6666977679877337e-08 -7.470831119863737e-07 -6.286511915787003e-12 1.6439841503101933e-11 2.596573361763681e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 7.575427899521311 -0.00021618386157363904 0.0005591063261388894 7.342842947533113e-09 -1.7485023350712322e-08 -1.0377783468068108e-08
-DYDX_A_1 0.004683960947904331 -1.888624610879838e-08 3.2884821904527606e-07 1.018984346983241e-11 5.168946855257885e-12 -2.043053548121042e-12
+DYDX_E_1 0.004683960947904331 -1.888624610879838e-08 3.2884821904527606e-07 1.018984346983241e-11 5.168946855257885e-12 -2.043053548121042e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI5.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI5.conf
index 8b3268a2651fe73cd51a4ccd3b71a1fc930aaa89..7d40b0b983e225a5841e0c297261ce1576a9bdc1 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI5.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI5.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -0.6190375093057178 -0.000819084818469411 0.00028964716536233805 6.270789289859524e-08 -1.420775464725658e-08 -9.328521975988917e-09
-DYDX_A_1 0.008680162051601499 3.330054831581405e-07 -6.469221396130517e-07 -3.9523801242915675e-11 2.810706046076844e-11 9.755545191838492e-12
+DYDX_C_1 0.008680162051601499 3.330054831581405e-07 -6.469221396130517e-07 -3.9523801242915675e-11 2.810706046076844e-11 9.755545191838492e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -7.508248370511439 -0.0006714401608233293 0.00017558009908350287 2.984240425469985e-08 4.3819705023343136e-08 -5.025346537840718e-09
-DYDX_A_1 -0.009040738692611343 -2.842628508976022e-07 2.8610552097167497e-07 2.0072941233633973e-12 2.6743473726716594e-11 -1.990153449263359e-12
+DYDX_D_1 -0.009040738692611343 -2.842628508976022e-07 2.8610552097167497e-07 2.0072941233633973e-12 2.6743473726716594e-11 -1.990153449263359e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -8.842745665545023 -0.0007610512902166516 0.0003383458198829188 5.974061158162743e-08 1.0142609417116612e-08 1.2101422641494325e-09
-DYDX_A_1 0.015397941297630027 2.693607213384038e-08 -6.075147917008666e-07 -1.6037105086389434e-11 4.296881158063552e-12 -1.2228485054031964e-12
+DYDX_E_1 0.015397941297630027 2.693607213384038e-08 -6.075147917008666e-07 -1.6037105086389434e-11 4.296881158063552e-12 -1.2228485054031964e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI6.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI6.conf
index 804ef5e4c42ef2fee51b2e83485c923282b86953..9da00e0b9370e44aaa21efbfca2c91057a1574e8 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI6.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI6.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -3.644711332713124 0.0008001860385266981 9.479324761591071e-05 -1.743740644543708e-07 3.6478784815791542e-09 6.917592947848256e-09
-DYDX_A_1 -0.005127657192091357 3.406797050005203e-07 1.6449903475316612e-07 -9.485982506821913e-11 -4.3771960897499225e-12 8.550685815444732e-12
+DYDX_C_1 -0.005127657192091357 3.406797050005203e-07 1.6449903475316612e-07 -9.485982506821913e-11 -4.3771960897499225e-12 8.550685815444732e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -11.173576155920372 0.0007519533830363816 0.0004253768680462055 -1.5201878553469454e-07 2.0472547690216743e-08 -2.0569213743460413e-09
-DYDX_A_1 0.014593603600807335 -2.5136860755841604e-07 -5.949998376910171e-07 3.678337259167903e-11 -3.0972180049312983e-12 1.6165162111383372e-12
+DYDX_D_1 0.014593603600807335 -2.5136860755841604e-07 -5.949998376910171e-07 3.678337259167903e-11 -3.0972180049312983e-12 1.6165162111383372e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -12.213462520279169 0.00047910742870929717 0.0005408610935256049 -7.413930918915843e-08 -8.606042861984915e-09 -2.657692925463347e-09
-DYDX_A_1 -0.011203612261385857 -1.0569751604742679e-07 4.877450459862202e-07 4.101880695762023e-12 -2.7701720429242062e-12 -1.1821036616778763e-12
+DYDX_E_1 -0.011203612261385857 -1.0569751604742679e-07 4.877450459862202e-07 4.101880695762023e-12 -2.7701720429242062e-12 -1.1821036616778763e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI7.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI7.conf
index 1763c6422c50cbf48d65753a482e5e091785c6ba..3ee2eefe41c4048f33df9f69b10173793fe93fd7 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI7.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI7.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -2.500141585167653 -1.969888743137498e-05 -3.719251228351035e-05 2.2450041893993265e-09 -4.776577101251428e-09 1.3199727484804396e-08
-DYDX_A_1 0.009108519277662467 -3.0705408681783576e-07 -3.132719515155802e-07 6.422536264194293e-12 1.5326983931450917e-11 -5.645216688436237e-12
+DYDX_C_1 0.009108519277662467 -3.0705408681783576e-07 -3.132719515155802e-07 6.422536264194293e-12 1.5326983931450917e-11 -5.645216688436237e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -9.389297829853636 -0.00015464197650568576 0.0002660281765192433 3.4852623322772082e-09 9.484803976320427e-09 7.336382512941422e-09
-DYDX_A_1 -0.01112945128342416 -1.1311863974473163e-07 4.218220828671425e-07 -1.2516252053776076e-12 9.161770824233885e-12 -1.4981685450709086e-14
+DYDX_D_1 -0.01112945128342416 -1.1311863974473163e-07 4.218220828671425e-07 -1.2516252053776076e-12 9.161770824233885e-12 -1.4981685450709086e-14
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -12.07564081561785 0.0003538313487376174 0.0003424445292518675 -2.8281829213173136e-08 -1.9103125073139345e-09 1.3342745843474139e-08
-DYDX_A_1 0.015623821782753402 -3.872409697306194e-07 -5.946762100158761e-07 1.4986070563264542e-11 8.421611722722356e-12 -3.1933488456130784e-12
+DYDX_E_1 0.015623821782753402 -3.872409697306194e-07 -5.946762100158761e-07 1.4986070563264542e-11 8.421611722722356e-12 -3.1933488456130784e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GI8.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GI8.conf
index 13861aaf7421e6445f482f75a843f1777f780042..089471601aae266a0287423afea01f7ea8baf7e8 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GI8.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GI8.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -2.966407573122309 0.00017931467145883436 -1.1937327382141583e-05 -3.430114664968074e-08 -1.7104028303486308e-11 1.0768834553932357e-08
-DYDX_A_1 -0.005803626340330835 -4.170068439771959e-08 1.290433938281288e-07 -2.8134994496798826e-11 3.815680617576105e-12 7.512242155559056e-12
+DYDX_C_1 -0.005803626340330835 -4.170068439771959e-08 1.290433938281288e-07 -2.8134994496798826e-11 3.815680617576105e-12 7.512242155559056e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -10.924673575089688 0.00016185988743270996 0.00046683827051840587 8.136189930172963e-09 -1.1869040578509591e-08 -6.414416857587861e-10
-DYDX_A_1 0.013421122504499828 -8.139117646528983e-08 -5.636862104195129e-07 -7.650480709282686e-12 8.277703707581925e-12 9.22249281275454e-13
+DYDX_D_1 0.013421122504499828 -8.139117646528983e-08 -5.636862104195129e-07 -7.650480709282686e-12 8.277703707581925e-12 9.22249281275454e-13
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -11.846585635638787 0.0002775660851037459 0.0005294313159274511 -2.2581643082700262e-08 -1.0333470137987452e-08 -6.219484318552529e-09
-DYDX_A_1 -0.012336624365849553 -8.074439040178428e-08 5.451023075403868e-07 -5.4380660096969335e-12 -1.2614361480717028e-13 -4.742212399798437e-12
+DYDX_E_1 -0.012336624365849553 -8.074439040178428e-08 5.451023075403868e-07 -5.4380660096969335e-12 -1.2614361480717028e-13 -4.742212399798437e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU1.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU1.conf
index 4928392262e8cac43ad60a36d53cc3ee50387120..acff61f5052783dce038541e0b4191adadb13141 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU1.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU1.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -0.7141848112333804 -5.04487513827462e-06 0.00015471935463847038 -7.014900817242317e-15 1.0929298687685976e-09 1.5741557084177702e-16
-DYDX_A_1 0.0027492227533061912 3.5138528790228245e-09 -5.955850399858713e-07 3.427213002653244e-18 -7.613092613195848e-13 4.139822785657121e-18
+DYDX_C_1 0.0027492227533061912 3.5138528790228245e-09 -5.955850399858713e-07 3.427213002653244e-18 -7.613092613195848e-13 4.139822785657121e-18
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -2.106939125335775 2.910542304113313e-05 0.0004564427303190319 1.2607563885812768e-14 -6.305371040561855e-09 3.6839544062510705e-17
-DYDX_A_1 -0.0008727377151777036 -3.574005433242036e-08 1.8906445736936065e-07 -5.341623280966443e-16 7.744222476838046e-12 -2.0367190878495254e-16
+DYDX_D_1 -0.0008727377151777036 -3.574005433242036e-08 1.8906445736936065e-07 -5.341623280966443e-16 7.744222476838046e-12 -2.0367190878495254e-16
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -2.20514006896569 2.9051997594102368e-05 0.00047771653989605765 -1.912692705609593e-14 -6.293715169166762e-09 3.935667733125835e-16
-DYDX_A_1 0.003698183554891061 -1.9034332412054844e-08 -8.011647070145565e-07 2.414951487944578e-18 4.123548306803602e-12 -2.1651713505639886e-16
+DYDX_E_1 0.003698183554891061 -1.9034332412054844e-08 -8.011647070145565e-07 2.414951487944578e-18 4.123548306803602e-12 -2.1651713505639886e-16
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU2.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU2.conf
index c5e664ed939b880f05f1355629e8203ab121d145..a90d98a91c629501164fbd40dfd04099874cf43e 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU2.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU2.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -0.8315346150463981 5.0198529393279955e-05 0.0001801418146367924 -7.973220526527133e-16 -1.0874898224312304e-08 -4.649475516861549e-17
-DYDX_A_1 -0.0004831850282262942 4.4703024254268985e-09 1.0467587318097426e-07 -6.245290748577401e-16 -9.67808789638995e-13 1.8675680517829847e-20
+DYDX_C_1 -0.0004831850282262942 4.4703024254268985e-09 1.0467587318097426e-07 -6.245290748577401e-16 -9.67808789638995e-13 1.8675680517829847e-20
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -1.9194976847857337 5.2522649333701604e-05 0.00041583572415658347 -7.945377957980844e-16 -1.1378389323146788e-08 -9.30553377012502e-16
-DYDX_A_1 0.0035512682123718664 -1.335162450569774e-08 -7.693387103306084e-07 4.782557131456633e-17 2.8923723305608908e-12 -3.557167801553638e-18
+DYDX_D_1 0.0035512682123718664 -1.335162450569774e-08 -7.693387103306084e-07 4.782557131456633e-17 2.8923723305608908e-12 -3.557167801553638e-18
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -2.0905850693944563 5.4359066390605035e-05 0.00045289971366087875 -4.304782162448096e-15 -1.1776224473350576e-08 -2.4120023848357506e-16
-DYDX_A_1 -0.0011960850677701557 -2.5552822787103083e-08 2.5911619508272597e-07 2.7377051875450244e-17 5.5356793066910265e-12 1.4408483631640674e-16
+DYDX_E_1 -0.0011960850677701557 -2.5552822787103083e-08 2.5911619508272597e-07 2.7377051875450244e-17 5.5356793066910265e-12 1.4408483631640674e-16
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU3.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU3.conf
index 33800198b33e9178e5cbf879889e6edb0e5de3d2..4bbe15107c39df227cc1458196899d5dd78fc754 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU3.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU3.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 0.06577626420976657 0.00023843802359241968 0.00020214103397281637 -1.7123645168761916e-08 -5.1151994757772025e-09 -2.8149430186232906e-09
-DYDX_A_1 -0.0023512307660126697 -3.3161090069914584e-07 -6.540476932452965e-07 2.7684183450126828e-11 2.2119467452457955e-13 5.7966394781263606e-12
+DYDX_C_1 -0.0023512307660126697 -3.3161090069914584e-07 -6.540476932452965e-07 2.7684183450126828e-11 2.2119467452457955e-13 5.7966394781263606e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 2.948513782669366 -0.00023026015901126757 0.0004966141941227662 1.7402268960629477e-08 -1.4703354511641052e-08 -9.053112415355464e-10
-DYDX_A_1 0.001324315465861688 -5.3280510137879357e-08 2.1294144146014126e-07 7.149648535223347e-12 5.9124013181393895e-12 -1.569213924160992e-12
+DYDX_D_1 0.001324315465861688 -5.3280510137879357e-08 2.1294144146014126e-07 7.149648535223347e-12 5.9124013181393895e-12 -1.569213924160992e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 4.507912700810403 -0.0006565069814848197 0.0004717757492079797 4.615661132301661e-08 -9.929671168647712e-09 1.9253230332400385e-09
-DYDX_A_1 -0.005418404321822283 3.4159713936048874e-07 -7.978348106960707e-07 -2.2179498116536742e-11 3.668089343194087e-12 -8.716971808473679e-13
+DYDX_E_1 -0.005418404321822283 3.4159713936048874e-07 -7.978348106960707e-07 -2.2179498116536742e-11 3.668089343194087e-12 -8.716971808473679e-13
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU4.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU4.conf
index dc93b0214ca40bfc5bbeb5f7471bb8e807cfb6a8..889036a519fff0f2bde6720bbad1f4607e98a25d 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU4.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU4.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 1.143028004919987 -0.00043165022047830434 6.196137733147702e-05 8.16457174098753e-08 5.016787588312008e-08 -1.1076947674988989e-08
-DYDX_A_1 0.0009685847548946574 -6.769648548844193e-07 -1.3599935590555458e-07 1.3832682960654626e-10 8.096919396546198e-11 -7.115087004534495e-13
+DYDX_C_1 0.0009685847548946574 -6.769648548844193e-07 -1.3599935590555458e-07 1.3832682960654626e-10 8.096919396546198e-11 -7.115087004534495e-13
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 2.1537852011622283 7.465469287286658e-05 0.0004351844939178058 -2.2198461139576395e-08 -1.3877608195218995e-08 -1.7628688846255955e-09
-DYDX_A_1 -0.004230879607296237 8.498485744953868e-08 -7.501665624166511e-07 -1.6084245955031634e-11 4.759329258447093e-12 -4.056797888343e-12
+DYDX_D_1 -0.004230879607296237 8.498485744953868e-08 -7.501665624166511e-07 -1.6084245955031634e-11 4.759329258447093e-12 -4.056797888343e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 2.351548209319865 -3.689671315203568e-05 0.0005163556990925829 2.1158061718584205e-09 -3.490722309938645e-09 -1.528540044064975e-08
-DYDX_A_1 0.001430019761307312 -7.985386958466852e-08 2.6731184353623225e-07 2.5955313438507735e-11 9.598310234511398e-12 -4.21444171834932e-12
+DYDX_E_1 0.001430019761307312 -7.985386958466852e-08 2.6731184353623225e-07 2.5955313438507735e-11 9.598310234511398e-12 -4.21444171834932e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU5.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU5.conf
index f23aa6568f034a3c7521664118896ca1220b0521..13d7af9d48f2e93d730064c95e44035fa1bf9581 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU5.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU5.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -1.3745251280636102 -0.0004166620793305387 0.00030781991744431526 3.5625065790500023e-08 -1.015616705292654e-08 -6.809703219697665e-09
-DYDX_A_1 0.005259942743965531 2.2710135102429772e-07 -4.832866701253246e-07 -2.9893769156851795e-11 1.539093571694599e-11 2.3835803634126165e-12
+DYDX_C_1 0.005259942743965531 2.2710135102429772e-07 -4.832866701253246e-07 -2.9893769156851795e-11 1.539093571694599e-11 2.3835803634126165e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -3.7902089554161935 -0.0005938780884699344 0.0004094352465421359 3.528558369624729e-08 8.932646120211718e-09 -4.700678524711011e-09
-DYDX_A_1 -0.005334782127730197 -3.4904378900281923e-07 3.8534743707073547e-07 1.4929393517554934e-11 1.3055894861406129e-11 -2.410976643143283e-13
+DYDX_D_1 -0.005334782127730197 -3.4904378900281923e-07 3.8534743707073547e-07 1.4929393517554934e-11 1.3055894861406129e-11 -2.410976643143283e-13
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -5.5518511762976965 -0.0002398046719970402 0.00045376018467024545 1.2301023991565204e-08 7.2902255958184095e-09 -4.102819822051389e-09
-DYDX_A_1 0.008329905249142448 -1.8413918879925165e-08 -5.436656649381185e-07 -2.6646238487129985e-12 -3.709762742803416e-14 -7.605203781010001e-13
+DYDX_E_1 0.008329905249142448 -1.8413918879925165e-08 -5.436656649381185e-07 -2.6646238487129985e-12 -3.709762742803416e-14 -7.605203781010001e-13
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU6.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU6.conf
index 31b951abb44696ea69b8a00ba4a0e2164dda8812..b3c682aed8e65ef87a6e105d5b9e15596a8e65c7 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU6.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU6.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -2.7354339264200784 0.0003884059225995992 0.0002934336920997177 -6.577376769890092e-08 -6.359223200064821e-09 -1.1097280973256058e-08
-DYDX_A_1 -0.004641001345987969 3.511388837177305e-08 3.9607543558818476e-07 -1.6972226774094907e-11 1.3488867882599842e-12 -8.489876295667006e-12
+DYDX_C_1 -0.004641001345987969 3.511388837177305e-08 3.9607543558818476e-07 -1.6972226774094907e-11 1.3488867882599842e-12 -8.489876295667006e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -10147.787891979067 0.0019216086870033513 0.003215323811924493 -4.8063860993686784e-08 -2.6100492634991815e-07 2.073557935126183e-08
-DYDX_A_1 0.0025980099855243783 -3.6564971863746175e-08 -5.62827615916848e-07 -3.892025626012531e-16 7.92187197670973e-12 -1.1568305471507826e-17
+DYDX_D_1 0.0025980099855243783 -3.6564971863746175e-08 -5.62827615916848e-07 -3.892025626012531e-16 7.92187197670973e-12 -1.1568305471507826e-17
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -6.942966088608769 0.0004659127224428531 0.0005755856461390132 -7.371873652226161e-08 -1.3592620859759395e-08 -9.169555746309921e-09
-DYDX_A_1 -0.007339582235743328 1.8302351373519434e-08 5.31222949045451e-07 -1.2044608477578304e-11 -8.652820126572178e-13 -2.3783727378966497e-12
+DYDX_E_1 -0.007339582235743328 1.8302351373519434e-08 5.31222949045451e-07 -1.2044608477578304e-11 -8.652820126572178e-13 -2.3783727378966497e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU7.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU7.conf
index ebe3122ef33e33cf014f05efac2f6bb01cb992cb..837f3f9d05ff1b46ef81eb8d7d1691ed6d134bd2 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU7.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU7.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -0.660561864219491 1.7975658190803878e-06 0.00014310252481469177 -1.6838553609922143e-14 -3.8937350475368885e-10 -2.092347916604453e-16
-DYDX_A_1 0.0018156042779764636 -2.405125902795414e-08 -3.933204816715972e-07 8.304749335471718e-16 5.207929697641641e-12 -9.215817453687276e-18
+DYDX_C_1 0.0018156042779764636 -2.405125902795414e-08 -3.933204816715972e-07 8.304749335471718e-16 5.207929697641641e-12 -9.215817453687276e-18
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -21.306282887055705 0.0009345004798466212 0.004615745791378748 3.776387339841339e-15 -2.0244815073058e-07 -1.1205003946659094e-15
-DYDX_A_1 -0.002125782114937821 -2.2648812102012664e-08 4.6052486156376173e-07 2.5760037571228856e-18 4.906580024429756e-12 -1.5421464562464074e-17
+DYDX_D_1 -0.002125782114937821 -2.2648812102012664e-08 4.6052486156376173e-07 2.5760037571228856e-18 4.906580024429756e-12 -1.5421464562464074e-17
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -1.8243360584079054 -2.55338657820757e-07 0.00039521986495046844 -2.509400952464602e-14 5.5394767704665723e-11 -3.778914674397709e-16
-DYDX_A_1 -0.002028014821461637 -2.614550428036927e-08 4.393255236030942e-07 -2.12381839054504e-15 5.670450567456104e-12 -1.651899111106741e-16
+DYDX_E_1 -0.002028014821461637 -2.614550428036927e-08 4.393255236030942e-07 -2.12381839054504e-15 5.670450567456104e-12 -1.651899111106741e-16
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GU8.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GU8.conf
index ffb7836a6a8f59b3465dd3ff1e851d9bf63cf5be..6e97a49126fc2bace86a79f38766e8b1a429d695 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GU8.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GU8.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -0.6549059679729141 -1.087432865806185e-05 0.00014187738075369598 9.006694292848272e-16 2.355789006134874e-09 -6.418634604457e-16
-DYDX_A_1 -0.0013847672635787789 -3.1208791539442284e-08 2.999933122723109e-07 -8.38378090330709e-17 6.760898889120387e-12 -1.1985048019421645e-17
+DYDX_C_1 -0.0013847672635787789 -3.1208791539442284e-08 2.999933122723109e-07 -8.38378090330709e-17 6.760898889120387e-12 -1.1985048019421645e-17
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -1.8185027410431647 4.9172358266974785e-06 0.0003939564011141817 -4.125430559163523e-16 -1.0652581154016806e-09 -2.0702001391597333e-16
-DYDX_A_1 0.002458277318568735 -1.4589965639095597e-08 -5.32555761694879e-07 -7.198120326510901e-19 3.1607382176854417e-12 2.153670591180276e-18
+DYDX_D_1 0.002458277318568735 -1.4589965639095597e-08 -5.32555761694879e-07 -7.198120326510901e-19 3.1607382176854417e-12 2.153670591180276e-18
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -1.9258212241120765 2.9079999681503346e-06 0.0004172056367242826 2.2159038416881068e-15 -6.299857041595175e-10 3.2382182400967454e-16
-DYDX_A_1 -0.002229464924970507 -2.2650327360801763e-08 4.82986141335254e-07 2.6794158344602436e-16 4.906677541226849e-12 2.7402195214791107e-17
+DYDX_E_1 -0.002229464924970507 -2.2650327360801763e-08 4.82986141335254e-07 2.6794158344602436e-16 4.906677541226849e-12 2.7402195214791107e-17
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV1.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV1.conf
index b4ade3087f518ec32e88dd2fbc526487c7aaf0e4..c7c01aa8bf22f5ea84ea762045388b1fb0dbe413 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV1.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV1.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -1.3955165518752604 -0.0006936103622856809 0.00013143561405441588 5.440093188297929e-08 -5.703267920577962e-09 7.639038677829811e-09
-DYDX_A_1 0.011823009287106606 7.239281314389117e-07 -4.267531944794361e-07 -5.989416888583329e-11 -4.923499993494732e-12 -1.3507913669602405e-11
+DYDX_C_1 0.011823009287106606 7.239281314389117e-07 -4.267531944794361e-07 -5.989416888583329e-11 -4.923499993494732e-12 -1.3507913669602405e-11
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -13.179254929989185 0.0002880079108077928 0.0007565996855341591 -4.9519503432750185e-09 -2.6273715426914455e-08 -1.0949114569811886e-08
-DYDX_A_1 -0.005373828929151644 -1.9438906118260222e-07 2.887594941778604e-07 3.2158759381759983e-12 3.0644817147680893e-12 -4.2443585882402175e-12
+DYDX_D_1 -0.005373828929151644 -1.9438906118260222e-07 2.887594941778604e-07 3.2158759381759983e-12 3.0644817147680893e-12 -4.2443585882402175e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -11.920808389183309 -0.00011415094843923731 0.0002994272413704122 1.386381190886479e-08 1.6080286767997555e-08 3.4355464695406285e-09
-DYDX_A_1 0.019676662264214686 4.055388183541108e-08 -6.255250461130325e-07 -6.832430046123599e-12 -1.5766051514820343e-11 -4.21114365134965e-12
+DYDX_E_1 0.019676662264214686 4.055388183541108e-08 -6.255250461130325e-07 -6.832430046123599e-12 -1.5766051514820343e-11 -4.21114365134965e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV2.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV2.conf
index 3c57944d7cbca2964e9f2206d1b8bbc8f9632cab..9cd328cbc14b248ff66f99c3748948dadfbee16c 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV2.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV2.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -3.065699632725347 -0.0010505304630852078 -1.422294253523046e-05 1.2735824982275005e-07 8.612128349469759e-08 8.22283322122372e-09
-DYDX_A_1 6.245897978058403e-05 -1.0838696712565785e-06 -2.2779339115085474e-07 5.4397005664319636e-11 1.039332145162313e-10 1.680439064521252e-11
+DYDX_C_1 6.245897978058403e-05 -1.0838696712565785e-06 -2.2779339115085474e-07 5.4397005664319636e-11 1.039332145162313e-10 1.680439064521252e-11
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -12.031633401255306 0.0003553244575854852 0.0004677778813348234 1.0452745034386852e-08 -1.1047577397195447e-08 4.04031560804154e-09
-DYDX_A_1 0.019620680354212938 -2.5593852970988456e-07 -8.023105844432155e-07 2.6145399598441025e-11 5.936698173396823e-12 3.022246845222462e-13
+DYDX_D_1 0.019620680354212938 -2.5593852970988456e-07 -8.023105844432155e-07 2.6145399598441025e-11 5.936698173396823e-12 3.022246845222462e-13
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -12.77676356211733 0.0004712329022060798 0.00042941541659301713 -4.4367526698396516e-09 -3.033954288502886e-08 1.7422302470716193e-08
-DYDX_A_1 -0.006800399044463548 1.2791229240166598e-07 2.5353271321217663e-07 -3.676486538941091e-11 -9.088909795835033e-12 5.7010500159057145e-12
+DYDX_E_1 -0.006800399044463548 1.2791229240166598e-07 2.5353271321217663e-07 -3.676486538941091e-11 -9.088909795835033e-12 5.7010500159057145e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV3.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV3.conf
index 143d08ebba493cf5bc77425b20f3e2fe88d175b6..b2e0f3f81b3ea31b208b6d48c67960f63274cfc4 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV3.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV3.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -2.0958032078114424 -5.357129488188543e-05 0.00016315083877567382 7.758130821717458e-09 -2.034434038598195e-09 -1.1714843138737006e-09
-DYDX_A_1 0.007686734726700757 2.3399828264483445e-07 -5.815682582766848e-07 -2.2794799454628796e-11 1.9196027300424663e-12 1.99173639251427e-12
+DYDX_C_1 0.007686734726700757 2.3399828264483445e-07 -5.815682582766848e-07 -2.2794799454628796e-11 1.9196027300424663e-12 1.99173639251427e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -9.1433462062202 0.0006770366877080856 0.0004857478576560696 -4.388101267303894e-08 -6.449827065459868e-09 1.3719641794887276e-09
-DYDX_A_1 -0.0037864418874534013 1.374172132900991e-07 1.946788516323271e-07 -1.885538345955294e-11 8.660990826780435e-12 2.299477057026973e-13
+DYDX_D_1 -0.0037864418874534013 1.374172132900991e-07 1.946788516323271e-07 -1.885538345955294e-11 8.660990826780435e-12 2.299477057026973e-13
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -10.10884013322683 0.000611038857669508 0.0007226379597082433 -2.7519232895567092e-08 -2.3485421258830485e-08 -6.660066030481946e-09
-DYDX_A_1 0.012952062008757996 -2.3957858483332904e-07 -9.123833729163628e-07 7.607918912917218e-12 1.2237900789421799e-11 3.44292856430362e-12
+DYDX_E_1 0.012952062008757996 -2.3957858483332904e-07 -9.123833729163628e-07 7.607918912917218e-12 1.2237900789421799e-11 3.44292856430362e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV4.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV4.conf
index fadea121036d76eaa879718183b75bbe9ce91b01..4bac0569c27747bbbadb2341fc18c1e8aae82fbe 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV4.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV4.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -3.52260826413025 0.000621691157926119 0.0005461133728903791 -2.5715539474356078e-08 -6.853854930059187e-08 -2.4587010697270882e-08
-DYDX_A_1 -0.001926071902005976 7.215248630067406e-07 3.8265262634887847e-07 -6.408375786664045e-11 -6.463537282846684e-11 -1.9231070121751895e-11
+DYDX_C_1 -0.001926071902005976 7.215248630067406e-07 3.8265262634887847e-07 -6.408375786664045e-11 -6.463537282846684e-11 -1.9231070121751895e-11
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 -6.741689813249012 1.3968596153070466e-05 0.000472047339681096 2.146567681454157e-08 -2.63026587783844e-09 -1.071252023670432e-09
-DYDX_A_1 0.011487453749642197 3.3596910941031744e-08 -7.915718118053484e-07 -1.2070078903418932e-11 -1.6456480771969691e-12 7.398331423755234e-13
+DYDX_D_1 0.011487453749642197 3.3596910941031744e-08 -7.915718118053484e-07 -1.2070078903418932e-11 -1.6456480771969691e-12 7.398331423755234e-13
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 -6.810232709375092 0.0002826767808708764 0.00036227802890744057 -3.925641130983531e-08 -3.625432727683849e-09 7.979656051813183e-09
-DYDX_A_1 -0.0036909159226217996 -1.4589342536628683e-08 1.9829007213120112e-07 -1.946470341773156e-11 8.961994398263779e-12 4.235607879814966e-12
+DYDX_E_1 -0.0036909159226217996 -1.4589342536628683e-08 1.9829007213120112e-07 -1.946470341773156e-11 8.961994398263779e-12 4.235607879814966e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV5.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV5.conf
index c1f7bcac3e1b288adb01a9711e1651830e77cbca..b09cdfcabdbd7ec456841dedb622ca6e725f5904 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV5.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV5.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 -1.4652154659747656 0.0006976036489758739 6.607180998372233e-05 -5.197455331007714e-08 1.5415416723208883e-08 -4.1563948605717374e-10
-DYDX_A_1 0.0009332071852556498 -8.492920912530439e-07 -4.0813942518753524e-07 6.207979700546238e-11 1.2931257106705084e-11 -1.8685139127323678e-12
+DYDX_C_1 0.0009332071852556498 -8.492920912530439e-07 -4.0813942518753524e-07 6.207979700546238e-11 1.2931257106705084e-11 -1.8685139127323678e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 3.817411039254372 -0.0004445338556836772 0.00037809236485076723 3.1973270310266115e-08 1.806342775064555e-08 -5.730526405230165e-09
-DYDX_A_1 0.0030975437366593007 -1.727336499550711e-07 4.909094025741718e-07 1.5610304522290074e-11 2.061491829189092e-12 -2.0924329033675745e-12
+DYDX_D_1 0.0030975437366593007 -1.727336499550711e-07 4.909094025741718e-07 1.5610304522290074e-11 2.061491829189092e-12 -2.0924329033675745e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 2.5833458881080276 1.5703939041612964e-05 0.0002474402657367446 -3.6756656296319143e-09 3.555227790186067e-08 2.7840196161560417e-09
-DYDX_A_1 -0.003004292396300973 -6.266443570245549e-08 -5.432324865606894e-07 7.407250939686573e-12 -6.78737510264306e-13 -3.0255766556129982e-12
+DYDX_E_1 -0.003004292396300973 -6.266443570245549e-08 -5.432324865606894e-07 7.407250939686573e-12 -6.78737510264306e-13 -3.0255766556129982e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV6.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV6.conf
index 2ffb8297a3df31f5736ce43c6f5890b61cbdd548..edd73930c377cd0ba4dad4a69e97a83a2d2e5e1f 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV6.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV6.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 0.8380063286543387 -0.00013037357340758146 0.00010789381564376383 2.3645120613756304e-08 7.177443570652976e-09 8.640448820419748e-11
-DYDX_A_1 0.001567576922469369 -2.3588103401500962e-07 2.587174804138313e-07 5.237611819433522e-11 8.373180929474428e-12 2.440567273421944e-12
+DYDX_C_1 0.001567576922469369 -2.3588103401500962e-07 2.587174804138313e-07 5.237611819433522e-11 8.373180929474428e-12 2.440567273421944e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 2.6368053211882767 -0.0001487917249764907 0.0003703622623883897 1.9895309598789077e-08 1.0363018736288482e-08 3.5771486782834076e-09
-DYDX_A_1 -0.0031312799709676325 1.4021043782864998e-07 -5.24123009262728e-07 -2.1478574034804025e-11 -1.7503729317616454e-12 -3.106713845835354e-12
+DYDX_D_1 -0.0031312799709676325 1.4021043782864998e-07 -5.24123009262728e-07 -2.1478574034804025e-11 -1.7503729317616454e-12 -3.106713845835354e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 2.6839658293922617 0.00010658062025562498 0.000433052445346869 -3.167531570342423e-08 2.9387770353177513e-09 3.446598864135609e-09
-DYDX_A_1 0.002792405633393311 4.4178354232831405e-08 4.966573928541092e-07 -6.792686687285308e-12 5.012957092122308e-12 2.5444220795607283e-12
+DYDX_E_1 0.002792405633393311 4.4178354232831405e-08 4.966573928541092e-07 -6.792686687285308e-12 5.012957092122308e-12 2.5444220795607283e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV7.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV7.conf
index 62f3cdc27198769ec2c89b46f10f4d3ea5f11c29..e0bafe4c469eec6f0d1a622c91fc943da2bb184f 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV7.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV7.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 2.6566029956834267 -0.0001993727960878793 0.00013478205560089592 2.20019072660902e-08 5.981916411639331e-10 -3.5067244442090692e-09
-DYDX_A_1 -0.004039532789408107 -2.9480238320497073e-07 -4.7165423474910564e-07 1.966361166515235e-11 1.4477239941208906e-11 4.155902211482753e-12
+DYDX_C_1 -0.004039532789408107 -2.9480238320497073e-07 -4.7165423474910564e-07 1.966361166515235e-11 1.4477239941208906e-11 4.155902211482753e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 9.833666012049616 -0.0007501727177554814 0.0002824071585063054 5.6696442845204616e-08 6.754806246856363e-09 6.284682472856921e-09
-DYDX_A_1 0.007654095586821002 -1.0181243560613835e-08 4.214752513804997e-07 6.842069982346843e-12 3.773424291124153e-12 3.3798332367439925e-12
+DYDX_D_1 0.007654095586821002 -1.0181243560613835e-08 4.214752513804997e-07 6.842069982346843e-12 3.773424291124153e-12 3.3798332367439925e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 9.093523836228135 -0.0005185506682510039 0.0002952504909479164 3.860624463995974e-08 2.2011624918106087e-08 -9.895919094066933e-10
-DYDX_A_1 -0.009402968049811306 9.375727884809776e-08 -5.679892663020363e-07 8.422649782599757e-13 4.763112243232167e-13 -2.1843736228447546e-14
+DYDX_E_1 -0.009402968049811306 9.375727884809776e-08 -5.679892663020363e-07 8.422649782599757e-13 4.763112243232167e-13 -2.1843736228447546e-14
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/CSST_GV8.conf b/ObservationSim/Instrument/data/sls_conf/CSST_GV8.conf
index 51d8fe1fd7052fc32e30012e0f9aedccae7fa076..0c4e68cac327b87a1f6d7dee04479d43828610c6 100644
--- a/ObservationSim/Instrument/data/sls_conf/CSST_GV8.conf
+++ b/ObservationSim/Instrument/data/sls_conf/CSST_GV8.conf
@@ -62,7 +62,7 @@ MMAG_MARK_C 30
 #
 DYDX_ORDER_C 1
 DYDX_C_0 1.9189304176461794 0.00016437384653731756 0.00024569314445877714 -1.7652527457023917e-08 4.451536629733484e-09 -1.8335218213849877e-08
-DYDX_A_1 0.00413376823690816 4.0839136662136974e-08 3.196775619036203e-07 2.0152360067018585e-11 5.862317721933411e-12 -9.936558869234138e-12
+DYDX_C_1 0.00413376823690816 4.0839136662136974e-08 3.196775619036203e-07 2.0152360067018585e-11 5.862317721933411e-12 -9.936558869234138e-12
 # 
 # X and Y Offsets 
 #
@@ -88,7 +88,7 @@ MMAG_MARK_D 30
 #
 DYDX_ORDER_D 1
 DYDX_D_0 7.018126896585679 0.00038481511440685416 0.0004494806932104142 -1.0419441298036432e-07 -1.112372803767778e-09 -5.1808602094761285e-09
-DYDX_A_1 -0.008748895260191009 -5.149010051129555e-08 -5.215894051986582e-07 3.429591843624662e-11 2.372308962315323e-12 -2.0762709560078255e-12
+DYDX_D_1 -0.008748895260191009 -5.149010051129555e-08 -5.215894051986582e-07 3.429591843624662e-11 2.372308962315323e-12 -2.0762709560078255e-12
 # 
 # X and Y Offsets 
 #
@@ -114,7 +114,7 @@ MMAG_MARK_E 30
 #
 DYDX_ORDER_E 1
 DYDX_E_0 7.051618660592987 0.00044993052313633966 0.000568576071753248 -9.125941476168853e-08 -1.0197118771739255e-08 -7.464099958501876e-09
-DYDX_A_1 0.007720397670144312 2.6306139125746e-07 5.241981337161832e-07 -3.5736030680706604e-11 -2.277967960677812e-12 1.0174827866049466e-12
+DYDX_E_1 0.007720397670144312 2.6306139125746e-07 5.241981337161832e-07 -3.5736030680706604e-11 -2.277967960677812e-12 1.0174827866049466e-12
 # 
 # X and Y Offsets 
 #
diff --git a/ObservationSim/Instrument/data/sls_conf/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Instrument/data/sls_conf/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 49b61641618d212481a874495d4d77f07f8ec57d..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Instrument/data/sls_conf/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/Instrument/data/throughputs/__pycache__/__init__.cpython-38.pyc b/ObservationSim/Instrument/data/throughputs/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index d14880f39f655cb199f27d50f2469a44934f89cd..0000000000000000000000000000000000000000
Binary files a/ObservationSim/Instrument/data/throughputs/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/MockObject/CatalogBase.py b/ObservationSim/MockObject/CatalogBase.py
index 442c325dc237fde7536fa4d0b28dd7694bf1ede1..9ca1482d2bbec8f5bb71acc153bfcbc1aec5f2a4 100644
--- a/ObservationSim/MockObject/CatalogBase.py
+++ b/ObservationSim/MockObject/CatalogBase.py
@@ -91,5 +91,4 @@ class CatalogBase(metaclass=ABCMeta):
             return sed_photon, mag_csst
         elif target_filt.survey_type == "spectroscopic":
             del sed_photon
-            return sed, mag_csst
-        
\ No newline at end of file
+            return sed, mag_csst
\ No newline at end of file
diff --git a/ObservationSim/MockObject/Galaxy.py b/ObservationSim/MockObject/Galaxy.py
index d538bc32eec81d1842f7d179393972ff2be76755..5b2cb4488a2689a60e6717df862c1a8deed6e22e 100755
--- a/ObservationSim/MockObject/Galaxy.py
+++ b/ObservationSim/MockObject/Galaxy.py
@@ -45,6 +45,7 @@ class Galaxy(MockObject):
             full = integrate_sed_bandpass(sed=self.sed, bandpass=filt.bandpass_full)
         except Exception as e:
             print(e)
+            self.logger.error(e)
             return -1
         for i in range(len(bandpass_list)):
             bandpass = bandpass_list[i]
@@ -52,6 +53,7 @@ class Galaxy(MockObject):
                 sub = integrate_sed_bandpass(sed=self.sed, bandpass=bandpass)
             except Exception as e:
                 print(e)
+                self.logger.error(e)
                 return -1
             
             ratio = sub/full
@@ -86,6 +88,7 @@ class Galaxy(MockObject):
             full = integrate_sed_bandpass(sed=self.sed, bandpass=filt.bandpass_full)
         except Exception as e:
             print(e)
+            self.logger.error(e)
             return False
 
         nphotons_sum = 0
@@ -111,6 +114,7 @@ class Galaxy(MockObject):
                 sub = integrate_sed_bandpass(sed=self.sed, bandpass=bandpass)
             except Exception as e:
                 print(e)
+                self.logger.error(e)
                 # return False
                 continue
             
diff --git a/ObservationSim/MockObject/MockObject.py b/ObservationSim/MockObject/MockObject.py
index 444a4af9c066da4b01babfe030e96370b1c01557..f5270fc0a6da045a5071320b131e6de4f4cb82db 100755
--- a/ObservationSim/MockObject/MockObject.py
+++ b/ObservationSim/MockObject/MockObject.py
@@ -44,6 +44,7 @@ class MockObject(object):
         self.hlr_bulge = self.param["hlr_bulge"]
         self.e1_disk, self.e2_disk = 0., 0.
         self.e1_bulge, self.e2_bulge = 0., 0.
+        self.additional_output_str = ""
 
         self.logger = logger
 
@@ -126,6 +127,7 @@ class MockObject(object):
             full = integrate_sed_bandpass(sed=self.sed, bandpass=filt.bandpass_full)
         except Exception as e:
             print(e)
+            self.logger.error(e)
             return False
 
         nphotons_sum = 0
@@ -145,6 +147,7 @@ class MockObject(object):
                 sub = integrate_sed_bandpass(sed=self.sed, bandpass=bandpass)
             except Exception as e:
                 print(e)
+                self.logger.error(e)
                 # return False
                 continue
         
diff --git a/ObservationSim/MockObject/SpecDisperser/disperse_c/disperse.cpython-38-x86_64-linux-gnu.so b/ObservationSim/MockObject/SpecDisperser/disperse_c/disperse.cpython-38-x86_64-linux-gnu.so
deleted file mode 100755
index 3194dd91db573aa04048282cde2804c949255f34..0000000000000000000000000000000000000000
Binary files a/ObservationSim/MockObject/SpecDisperser/disperse_c/disperse.cpython-38-x86_64-linux-gnu.so and /dev/null differ
diff --git a/ObservationSim/MockObject/SpecDisperser/disperse_c/interp.cpython-38-x86_64-linux-gnu.so b/ObservationSim/MockObject/SpecDisperser/disperse_c/interp.cpython-38-x86_64-linux-gnu.so
deleted file mode 100755
index 7f018d3e30e9da4b817ec63b6edd69a86835b35c..0000000000000000000000000000000000000000
Binary files a/ObservationSim/MockObject/SpecDisperser/disperse_c/interp.cpython-38-x86_64-linux-gnu.so and /dev/null differ
diff --git a/ObservationSim/MockObject/Star.py b/ObservationSim/MockObject/Star.py
index 4880416aba72810f00091890c0577c908ad9fded..c6510eb77a49d2c5e82ea3796f8fa8b2adf65e79 100755
--- a/ObservationSim/MockObject/Star.py
+++ b/ObservationSim/MockObject/Star.py
@@ -37,6 +37,7 @@ class Star(MockObject):
             full = integrate_sed_bandpass(sed=self.sed, bandpass=filt.bandpass_full)
         except Exception as e:
             print(e)
+            self.logger.error(e)
             return -1
 
         for i in range(len(bandpass_list)):
@@ -46,6 +47,7 @@ class Star(MockObject):
                 sub = integrate_sed_bandpass(sed=self.sed, bandpass=bandpass)
             except Exception as e:
                 print(e)
+                self.logger.error(e)
                 return -1
         
             ratio = sub/full
diff --git a/ObservationSim/MockObject/data/__pycache__/__init__.cpython-38.pyc b/ObservationSim/MockObject/data/__pycache__/__init__.cpython-38.pyc
deleted file mode 100644
index 9acac319cd7bfce8731023fb5a62c4f4ede1d6b4..0000000000000000000000000000000000000000
Binary files a/ObservationSim/MockObject/data/__pycache__/__init__.cpython-38.pyc and /dev/null differ
diff --git a/ObservationSim/ObservationSim.py b/ObservationSim/ObservationSim.py
index 8a2c5a68549b918f6fd7fe102b4c829355874cb0..22cef071afe26921c7467944b409a0641497e4f7 100755
--- a/ObservationSim/ObservationSim.py
+++ b/ObservationSim/ObservationSim.py
@@ -25,6 +25,7 @@ class Observation(object):
         self.filter_param = FilterParam() 
         self.chip_list = []
         self.filter_list = []
+        self.all_filter = []
         self.Catalog = Catalog
 
         # if we want to apply field distortion?
@@ -37,8 +38,6 @@ class Observation(object):
         nchips = self.focal_plane.nchip_x*self.focal_plane.nchip_y
         for i in range(nchips):
             chipID = i + 1
-            if self.focal_plane.isIgnored(chipID=chipID):
-                continue
 
             # Make Chip & Filter lists
             chip = Chip(
@@ -48,8 +47,10 @@ class Observation(object):
             filt = Filter(filter_id=filter_id, 
                 filter_type=filter_type, 
                 filter_param=self.filter_param)
-            self.chip_list.append(chip)
-            self.filter_list.append(filt)
+            if not self.focal_plane.isIgnored(chipID=chipID):
+                self.chip_list.append(chip)
+                self.filter_list.append(filt)
+            self.all_filter.append(filt)
 
         # Read catalog and shear(s)
         self.g1_field, self.g2_field, self.nshear = get_shear_field(config=self.config)
@@ -75,9 +76,6 @@ class Observation(object):
         chip_output.logger.info('Chip : %d' % chip.chipID)
         chip_output.logger.info(':::::::::::::::::::::::::::END:::::::::::::::::::::::::::::::::::')
 
-        # Update the limiting magnitude using exposure time in pointing
-        filt.update_limit_saturation_mags(exptime=pointing.exp_time, chip=chip)
-
         if self.config["psf_setting"]["psf_model"] == "Gauss":
             psf_model = PSFGauss(chip=chip)
         elif self.config["psf_setting"]["psf_model"] == "Interp":
@@ -160,9 +158,19 @@ class Observation(object):
 
         if pointing.pointing_type == 'MS':
             # Load catalogues and templates
-            self.cat = self.Catalog(config=self.config, chip=chip, pointing=pointing, cat_dir=cat_dir, sed_dir=sed_dir, logger=chip_output.logger)
+            self.cat = self.Catalog(config=self.config, chip=chip, pointing=pointing, cat_dir=cat_dir, sed_dir=sed_dir, chip_output=chip_output)
+            chip_output.create_output_file()
             self.nobj = len(self.cat.objs)
 
+            for ifilt in range(len(self.all_filter)):
+                temp_filter = self.all_filter[ifilt]
+                # Update the limiting magnitude using exposure time in pointing
+                temp_filter.update_limit_saturation_mags(exptime=pointing.exp_time, chip=chip)
+
+                # Select cutting band filter for saturation/limiting magnitude
+                if temp_filter.filter_type.lower() == self.config["obs_setting"]["cut_in_band"].lower():
+                    cut_filter = temp_filter
+
             # Loop over objects
             missed_obj = 0
             bright_obj = 0
@@ -181,7 +189,7 @@ class Observation(object):
                 elif obj.type == 'quasar' and self.config["run_option"]["star_only"]:
                     continue
 
-                # load SED
+                # load and convert SED; also caculate object's magnitude in all CSST bands
                 try:
                     sed_data = self.cat.load_sed(obj)
                     norm_filt = self.cat.load_norm_filt(obj)
@@ -191,26 +199,39 @@ class Observation(object):
                         target_filt=filt, 
                         norm_filt=norm_filt,
                     )
+                    _, obj.param["mag_%s"%cut_filter.filter_type] = self.cat.convert_sed(
+                        mag=obj.param["mag_use_normal"],
+                        sed=sed_data,
+                        target_filt=cut_filter, 
+                        norm_filt=norm_filt,
+                    )
+
                 except Exception as e:
-                    # print(e)
+                    print(e)
                     chip_output.logger.error(e)
                     continue
+                
+                # chip_output.logger.info("debug point #1")
 
                 # Exclude very bright/dim objects (for now)
                 # if filt.is_too_bright(mag=obj.getMagFilter(filt)):
-                if filt.is_too_bright(mag=obj.mag_use_normal):
+                # if filt.is_too_bright(mag=obj.mag_use_normal):
+                if cut_filter.is_too_bright(mag=obj.param["mag_%s"%self.config["obs_setting"]["cut_in_band"].lower()]):
                     # print("obj too birght!!", flush=True)
                     if obj.type != 'galaxy':
                         bright_obj += 1
                         obj.unload_SED()
                         continue
                 if filt.is_too_dim(mag=obj.getMagFilter(filt)):
+                # if cut_filter.is_too_dim(mag=obj.param["mag_%s"%self.config["obs_setting"]["cut_in_band"].lower()]):
                     # print("obj too dim!!", flush=True)
                     dim_obj += 1
                     obj.unload_SED()
                     # print(obj.getMagFilter(filt))
                     continue
 
+                # chip_output.logger.info("debug point #2")
+
                 if self.config["shear_setting"]["shear_type"] == "constant":
                     if obj.type == 'star':
                         obj.g1, obj.g2 = 0., 0.
@@ -224,11 +245,15 @@ class Observation(object):
                         # print("failed to load external shear.")
                         chip_output.logger.error("failed to load external shear.")
                         pass
+
+                    # chip_output.logger.info("debug point #3")
                 elif self.config["shear_setting"]["shear_type"] == "catalog":
                     pass
                 else:
                     chip_output.logger.error("Unknown shear input")
                     raise ValueError("Unknown shear input")
+                
+                # chip_output.logger.info("debug point #4")
 
                 pos_img, offset, local_wcs = obj.getPosImg_Offset_WCS(img=chip.img, fdmodel=self.fd_model, chip=chip, verbose=False)
                 if pos_img.x == -1 or pos_img.y == -1:
@@ -238,8 +263,12 @@ class Observation(object):
                     obj.unload_SED()
                     continue
 
+                # chip_output.logger.info("debug point #5")
+
                 # Draw object & update output catalog
                 try:
+                    # chip_output.logger.info("debug point #6")
+                    # chip_output.logger.info("current filter type: %s"%filt.filter_type)
                     if self.config["run_option"]["out_cat_only"]:
                         isUpdated = True
                         pos_shear = 0.
@@ -268,6 +297,7 @@ class Observation(object):
                             exptime=pointing.exp_time,
                             normFilter=norm_filt,
                             )
+                    # chip_output.logger.info("debug point #7")
                     if isUpdated:
                         # TODO: add up stats
                         # print("updating output catalog...")
@@ -277,7 +307,7 @@ class Observation(object):
                         # print("object omitted", flush=True)
                         continue
                 except Exception as e:
-                    # print(e)
+                    print(e)
                     chip_output.logger.error(e)
                     pass
                 # Unload SED:
diff --git a/ObservationSim/_util.py b/ObservationSim/_util.py
index 16cf2c4c9ff0f540bca7393c46bd83841a0628da..cc2b039005a900c4e1c08de586c0c5d58e3191a8 100755
--- a/ObservationSim/_util.py
+++ b/ObservationSim/_util.py
@@ -13,7 +13,7 @@ def parse_args():
     '''
     parser = argparse.ArgumentParser()
     parser.add_argument('config_file', help='.yaml config file for simulation settings.')
-    parser.add_argument('-c', '--config_dir', help='Directory that houses the ,yaml config file.')
+    parser.add_argument('-c', '--config_dir', help='Directory that houses the .yaml config file.')
     parser.add_argument('-d', '--data_dir', help='Directory that houses the input data.')
     parser.add_argument('-w', '--work_dir', help='The path for output.')
     return parser.parse_args()
diff --git a/config/config_C3.yaml b/config/config_C3.yaml
index ba056cd2ba90acedd3b76c7f763798edba3b425b..06d59f5b1abb66a8c1669477e6996ec482f17e42 100644
--- a/config/config_C3.yaml
+++ b/config/config_C3.yaml
@@ -84,6 +84,9 @@ obs_setting:
   # astrometric_lib: "libshao.so"
   enable_astrometric_model: True
 
+  # Cut by saturation/limiting magnitude in which band?
+  cut_in_band: "g"
+
 ###############################################
 # Input path setting
 ###############################################
diff --git a/config/config_NGP.yaml b/config/config_NGP.yaml
index aadab5ba945f769a18feca9e3baa7ed6fda48178..939318be8bd35ff42b3929150b9b928f7666e0bd 100644
--- a/config/config_NGP.yaml
+++ b/config/config_NGP.yaml
@@ -10,9 +10,9 @@
 # Can add some of the command-line arguments here as well;
 # OK to pass either way or both, as long as they are consistent
 # work_dir: "/public/home/fangyuedong/sim_code_release/CSST/test/"
-work_dir: "/public/home/fangyuedong/temp/CSST/workplace/"
+work_dir: "/public/home/fangyuedong/test/CSST/workplace/"
 data_dir: "/data/simudata/CSSOSDataProductsSims/data/"
-run_name: "NGP_Astrometry-on"
+run_name: "TEST_Speed"
 
 # (Optional) a file of point list 
 # if you just want to run default pointing:
@@ -48,7 +48,7 @@ obs_setting:
   # "Photometric": simulate photometric chips only
   # "Spectroscopic": simulate slitless spectroscopic chips only
   # "All": simulate full focal plane
-  survey_type: "Photometric"
+  survey_type: "All"
   
   # Exposure time [seconds]
   exp_time: 150.
@@ -73,18 +73,21 @@ obs_setting:
   # - give a list of indexes of pointings: [ip_1, ip_2...]
   # - run all pointings: null
   # Note: only valid when a pointing list is specified
-  run_pointings: [ 5,  7, 11, 14, 19, 60, 70, 82, 88]
+  run_pointings: [0]
   
   # Run specific chip(s):
   # - give a list of indexes of chips: [ip_1, ip_2...]
   # - run all chips: null
   # Note: for all pointings
-  run_chips: null
+  run_chips: [24]
 
   # Whether to enable astrometric modeling
   # astrometric_lib: "libshao.so"
   enable_astrometric_model: True
 
+  # Cut by saturation/limiting magnitude in which band?
+  cut_in_band: "g"
+
 ###############################################
 # Input path setting
 ###############################################
@@ -165,7 +168,7 @@ ins_effects:
   non_linear:     ON # Whether to add non-linearity
   cosmic_ray:     ON # Whether to add cosmic-ray
   cray_differ:    ON # Whether to generate different cosmic ray maps CAL and MS output
-  cte_trail:      OFF # Whether to simulate CTE trails
+  cte_trail:      ON # Whether to simulate CTE trails
   saturbloom:     ON # Whether to simulate Saturation & Blooming
   add_badcolumns: ON # Whether to add bad columns
   add_hotpixels:  ON # Whether to add hot pixels
diff --git a/config/config_NGP_dev.yaml b/config/config_NGP_dev.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..78777e871276337f52cac6c5eafbbf258b0593b7
--- /dev/null
+++ b/config/config_NGP_dev.yaml
@@ -0,0 +1,218 @@
+---
+###############################################
+#
+#  Configuration file for CSST simulation
+#  CSST-Sim Group, 2021/10/07
+#
+###############################################
+
+# Base diretories and naming setup
+# Can add some of the command-line arguments here as well;
+# OK to pass either way or both, as long as they are consistent
+# work_dir: "/public/home/fangyuedong/sim_code_release/CSST/test/"
+work_dir: "/public/home/fangyuedong/test/CSST/workplace/"
+data_dir: "/data/simudata/CSSOSDataProductsSims/data/"
+run_name: "TEST_16channel_off"
+
+# (Optional) a file of point list 
+# if you just want to run default pointing:
+# - pointing_dir: null
+# - pointing_file: null
+pointing_dir: "/data/simudata/CSSOSDataProductsSims/data/"
+pointing_file: "pointing_test_NGP_2.17.dat"
+
+# Whether to use MPI
+run_option:
+  use_mpi: YES
+  # NOTE: "n_threads" paramters is currently not used in the backend
+  # simulation codes. It should be implemented later in the web frontend
+  # in order to config the number of threads to request from NAOC cluster
+  n_threads: 80
+
+  # Output catalog only?
+  # If yes, no imaging simulation will run
+  out_cat_only: NO
+
+  # Only simulate stars?
+  star_only: NO
+
+  # Only simulate galaxies?
+  galaxy_only: NO
+
+###############################################
+# Observation setting
+###############################################
+obs_setting:
+
+  # Options for survey types:
+  # "Photometric": simulate photometric chips only
+  # "Spectroscopic": simulate slitless spectroscopic chips only
+  # "All": simulate full focal plane
+  survey_type: "All"
+  
+  # Exposure time [seconds]
+  exp_time: 150.
+
+  # Observation starting date & time
+  # (Subject to change)
+  date_obs: "210525" # [yymmdd]
+  time_obs: "120000" # [hhmmss]
+
+  # Default Pointing [degrees]
+  # Note: NOT valid when a pointing list file is specified
+  ra_center: 192.8595
+  dec_center:  27.1283
+
+  # Image rotation [degree]
+  image_rot: -113.4333
+
+  # Number of calibration pointings
+  np_cal: 0
+
+  # Run specific pointing(s):
+  # - give a list of indexes of pointings: [ip_1, ip_2...]
+  # - run all pointings: null
+  # Note: only valid when a pointing list is specified
+  run_pointings: [0]
+  
+  # Run specific chip(s):
+  # - give a list of indexes of chips: [ip_1, ip_2...]
+  # - run all chips: null
+  # Note: for all pointings
+  run_chips: [24]
+
+  # Whether to enable astrometric modeling
+  # astrometric_lib: "libshao.so"
+  enable_astrometric_model: True
+
+  # Cut by saturation/limiting magnitude in which band?
+  cut_in_band: "g"
+
+###############################################
+# Input path setting
+###############################################
+
+# Default path settings for WIDE survey simulation
+input_path:
+  cat_dir: "OnOrbitCalibration/CTargets20211231"
+  star_cat: "CT-NGP_r1.8_G28.hdf5"
+  galaxy_cat: "galaxyCats_r_3.0_healpix_shift_192.859500_27.128300.hdf5"
+
+SED_templates_path:
+  star_SED: "Catalog_20210126/SpecLib.hdf5"
+  galaxy_SED: "Templates/Galaxy/"
+
+###############################################
+# PSF setting
+###############################################
+psf_setting:
+  
+  # Which PSF model to use:
+  # "Gauss": simple gaussian profile
+  # "Interp": Interpolated PSF from sampled ray-tracing data
+  psf_model: "Interp"
+
+  # PSF size [arcseconds]
+  # radius of 80% energy encircled
+  # NOTE: only valid for "Gauss" PSF
+  psf_rcont: 0.15
+
+  # path to PSF data
+  # NOTE: only valid for "Interp" PSF
+  psf_dir: "/data/simudata/CSSOSDataProductsSims/data/csstPSFdata/psfCube"
+
+  # path to field-distortion model
+  # Note: only valid when ins_effects: field_dist is "ON"
+  fd_path: "FieldDistModelGlobal_v1.0.pickle"
+  
+  # sigma_spin: 0.0 # psf spin?
+
+###############################################
+# Shear setting
+###############################################
+
+shear_setting:
+  # Options to generate mock shear field:
+  # "constant": all galaxies are assigned a constant reduced shear
+  # "catalog": from catalog (not available yet)
+  # "extra": from seprate file
+  shear_type: "constant"
+
+  # For constant shear filed
+  reduced_g1: 0.026
+  reduced_g2: 0.015
+
+  # Representation of the shear vector?
+  reShear: "E"
+
+  # rotate galaxy ellipticity
+  rotateEll: 0. # [degree]
+
+  # Extra shear catalog
+  # (currently not used)
+  # shear_cat: "mockShear.cat"
+
+###############################################
+# Instrumental effects setting
+###############################################
+ins_effects:
+  # switches
+  field_dist:     ON  # Whether to add field distortions
+  add_back:       ON  # Whether to add sky background
+  add_dark:       ON  # Whether to add dark noise
+  add_readout:    ON # Whether to add read-out (Gaussian) noise
+  add_bias:       ON # Whether to add bias-level to images
+  bias_16channel: ON  # Whether to add different biases for 16 channels
+  gain_16channel: ON  # Whether to make different gains for 16 channels
+  shutter_effect: ON # Whether to add shutter effect
+  flat_fielding:  ON # Whether to add flat-fielding effect
+  prnu_effect:    ON # Whether to add PRNU effect
+  non_linear:     ON # Whether to add non-linearity
+  cosmic_ray:     ON # Whether to add cosmic-ray
+  cray_differ:    ON # Whether to generate different cosmic ray maps CAL and MS output
+  cte_trail:      ON # Whether to simulate CTE trails
+  saturbloom:     ON # Whether to simulate Saturation & Blooming
+  add_badcolumns: ON # Whether to add bad columns
+  add_hotpixels:  ON # Whether to add hot pixels
+  add_deadpixels: ON # Whether to add dead(dark) pixels
+  bright_fatter:  ON # Whether to simulate Brighter-Fatter (also diffusion) effect
+
+  # values
+  dark_exptime:   300   # Exposure time for dark current frames [seconds]
+  flat_exptime:   150   # Exposure time for flat-fielding frames [seconds]
+  readout_time:   40    # The read-out time for each channel [seconds]
+  df_strength:    2.3   # Sillicon sensor diffusion strength
+  bias_level:     500   # bias level [e-/pixel]
+  gain:           1.1   # Gain
+  full_well:      90000 # Full well depth [e-]
+  NBias:          1     # Number of bias frames to be exported for each exposure
+  NDark:          1     # Number of dark frames to be exported for each exposure
+  NFlat:          1     # Number of flat frames to be exported for each exposure
+
+###############################################
+# Output options
+###############################################
+output_setting:
+  readout16:      OFF # Whether to export as 16 channels (subimages) with pre- and over-scan
+  shutter_output: OFF # Whether to export shutter effect 16-bit image
+  bias_output:    ON  # Whether to export bias frames
+  dark_output:    ON  # Whether to export the combined dark current files
+  flat_output:    ON  # Whether to export the combined flat-fielding files
+  prnu_output:    OFF # Whether to export the PRNU (pixel-to-pixel flat-fielding) files
+
+###############################################
+# Random seeds
+###############################################
+random_seeds:
+  seed_Av:              121212    # Seed for generating random intrinsic extinction
+  seed_poisson:         20210601  # Seed for Poisson noise
+  seed_CR:              20210317  # Seed for generating random cosmic ray maps
+  seed_flat:            20210101  # Seed for generating random flat fields
+  seed_prnu:            20210102  # Seed for photo-response non-uniformity
+  seed_gainNonUniform:  20210202  # Seed for gain nonuniformity
+  seed_biasNonUniform:  20210203  # Seed for bias nonuniformity
+  seed_rnNonUniform:    20210204  # Seed for readout-noise nonuniformity
+  seed_badcolumns:      20240309  # Seed for bad columns
+  seed_defective:       20210304  # Seed for defective (bad) pixels
+  seed_readout:         20210601  # Seed for read-out gaussian noise
+...
\ No newline at end of file
diff --git a/config/config_example.yaml b/config/config_example.yaml
index 7fb47627c9a0e9937c7625db8abd995857396c09..ba827b3fda55df721d24f3e8d063b77b77fd87aa 100644
--- a/config/config_example.yaml
+++ b/config/config_example.yaml
@@ -80,6 +80,9 @@ obs_setting:
   # Note: for all pointings
   run_chips: [18]
 
+  # Cut by saturation/limiting magnitude in which band?
+  cut_in_band: "g"
+
 ###############################################
 # Input path setting
 ###############################################
diff --git a/run_NGP.pbs b/run_NGP.pbs
index 8d7ed893611944d1445c9c581b063555619015a6..d162767508c57827b49dbf54113ecee34066e45c 100755
--- a/run_NGP.pbs
+++ b/run_NGP.pbs
@@ -12,8 +12,9 @@
 #PBS -q batch
 #PBS -u fangyuedong
 
-NP=30
+NP=80
 date
 echo $NP
 
-mpirun -np $NP python /public/home/fangyuedong/temp/CSST/run_sim.py config_NGP.yaml -c /public/home/fangyuedong/temp/CSST/config
+# mpirun -np $NP python /public/home/fangyuedong/test/CSST/run_sim.py config_NGP.yaml -c /public/home/fangyuedong/test/CSST/config
+mpirun -np $NP python /public/home/fangyuedong/test/CSST/run_sim.py config_NGP_dev.yaml -c /public/home/fangyuedong/test/CSST/config
\ No newline at end of file
diff --git a/run_sim.py b/run_sim.py
index ee4ee57d887a4b4f12e3fa71089a544bf7f78849..483db6872dcb0de09c8a7db99ef5d264eead9dbc 100755
--- a/run_sim.py
+++ b/run_sim.py
@@ -1,8 +1,10 @@
 from ObservationSim.ObservationSim import Observation
 from ObservationSim._util import parse_args, make_run_dirs, generate_pointing_list
+from pkg_resources import get_distribution
 import os
 import yaml
 import shutil
+import datetime
 
 import gc
 gc.enable()
@@ -20,6 +22,12 @@ def run_sim(Catalog):
     ----------
         None
     """
+    # Get version of CSSTSim Package
+    __version__ = get_distribution("CSSTSim").version
+
+    # Get run datetime
+    now = datetime.datetime.now()
+
     args = parse_args()
     if args.config_dir is None:
         args.config_dir = ''
@@ -40,6 +48,12 @@ def run_sim(Catalog):
     if args.work_dir is not None:
         config['work_dir'] = args.work_dir
 
+    # Some default values
+    if "bias_16channel" not in config:
+        config["bias_16channel"] = False
+    if "gain_16channel" not in config:
+        config["gain_16channel"] = False
+
     # Generate lists pointings based on the input pointing list (or default 
     # pointing RA, DEC) and "config["obs_setting"]["run_pointings"]".
     # "config['obs_setting']['np_cal']"" is the number of CAL pointings which will be 
@@ -49,7 +63,19 @@ def run_sim(Catalog):
 
     # Make the main output directories
     run_dir = make_run_dirs(work_dir=config['work_dir'], run_name=config['run_name'], pointing_list=pointing_list)
+    
+    # Copy the config file to output directory & Write Run metadata
     shutil.copy(args.config_file, run_dir)
+    run_meta = os.path.join(run_dir, "run_metadata.yaml")
+    with open(run_meta, "w") as config_out:
+        config_out.write("\n")
+        config_out.write("###############################################\n")
+        config_out.write("CSSTSim_version: \"%s\"\n"%__version__)
+        date_str = datetime.datetime.strftime(now, '%m/%d/%Y')
+        time_str = datetime.datetime.strftime(now, '%H:%M:%S')
+        config_out.write("Run_date: \"%s\"\n"%date_str)
+        config_out.write("Run_time: \"%s\"\n"%time_str)
+        config_out.write("###############################################\n")
 
     # Initialize the simulation
     obs = Observation(config=config, Catalog=Catalog, work_dir=config['work_dir'], data_dir=config['data_dir'])
diff --git a/setup.py b/setup.py
index 841b5ac3ba1c7059deb55555664a3e25755b26aa..4f362a7cb5980c086fce2ff617f8366ab89c9611 100644
--- a/setup.py
+++ b/setup.py
@@ -26,7 +26,7 @@ extensions = [
 
 
 setup(name='CSSTSim', 
-    version='0.3', 
+    version='0.5', 
     packages=find_packages(),
     # install_requires=[
     #     'numpy>=1.18.5',