From d2cef5098c42bb139efb32ca581bdf8a96473495 Mon Sep 17 00:00:00 2001
From: "chenwei@shao.ac.cn" <cr2032+1s>
Date: Fri, 19 May 2023 16:17:11 +0800
Subject: [PATCH] build

---
 .../inspectionProfiles/profiles_settings.xml  |    6 +
 LICENSE                                       |   21 +
 README.md                                     |    6 +-
 csst_ifs_sim/CTI/CTI.py                       |  495 ++++
 csst_ifs_sim/CTI/__init__.py                  |    0
 csst_ifs_sim/__init__.py                      |    0
 csst_ifs_sim/csst_ifs_sim.py                  | 2624 +++++++++++++++++
 csst_ifs_sim/ifs_so/__init__.py               |    0
 .../cdm03.cpython-37m-x86_64-linux-gnu.so     |  Bin 0 -> 175816 bytes
 .../cdm03.cpython-38-x86_64-linux-gnu.so      |  Bin 0 -> 182992 bytes
 ...cdm03bidir.cpython-37m-x86_64-linux-gnu.so |  Bin 0 -> 192640 bytes
 .../cdm03bidir.cpython-38-x86_64-linux-gnu.so |  Bin 0 -> 203248 bytes
 csst_ifs_sim/support/IFSinstrumentModel.py    |   55 +
 csst_ifs_sim/support/__init__.py              |    0
 csst_ifs_sim/support/cosmicrays.py            |  424 +++
 csst_ifs_sim/support/logger.py                |   40 +
 ifs_data/__init__.py                          |    0
 setup.py                                      |   36 +
 18 files changed, 3704 insertions(+), 3 deletions(-)
 create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
 create mode 100644 LICENSE
 create mode 100644 csst_ifs_sim/CTI/CTI.py
 create mode 100644 csst_ifs_sim/CTI/__init__.py
 create mode 100644 csst_ifs_sim/__init__.py
 create mode 100644 csst_ifs_sim/csst_ifs_sim.py
 create mode 100644 csst_ifs_sim/ifs_so/__init__.py
 create mode 100644 csst_ifs_sim/ifs_so/cdm03.cpython-37m-x86_64-linux-gnu.so
 create mode 100644 csst_ifs_sim/ifs_so/cdm03.cpython-38-x86_64-linux-gnu.so
 create mode 100644 csst_ifs_sim/ifs_so/cdm03bidir.cpython-37m-x86_64-linux-gnu.so
 create mode 100644 csst_ifs_sim/ifs_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so
 create mode 100644 csst_ifs_sim/support/IFSinstrumentModel.py
 create mode 100644 csst_ifs_sim/support/__init__.py
 create mode 100644 csst_ifs_sim/support/cosmicrays.py
 create mode 100644 csst_ifs_sim/support/logger.py
 create mode 100644 ifs_data/__init__.py
 create mode 100644 setup.py

diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <settings>
+    <option name="USE_PROJECT_PROFILE" value="false" />
+    <version value="1.0" />
+  </settings>
+</component>
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a9b5e74
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 CSST-L1
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index f9a5328..aed373c 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Ifs
+# csst_ifs_common
 
 
 
@@ -15,14 +15,14 @@ Already a pro? Just edit this README.md and make it your own. Want to make it ea
 
 ```
 cd existing_repo
-git remote add origin https://csst-tb.bao.ac.cn/code/shaosim/ifs.git
+git remote add origin https://csst-tb.bao.ac.cn/code/csst-l1/ifs/csst_ifs_common.git
 git branch -M main
 git push -uf origin main
 ```
 
 ## Integrate with your tools
 
-- [ ] [Set up project integrations](https://csst-tb.bao.ac.cn/code/shaosim/ifs/-/settings/integrations)
+- [ ] [Set up project integrations](http://10.3.10.28/code/csst-l1/ifs/csst_ifs_common/-/settings/integrations)
 
 ## Collaborate with your team
 
diff --git a/csst_ifs_sim/CTI/CTI.py b/csst_ifs_sim/CTI/CTI.py
new file mode 100644
index 0000000..48c87cb
--- /dev/null
+++ b/csst_ifs_sim/CTI/CTI.py
@@ -0,0 +1,495 @@
+"""
+Charge Transfer Inefficiency
+============================
+
+This file contains a simple class to run a CDM03 CTI model developed by Alex Short (ESA).
+
+This now contains both the official CDM03 and a new version that allows different trap
+parameters in parallel and serial direction.
+
+:requires: NumPy
+:requires: CDM03 (FORTRAN code, f2py -c -m cdm03bidir cdm03bidir.f90)
+
+:version: 0.35
+"""
+import numpy as np
+
+# try:
+#     import cdm03bidir
+#     #import cdm03bidirTest as cdm03bidir  #for testing purposes only
+# except ImportError:
+#     print('import CTI module')
+#     #print ('No CDM03bidir module available, please compile it: f2py -c -m cdm03bidir cdm03bidir.f90')
+
+
+
+#CDM03bidir
+class CDM03bidir():
+    """
+    Class to run CDM03 CTI model, class Fortran routine to perform the actual CDM03 calculations.
+
+     :param settings: input parameters
+     :type settings: dict
+     :param data: input data to be radiated
+     :type data: ndarray
+     :param log: instance to Python logging
+     :type log: logging instance
+    """
+    def __init__(self, settings, data, log=None):
+        """
+        Class constructor.
+
+        :param settings: input parameters
+        :type settings: dict
+        :param data: input data to be radiated
+        :type data: ndarray
+        :param log: instance to Python logging
+        :type log: logging instance
+        """
+        self.data = data
+        self.values = dict(quads=(0,1,2,3), xsize=2048, ysize=2066, dob=0.0, rdose=8.0e9)
+        self.values.update(settings)
+        self.log = log
+        self._setupLogger()
+
+        #default CDM03 settings
+        self.params = dict(beta_p=0.6, beta_s=0.6, fwc=200000., vth=1.168e7, vg=6.e-11, t=20.48e-3,
+                           sfwc=730000., svg=1.0e-10, st=5.0e-6, parallel=1., serial=1.)
+        #update with inputs
+        self.params.update(self.values)
+
+        #read in trap information
+        trapdata = np.loadtxt(self.values['parallelTrapfile'])
+        if trapdata.ndim > 1:
+            self.nt_p = trapdata[:, 0]
+            self.sigma_p = trapdata[:, 1]
+            self.taur_p = trapdata[:, 2]
+        else:
+            #only one trap species
+            self.nt_p = [trapdata[0],]
+            self.sigma_p = [trapdata[1],]
+            self.taur_p = [trapdata[2],]
+
+        trapdata = np.loadtxt(self.values['serialTrapfile'])
+        if trapdata.ndim > 1:
+            self.nt_s = trapdata[:, 0]
+            self.sigma_s = trapdata[:, 1]
+            self.taur_s = trapdata[:, 2]
+        else:
+            #only one trap species
+            self.nt_s = [trapdata[0],]
+            self.sigma_s = [trapdata[1],]
+            self.taur_s = [trapdata[2],]
+
+        #scale thibaut's values
+        if 'thibaut' in self.values['parallelTrapfile']:
+            self.nt_p /= 0.576  #thibaut's values traps / pixel
+            self.sigma_p *= 1.e4 #thibaut's values in m**2
+        if 'thibaut' in self.values['serialTrapfile']:
+            self.nt_s *= 0.576 #thibaut's values traps / pixel  #should be division?
+            self.sigma_s *= 1.e4 #thibaut's values in m**2
+
+
+    def _setupLogger(self):
+        """
+        Set up the logger.
+        """
+        self.logger = True
+        if self.log is None:
+            self.logger = False
+
+
+    def radiateFullCCD(self):
+        """
+        This routine allows the whole CCD to be run through a radiation damage mode.
+        The routine takes into account the fact that the amplifiers are in the corners
+        of the CCD. The routine assumes that the CCD is using four amplifiers.
+
+        There is an excess of .copy() calls, which should probably be cleaned up. However,
+        given that I had problem with the Fortran code, I have kept the calls. If memory
+        becomes an issue then this should be cleaned.
+
+        :return: radiation damaged image
+        :rtype: ndarray
+        """
+        ydim, xdim = self.data.shape
+        out = np.zeros((xdim, ydim))
+
+        #transpose the data, because Python has different convention than Fortran
+        data = self.data.transpose().copy()
+
+        for quad in self.values['quads']:
+            if self.logger:
+                self.log.info('Adding CTI to Q%i' % quad)
+
+            if quad == 0:
+                d = data[0:self.values['xsize'], 0:self.values['ysize']].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[0:self.values['xsize'], 0:self.values['ysize']] = tmp
+            elif quad == 1:
+                d = data[self.values['xsize']:, :self.values['ysize']].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[self.values['xsize']:, :self.values['ysize']] = tmp
+            elif quad == 2:
+                d = data[:self.values['xsize'], self.values['ysize']:].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[:self.values['xsize'], self.values['ysize']:] = tmp
+            elif quad == 3:
+                d = data[self.values['xsize']:, self.values['ysize']:].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[self.values['xsize']:, self.values['ysize']:] = tmp
+            else:
+                print( 'ERROR -- too many quadrants!!' )
+                self.log.error('Too many quadrants! This method allows only four quadrants.')
+
+        return out.transpose()
+
+
+    def radiateFullCCD2(self):
+         """
+         This routine allows the whole CCD to be run through a radiation damage mode.
+         The routine takes into account the fact that the amplifiers are in the corners
+         of the CCD. The routine assumes that the CCD is using four amplifiers.
+
+         There is an excess of .copy() calls, which should probably be cleaned up. However,
+         given that I had problem with the Fortran code, I have kept the calls. If memory
+         becomes an issue then this should be cleaned.
+
+         :return: radiation damaged image
+         :rtype: ndarray
+         """
+         ydim, xdim = self.data.shape
+         out = np.empty((ydim, xdim))
+
+         #transpose the data, because Python has different convention than Fortran
+         data = self.data.copy()
+
+         for quad in self.values['quads']:
+             if self.logger:
+                 self.log.info('Adding CTI to Q%i' % quad)
+
+             if quad == 0:
+                 d = data[:self.values['ysize'], :self.values['xsize']].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[:self.values['ysize'], :self.values['xsize']] = tmp
+             elif quad == 1:
+                 d = data[:self.values['ysize'], self.values['xsize']:].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[:self.values['ysize'], self.values['xsize']:] = tmp
+             elif quad == 2:
+                 d = data[self.values['ysize']:, :self.values['xsize']].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[self.values['ysize']:, :self.values['xsize']] = tmp
+             elif quad == 3:
+                 d = data[self.values['ysize']:, self.values['xsize']:].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[self.values['ysize']:, self.values['xsize']:] = tmp
+             else:
+                 print( 'ERROR -- too many quadrants!!')
+                 self.log.error('Too many quadrants! This method allows only four quadrants.')
+
+         return out
+
+
+    def applyRadiationDamage(self, data, iquadrant=0):
+        """
+        Apply radian damage based on FORTRAN CDM03 model. The method assumes that
+        input data covers only a single quadrant defined by the iquadrant integer.
+
+        :param data: imaging data to which the CDM03 model will be applied to.
+        :type data: ndarray
+
+        :param iquandrant: number of the quadrant to process
+        :type iquandrant: int
+
+        cdm03 - Function signature::
+
+              sout = cdm03(sinp,iflip,jflip,dob,rdose,in_nt,in_sigma,in_tr,[xdim,ydim,zdim])
+            Required arguments:
+              sinp : input rank-2 array('d') with bounds (xdim,ydim)
+              iflip : input int
+              jflip : input int
+              dob : input float
+              rdose : input float
+              in_nt : input rank-1 array('d') with bounds (zdim)
+              in_sigma : input rank-1 array('d') with bounds (zdim)
+              in_tr : input rank-1 array('d') with bounds (zdim)
+            Optional arguments:
+              xdim := shape(sinp,0) input int
+              ydim := shape(sinp,1) input int
+              zdim := len(in_nt) input int
+            Return objects:
+              sout : rank-2 array('d') with bounds (xdim,ydim)
+
+        .. Note:: Because Python/NumPy arrays are different row/column based, one needs
+                  to be extra careful here. NumPy.asfortranarray will be called to get
+                  an array laid out in Fortran order in memory. Before returning the
+                  array will be laid out in memory in C-style (row-major order).
+
+        :return: image that has been run through the CDM03 model
+        :rtype: ndarray   
+        """""
+        #return data
+    
+        iflip = iquadrant / 2
+        jflip = iquadrant % 2
+
+        params = [self.params['beta_p'], self.params['beta_s'], self.params['fwc'], self.params['vth'],
+                  self.params['vg'], self.params['t'], self.params['sfwc'], self.params['svg'], self.params['st'],
+                  self.params['parallel'], self.params['serial']]
+
+        if self.logger:
+            self.log.info('nt_p=' + str(self.nt_p))
+            self.log.info('nt_s=' + str(self.nt_s))
+            self.log.info('sigma_p= ' + str(self.sigma_p))
+            self.log.info('sigma_s= ' + str(self.sigma_s))
+            self.log.info('taur_p= ' + str(self.taur_p))
+            self.log.info('taur_s= ' + str(self.taur_s))
+            self.log.info('dob=%f' % self.values['dob'])
+            self.log.info('rdose=%e' % self.values['rdose'])
+            self.log.info('xsize=%i' % data.shape[1])
+            self.log.info('ysize=%i' % data.shape[0])
+            self.log.info('quadrant=%i' % iquadrant)
+            self.log.info('iflip=%i' % iflip)
+            self.log.info('jflip=%i' % jflip)
+
+#################################################################################
+###modify
+        import sys
+        #sys.path.append('../so') 
+        from ifs_so import cdm03bidir
+        # from ifs_so.cdm03.cpython-38-x86_64-linux-gnu import cdm03bidir
+        # import cdm03bidir
+        CTIed = cdm03bidir.cdm03(np.asfortranarray(data),
+                                  jflip, iflip,
+                                  self.values['dob'], self.values['rdose'],
+                                  self.nt_p, self.sigma_p, self.taur_p,
+                                  self.nt_s, self.sigma_s, self.taur_s,
+                                  params,
+                                  [data.shape[0], data.shape[1], len(self.nt_p), len(self.nt_s), len(self.params)])
+       
+        
+        return np.asanyarray(CTIed)
+       
+#################################################################################################################
+        
+
+
+class CDM03():
+    """
+    Class to run CDM03 CTI model, class Fortran routine to perform the actual CDM03 calculations.
+
+    :param data: input data to be radiated
+    :type data: ndarray
+    :param input: input parameters
+    :type input: dictionary
+    :param log: instance to Python logging
+    :type log: logging instance
+    """
+    def __init__(self, input, data, log=None):
+        """
+        Class constructor.
+
+        :param data: input data to be radiated
+        :type data: ndarray
+        :param input: input parameters
+        :type input: dictionary
+        :param log: instance to Python logging
+        :type log: logging instance
+        """
+        try:
+            import cdm03
+        except ImportError:
+            print( 'No CDM03 module available, please compile it: f2py -c -m cdm03 cdm03.f90')
+
+        self.data = data
+        self.values = dict(quads=(0,1,2,3), xsize=2048, ysize=2066, dob=0.0, rdose=8.0e9)
+        self.values.update(input)
+        self.log = log
+        self._setupLogger()
+
+
+    def _setupLogger(self):
+        """
+        Set up the logger.
+        """
+        self.logger = True
+        if self.log is None:
+            self.logger = False
+
+
+    def radiateFullCCD(self):
+        """
+        This routine allows the whole CCD to be run through a radiation damage mode.
+        The routine takes into account the fact that the amplifiers are in the corners
+        of the CCD. The routine assumes that the CCD is using four amplifiers.
+
+        There is an excess of .copy() calls, which should probably be cleaned up. However,
+        given that I had problem with the Fortran code, I have kept the calls. If memory
+        becomes an issue then this should be cleaned.
+
+        :return: radiation damaged image
+        :rtype: ndarray
+        """
+        ydim, xdim = self.data.shape
+        out = np.zeros((xdim, ydim))
+
+        #transpose the data, because Python has different convention than Fortran
+        data = self.data.transpose().copy()
+
+        for quad in self.values['quads']:
+            if self.logger:
+                self.log.info('Adding CTI to Q%i' % quad)
+
+            if quad == 0:
+                d = data[0:self.values['xsize'], 0:self.values['ysize']].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[0:self.values['xsize'], 0:self.values['ysize']] = tmp
+            elif quad == 1:
+                d = data[self.values['xsize']:, :self.values['ysize']].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[self.values['xsize']:, :self.values['ysize']] = tmp
+            elif quad == 2:
+                d = data[:self.values['xsize'], self.values['ysize']:].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[:self.values['xsize'], self.values['ysize']:] = tmp
+            elif quad == 3:
+                d = data[self.values['xsize']:, self.values['ysize']:].copy()
+                tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                out[self.values['xsize']:, self.values['ysize']:] = tmp
+            else:
+                print ('ERROR -- too many quadrants!!')
+                self.log.error('Too many quadrants! This method allows only four quadrants.')
+
+        return out.transpose()
+
+
+    def radiateFullCCD2(self):
+         """
+         This routine allows the whole CCD to be run through a radiation damage mode.
+         The routine takes into account the fact that the amplifiers are in the corners
+         of the CCD. The routine assumes that the CCD is using four amplifiers.
+
+         There is an excess of .copy() calls, which should probably be cleaned up. However,
+         given that I had problem with the Fortran code, I have kept the calls. If memory
+         becomes an issue then this should be cleaned.
+
+         :return: radiation damaged image
+         :rtype: ndarray
+         """
+         ydim, xdim = self.data.shape
+         out = np.empty((ydim, xdim))
+
+         #transpose the data, because Python has different convention than Fortran
+         data = self.data.copy()
+
+         for quad in self.values['quads']:
+             if self.logger:
+                 self.log.info('Adding CTI to Q%i' % quad)
+
+             if quad == 0:
+                 d = data[:self.values['ysize'], :self.values['xsize']].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[:self.values['ysize'], :self.values['xsize']] = tmp
+             elif quad == 1:
+                 d = data[:self.values['ysize'], self.values['xsize']:].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[:self.values['ysize'], self.values['xsize']:] = tmp
+             elif quad == 2:
+                 d = data[self.values['ysize']:, :self.values['xsize']].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[self.values['ysize']:, :self.values['xsize']] = tmp
+             elif quad == 3:
+                 d = data[self.values['ysize']:, self.values['xsize']:].copy()
+                 tmp = self.applyRadiationDamage(d, iquadrant=quad).copy()
+                 out[self.values['ysize']:, self.values['xsize']:] = tmp
+             else:
+                 print ('ERROR -- too many quadrants!!')
+                 self.log.error('Too many quadrants! This method allows only four quadrants.')
+
+         return out
+
+
+    def applyRadiationDamage(self, data, iquadrant=0):
+        """
+        Apply radian damage based on FORTRAN CDM03 model. The method assumes that
+        input data covers only a single quadrant defined by the iquadrant integer.
+
+        :param data: imaging data to which the CDM03 model will be applied to.
+        :type data: ndarray
+
+        :param iquandrant: number of the quadrant to process
+        :type iquandrant: int
+
+        cdm03 - Function signature::
+
+              sout = cdm03(sinp,iflip,jflip,dob,rdose,in_nt,in_sigma,in_tr,[xdim,ydim,zdim])
+            Required arguments:
+              sinp : input rank-2 array('d') with bounds (xdim,ydim)
+              iflip : input int
+              jflip : input int
+              dob : input float
+              rdose : input float
+              in_nt : input rank-1 array('d') with bounds (zdim)
+              in_sigma : input rank-1 array('d') with bounds (zdim)
+              in_tr : input rank-1 array('d') with bounds (zdim)
+            Optional arguments:
+              xdim := shape(sinp,0) input int
+              ydim := shape(sinp,1) input int
+              zdim := len(in_nt) input int
+            Return objects:
+              sout : rank-2 array('d') with bounds (xdim,ydim)
+
+        .. Note:: Because Python/NumPy arrays are different row/column based, one needs
+                  to be extra careful here. NumPy.asfortranarray will be called to get
+                  an array laid out in Fortran order in memory. Before returning the
+                  array will be laid out in memory in C-style (row-major order).
+
+        :return: image that has been run through the CDM03 model
+        :rtype: ndarray
+        """
+        #read in trap information
+        trapdata = np.loadtxt(self.values['trapfile'])
+        nt = trapdata[:, 0]
+        sigma = trapdata[:, 1]
+        taur = trapdata[:, 2]
+
+        iflip = iquadrant / 2
+        jflip = iquadrant % 2
+
+        if self.logger:
+            self.log.info('nt=' + str(nt))
+            self.log.info('sigma= ' + str(sigma))
+            self.log.info('taur= ' + str(taur))
+            self.log.info('dob=%f' % self.values['dob'])
+            self.log.info('rdose=%e' % self.values['rdose'])
+            self.log.info('xsize=%i' % data.shape[1])
+            self.log.info('ysize=%i' % data.shape[0])
+            self.log.info('quadrant=%i' % iquadrant)
+            self.log.info('iflip=%i' % iflip)
+            self.log.info('jflip=%i' % jflip)
+
+
+        # #call Fortran routine
+        # CTIed = cdm03.cdm03(np.asfortranarray(data),
+        #                     iflip, jflip,
+        #                     self.values['dob'], self.values['rdose'],
+        #                     nt, sigma, taur)
+        ###modify
+        import sys
+        sys.path.append('../CTI') 
+        import cdm03
+        
+   #################################################################################
+
+        CTIed = cdm03.cdm03(np.asfortranarray(data),
+                                  jflip, iflip,
+                                  self.values['dob'], self.values['rdose'],
+                                  nt,sigma,taur )
+       
+        
+        return np.asanyarray(CTIed)
+       
+
+#################################################################################################################
+      
diff --git a/csst_ifs_sim/CTI/__init__.py b/csst_ifs_sim/CTI/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/csst_ifs_sim/__init__.py b/csst_ifs_sim/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/csst_ifs_sim/csst_ifs_sim.py b/csst_ifs_sim/csst_ifs_sim.py
new file mode 100644
index 0000000..1dbd918
--- /dev/null
+++ b/csst_ifs_sim/csst_ifs_sim.py
@@ -0,0 +1,2624 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+
+@author: yan
+"""
+
+"""
+The CSST IFS Image Simulator
+=============================================
+
+This file contains an image simulator for the CSST IFS.
+
+The approximate sequence of events in the simulator is as follows:
+
+      #. Read in a configuration file, which defines for example,
+         detector characteristics (bias, dark and readout noise, gain,
+         plate scale and pixel scale, oversampling factor, exposure time etc.).
+      #. Read in another file containing charge trap definitions (for CTI modelling).
+      #. Read in a file defining the cosmic rays (trail lengths and cumulative distributions).
+      
+      #. Load the wavefront aberration data used to calculate PSF with defined wavelength and field of view.
+     
+      #. Apply calibration unit flux to mimic flat field exposures [optional].
+      #. Apply a multiplicative flat-field map to emulate pixel-to-pixel non-uniformity [optional].
+     
+      #. Add cosmic ray tracks onto the CCD with random positions but known distribution [optional].
+      #. Apply detector charge bleeding in column direction [optional].
+      #. Add constant dark current and background light from Zodiacal light [optional].   
+      #. Add photon (Poisson) noise [optional]
+      #. Add cosmetic defects from an input file [optional].
+      #. Add overscan regions in the serial direction [optional].
+      #. Apply the CDM03 radiation damage model [optional].
+      #. Apply non-linearity model to the pixel data [optional].
+      #. Add readout noise selected from a Gaussian distribution [optional].
+      #. Convert from electrons to ADUs using a given gain factor.
+      #. Add a given bias level and discretise the counts (the output is going to be in 16bit unsigned integers).
+      #. Finally the simulated image is converted to a FITS file.
+
+:version: 2023.04
+
+
+Future Work
+-----------
+
+.. todo::
+
+    #. 
+    #. 
+    #. ......
+
+Contact Information: zhaojunyan@shao.ac.cn
+    
+-------
+
+"""
+
+from scipy.integrate import simps
+import pandas as pd
+from datetime import datetime, timedelta
+import julian
+from astropy.coordinates import get_sun
+from astropy.time import Time
+from astropy import units as u
+
+from astropy.coordinates import SkyCoord, EarthLocation
+
+from scipy import interpolate
+
+import numpy as np
+
+import scipy.io as sio
+
+from astropy.io import fits
+
+from scipy.signal import fftconvolve
+
+import galsim
+
+from scipy import ndimage
+
+import cmath
+
+import os, sys
+
+import configparser as ConfigParser
+
+from optparse import OptionParser
+
+sys.path.append('../')
+
+from CTI import CTI
+from support import logger as lg
+from support import cosmicrays
+from support import IFSinstrumentModel
+
+###############################################################################
+
+def str2time(strTime):
+    if len(strTime)>20:#
+        msec=int(float('0.'+strTime[20:])*1000000) #
+    str2=strTime[0:19]+' '+str(msec)
+    return datetime.strptime(str2,'%Y %m %d %H %M %S %f')
+    
+#datetime to mjd
+def time2mjd(dateT):
+    t0=datetime(1858,11,17,0,0,0,0)# 
+    mjd=(dateT-t0).days
+    mjd_s=dateT.hour*3600.0+dateT.minute*60.0+dateT.second+dateT.microsecond/1000000.0
+    return mjd+mjd_s/86400.0
+
+def time2jd(dateT):
+    t0=datetime(1858,11,17,0,0,0,0)#
+    mjd=(dateT-t0).days
+    mjd_s=dateT.hour*3600.0+dateT.minute*60.0+dateT.second+dateT.microsecond/1000000.0
+    return mjd+mjd_s/86400.0++2400000.5
+ 
+#mjd to datetime
+def mjd2time(mjd):
+    t0=datetime(1858,11,17,0,0,0,0)#
+    return t0+timedelta(days=mjd)
+
+def jd2time(jd):
+    mjd=jd2mjd(jd)
+    return mjd2time(mjd)
+    
+#mjd to jd
+def mjd2jd(mjd):
+    return mjd+2400000.5
+
+def jd2mjd(jd):
+    return jd-2400000.5
+
+def dt2hmd(dt):
+    ## dt is datetime 
+    hour=dt.hour
+    minute=dt.minute
+    second=dt.second
+    if hour<10:
+        str_h='0'+str(hour)
+    else:
+        str_h=str(hour)
+        
+    if minute<10:
+        str_m='0'+str(minute)
+    else:
+        str_m=str(minute)
+    
+    if second<10:
+        str_d='0'+str(second+dt.microsecond*1e-6)
+    else:
+        str_d=str(second+dt.microsecond*1e-6)        
+    
+    return str_h+':'+str_m+':'+str_d
+
+###############################################################################
+
+###############################################################################
+
+def deg2HMS(ra, dec, rou=False):
+    '''convert deg to ra's HMS or dec's DHS'''
+    RA, DEC, rs, ds = '000000', '000000', '', ''
+    if dec:
+        if str(dec)[0] == '-':
+            ds, dec = '-', abs(dec)
+        deg = int(dec)
+        decM = abs(int((dec-deg)*60))
+        
+        if rou:
+            decS = round((abs((dec-deg)*60)-decM)*60,1)
+        else:
+            decS = int((abs((dec-deg)*60)-decM)*60)
+        
+        if deg ==0:
+            deg ="00"
+        elif deg <10:
+            deg = "0%s"%deg
+        
+        if decM ==0:
+            decM ="00"
+        elif decM <10:
+            decM = "0%s"%decM
+            
+        if decS ==0:
+            decS ="00"
+        elif decS <10:
+            decS = "0%s"%decS
+            
+        DEC = '{0}{1}{2}{3}'.format(ds, deg, decM, decS)
+  
+    if ra:
+        if str(ra)[0] == '-':
+            rs, ra = '-', abs(ra)
+        raH = int(ra/15)
+        raM = int(((ra/15)-raH)*60)
+        
+        if rou:
+            raS = round(((((ra/15)-raH)*60)-raM)*60,1)
+        else:
+            raS = int(((((ra/15)-raH)*60)-raM)*60)
+            
+        if raH ==0:
+            raH = "00"
+            
+        elif raH <10:
+            raH = "0%s"%raH
+            
+        if raM ==0:
+            raM = "00"
+        elif raM <10:
+            raM = "0%s"%raM
+            
+        if raS ==0:
+            raS = "00"
+            
+        elif raS <10:
+            raS = "0%s"%raS
+        
+        RA = '{0}{1}{2}{3}'.format(rs, raH, raM, raS)
+  
+    if ds=='-':
+        return RA+DEC
+    else:
+        return RA+'+'+DEC
+###############################################################################
+
+###########################################################
+def beta_angle( x_sat, y_sat, z_sat, vx_sat, vy_sat, vz_sat, ra_obj, dec_obj):
+
+    # get the vector for next motion
+    x_sat2 = x_sat + vx_sat
+    y_sat2 = y_sat + vy_sat
+    z_sat2 = z_sat + vz_sat
+
+    vector1 = np.stack((x_sat, y_sat, z_sat),    axis=0)
+    vector2 = np.stack((x_sat2, y_sat2, z_sat2), axis=0)
+    vector_normal = np.cross(vector1, vector2)
+
+    location_normal = EarthLocation.from_geocentric(vector_normal[0],
+                                                    vector_normal[1],
+                                                    vector_normal[2],
+                                                    unit=u.km)
+    radec_normal = SkyCoord(ra=location_normal.lon,
+                            dec=location_normal.lat,
+                            frame='gcrs')
+    lb_normal = radec_normal.transform_to('geocentrictrueecliptic')
+
+
+    radec_sun = SkyCoord(ra=ra_obj*u.degree, dec=dec_obj*u.degree, frame='gcrs')
+    lb_sun = radec_sun.transform_to('geocentrictrueecliptic')
+
+    # get the angle between normal and solar
+    angle = 90 - lb_normal.separation(lb_sun).degree
+
+    return angle
+
+##########################################################
+##########################################################
+def LSR_velocity(ra,dec,velocity,Obstime):
+
+    local = EarthLocation.from_geodetic(lat=22.349368*u.deg, lon=113.584068*u.deg, height=10*u.m)
+    ### convert ra and dec to 
+    source = SkyCoord(ra*u.deg, dec*u.deg,frame='icrs', unit=(u.hourangle,u.deg) )
+    l = source.galactic.l.deg 
+    b = source.galactic.b.deg
+    c = SkyCoord(l=l*u.degree, b=b*u.degree, frame='galactic')
+    c_icrs = c.transform_to('icrs')
+    barycorr = c_icrs.radial_velocity_correction(obstime=Time(Obstime), location=local) 
+    velocity = velocity + barycorr.value/1000
+       	#print(barycorr.value/1000)
+    l = l * np.pi / 180
+    b = b * np.pi / 180
+    return velocity + 9 * np.cos(l) * np.cos(b) + 12 * np.sin(l) * np.cos(b) + 7 * np.sin(b)
+    
+###############################################################################
+def rotation_yan(x0,y0,x1,y1,angle):     
+    #% point A (x0,y0)
+    #% point B(x1,y1)
+    #% roate angle ,point B rotate with point A
+    alpha=angle/180*3.1415926    #% in radians
+    x2=(x1-x0)*np.cos(alpha)-(y1-y0)*np.sin(alpha)+x0
+    y2=(x1-x0)*np.sin(alpha)+(y1-y0)*np.cos(alpha)+y0
+    return  x2, y2
+######################################################################
+def centroid(data):
+    h,w = np.shape(data)
+    x = np.arange(0,w)
+    y = np.arange(0,h)
+    x1=np.ones((1,h))
+    y1=np.ones((w,1))
+    cx=(np.dot(np.dot(x1,data),y)) /(np.dot(np.dot(x1,data),y1))
+    cy=(np.dot(np.dot(x ,data),y1)) /(np.dot(np.dot(x1,data),y1))
+    return np.float64(cx),np.float64(cy)
+####################################################################
+def SpecCube2photon(data,wave):
+    # calcutle photons from original spec cube data,
+    # data: input data, two-dimentional, unit :  1e-17 erg/s/A/cm^2
+    # wave: the relative wavefront, unit in nm;
+    planckh= 6.62620*10**-27         #  % erg s;   
+    cc=2.99792458*10**17             #  in nm/s
+    # fov2=0.01                       # in arcsec^2 
+    # telarea=3.1415926*100*100       # in cm^2,
+    fluxlam=1e-17*data     # convert original unit to unit of erg/s/A/cm^2
+    lam=wave                  # wave in nm   ;;      
+    ephoton=planckh*cc/lam         # in erg/photon,  
+    Nphoton =fluxlam/ephoton           # in unit of  photons/cm2/s/A
+    return Nphoton
+
+######################################################################
+
+######################################################################
+def zero_pad(image, shape, position='corner'):
+    """
+    Extends image to a certain size with zeros
+    Parameters
+    ----------
+    image: real 2d `np.ndarray`
+        Input image
+    shape: tuple of int
+        Desired output shape of the image
+    position : str, optional
+        The position of the input image in the output one:
+            * 'corner'
+                top-left corner (default)
+            * 'center'
+                centered
+    Returns
+    -------
+    padded_img: real `np.ndarray`
+        The zero-padded image
+    """
+    shape = np.asarray(shape, dtype=int)
+    imshape = np.asarray(image.shape, dtype=int)
+
+    if np.alltrue(imshape == shape):
+        return image
+
+    if np.any(shape <= 0):
+        raise ValueError("ZERO_PAD: null or negative shape given")
+
+    dshape = shape - imshape
+    if np.any(dshape < 0):
+        raise ValueError("ZERO_PAD: target size smaller than source one")
+
+    pad_img = np.zeros(shape, dtype=image.dtype)
+
+    idx, idy = np.indices(imshape)
+
+    if position == 'center':
+        if np.any(dshape % 2 != 0):
+            raise ValueError("ZERO_PAD: source and target shapes "
+                             "have different parity.")
+        offx, offy = dshape // 2
+    else:
+        offx, offy = (0, 0)
+
+    pad_img[idx + offx, idy + offy] = image
+
+    return pad_img
+
+def anySampledPSF(wavefront, pupil , Q , sizeout):
+    '''  
+    written on 2020.12.04 by Yan @Shao
+    % wavefront sampled in the united circle;
+    % pupil function samped as wavefront;
+    % sample ratio Q=lambda/D/pixel;
+    % lambda is wavelength;
+    % D is diameter;
+    % pixel is in arcsec;
+    % or sample ratio Q=lambda*f/D/pixelsize
+    % f is focal length;
+    % pixelsize is the actural size of the detector;
+    % make sure all the varia have the same unit;
+    % the returned PSF has sum value of 1 
+    '''  
+
+    m,n = np.shape(wavefront)
+    
+    phase=2.0*np.pi*wavefront #% the phase of the input wavefront;    
+       
+ ####generalized pupil function of channel1;
+    if Q>=1:
+        pk1=zero_pad(pupil*np.exp(cmath.sqrt(-1)*(phase)),( int(np.floor(m*Q)),int(np.floor(m*Q))), position='corner')
+        psf=abs(np.fft.fftshift(np.fft.fft2(pk1)))**2                      
+        #psf=psf/psf.sum()          
+    else:      #%%% case: Q<1
+              #  %fft method
+        if Q>=0.5:   #% in this case Q<1 and Q>=0.5
+            pk1=zero_pad(pupil*np.exp(cmath.sqrt(-1)*(phase)), (int(2*np.floor(m*Q)),int(2*np.floor(m*Q))), position='corner')
+            mypsf=np.fft.fft2(pk1);
+            t=mypsf[0::2,0::2];
+            psf=abs(np.fft.fftshift(t))**2
+            #psf=mypsf3/mypsf3.sum();
+
+        else:
+            if Q>=0.25:
+                pk1=zero_pad(pupil*np.exp(cmath.sqrt(-1)*(phase)),( int(4*np.floor(m*Q)),int(4*np.floor(m*Q))), position='corner')
+                mypsf=np.fft.fft2(pk1);
+                t=mypsf[0::4,0::4];
+                psf=abs(np.fft.fftshift(t))**2
+                #psf=mypsf3/mypsf3.sum();
+            else:
+                print('---- Q<0.25 , stop running')
+                sys.exit(0)
+ ########################################################################################   
+    mm,nn=np.shape(psf)  
+    if np.mod(sizeout,2)==0:
+       Nx=sizeout/2-1
+    else:
+       Nx=(sizeout+1)/2-1  
+    
+        
+    if max(mm,nn)<sizeout:
+        psfout=np.zeros((sizeout,sizeout))       
+        [cx,cy]=np.where(psf==np.max(psf))
+        s=np.ceil(min(mm,nn)/2)-abs(cx-cy)-1
+        Nx=int(Nx)
+        cx=int(cx)
+        cy=int(cy)
+        s=int(s)
+        psfout[Nx-s:Nx+s-1,Nx-s:Nx+s-1]=psf[cx-s:cx+s-1,cy-s:cy+s-1]
+    else: 
+        psfout=np.zeros((sizeout,sizeout));
+        [cx,cy]=np.where(psf==np.max(psf))
+        s1=int(np.ceil(min(mm,nn)/2)-abs(cx-cy)-1)
+        s2=int(sizeout/2)
+        s=min(s1,s2)
+        s=s-1
+        Nx=int(Nx)
+        cx=int(cx)
+        cy=int(cy)
+        psfout[Nx-s:Nx+s-1,Nx-s:Nx+s-1]=psf[cx-s:cx+s-1,cy-s:cy+s-1]
+    ####    
+    
+    cx,cy=centroid(psfout)  
+    Nt=sizeout
+    #psf=ndimage.shift(psfout,[Nt/2-cy, Nt/2-cx],order=1, mode='nearest' )  ## for my fft method
+    psf=ndimage.shift(psfout,[Nt/2-cy-1, Nt/2-cx-1],order=1, mode='nearest' )   #for convolve method
+    psf=psf/psf.sum()
+    
+    return psf
+##############################################################################
+def get_dx_dy_blue(wave):
+    #wave is the wavelength in nm;
+    # dx is in dispersion direction, dy is in vertical direction;
+    dydl=np.array([-423.256, 0.001,           0.00075,         0.0000078,       -0.0000000000007,    0.0,             0.0] )              #色散方向
+    dxdl=0.2*np.array([-9.1519, -1.00000000e-06,  3.50000000e-08, -5.00000000e-09,  -1.70000000e-11,     4.00949787e-12, -6.16873452e-15])               #垂直方向
+ 
+    dx=0.0
+    dy=0.0
+    for i in range(len(dxdl)):
+        dx=dx+dxdl[i]*wave**(i)
+        dy=dy+dydl[i]*wave**(i)
+    return dx,dy
+
+
+def get_dx_dy_red(wave):
+    #wave is the wavelength in nm;
+    dydl=np.array([-640.0239901372472,        0.0018,          0.00048,          0.0000028,         -0.0000000000007,   0.0 ,      0.0]  )             #色散方向
+    dxdl=0.00325*np.array([-1638.8,                      4.0e-2,         5.500e-3,       -5.2e-10,           1.7000e-10,        7.1e-13,   -5.16e-15])               #垂直方向
+    
+    dx=0.0
+    dy=0.0
+    for i in range(len(dxdl)):
+        dx=dx+dxdl[i]*wave**(i)
+        dy=dy+dydl[i]*wave**(i)
+    return dx,dy
+
+##############################################################################################
+def getSpectrum(Spectrum0,lam,sigma):    
+
+    #
+    wave=Spectrum0[:,0]     ## wavelengthï¼›
+    Qt  =Spectrum0[:,1]     ##intensityï¼›
+    d=abs(lam-wave);    
+    if min(d)>3*sigma:
+        
+        SpmOut=1.0/20000
+    else:
+        
+        column=np.where(d==min(d))
+        SpmOut=Qt[column[0]]*np.exp(-(lam-wave[column[0]])**2/2/sigma**2)
+  
+    return SpmOut
+
+#####################################################################################
+####################################################################################################################
+
+def processArgs(printHelp=False):
+    """
+    Processes command line arguments.
+    """
+    parser = OptionParser()
+
+    parser.add_option('-c', '--configfile', dest='configfile',
+                      help="Name of the configuration file", metavar="string")
+    parser.add_option('-s', '--section', dest='section',
+                      help="Name of the section of the config file [SCIENCE]", metavar="string")
+    parser.add_option('-q', '--quadrant', dest='quadrant', help='CCD quadrant to simulate [0, 1, 2, 3]',
+                      metavar='int')
+    parser.add_option('-x', '--xCCD', dest='xCCD', help='CCD number in X-direction within the FPA matrix',
+                      metavar='int')
+    parser.add_option('-y', '--yCCD', dest='yCCD', help='CCD number in Y-direction within the FPA matrix',
+                      metavar='int')
+    parser.add_option('-d', '--debug', dest='debug', action='store_true',
+                      help='Debugging mode on')
+    parser.add_option('-t', '--test', dest='test', action='store_true',
+                      help='Run unittest')
+    parser.add_option('-f', '--fixed', dest='fixed', help='Use a fixed seed for the random number generators',
+                      metavar='int')
+    if printHelp:
+        parser.print_help()
+    else:
+        return parser.parse_args()
+##############################################################################################
+class IFSsimulator():
+    """
+    CSST IFS Simulator
+
+    The image that is being build is in::
+
+        self.image
+        self.image_b   blue channel
+        self.image_r   red channel
+     
+    :param opts: OptionParser instance
+    :type opts: OptionParser instance
+    """
+
+    def __init__(self, opts):
+        """
+        Class Constructor.
+
+        :param opts: OptionParser instance
+        :type opts: OptionParser instance
+        
+        """
+ 
+        ####################################
+        
+        self.configfile = opts.configfile
+
+        if opts.section is None:
+            ####self.section = 'DEFAULT'
+            self.section = 'TEST'       #####simulation section; 
+            
+        else:
+            self.section = opts.section
+
+        #load instrument model, these values are also stored in the FITS header
+        self.information = IFSinstrumentModel.IFSinformation()
+
+        #update settings with defaults
+        self.information.update(dict(quadrant=int(0),
+                                     ccdx=int(0),
+                                     ccdy=int(0),
+                                     psfoversampling=1.0,
+                                     ccdxgap=1.643,
+                                     ccdygap=8.116,
+                                     fullwellcapacity=90000,
+                                     readouttime=4,
+                                     rdose=8.0e9,                            
+                                     coveringfraction=0.5 ))
+        
+        ######################################################################        
+        self.configure()    #print the configfile name and path; 
+        
+        self.information.update(dict(
+                                                                     
+        cosmicraylengths =self.information['indata_path']+'/cdf_cr_length.dat',
+        cosmicraydistance=self.information['indata_path']+'/cdf_cr_total.dat',                                
+        parallelTrapfile =self.information['indata_path']+'/cdm_euclid_parallel.dat',
+        serialTrapfile   =self.information['indata_path']+'/cdm_euclid_serial.dat',
+        cosmeticsfile_b  =self.information['indata_path']+'/Cosmetics_b.txt',
+        cosmeticsfile_r  =self.information['indata_path']+'/Cosmetics_r.txt' ))
+  
+        # public system information 
+        self.pixelscale=0.1 # the pixel size is 0.1 arcsec
+        self.pixelsize=15   # the pixel physical size is 15 micron
+        self.Fnum=15.469875  # the f number= focal_length/D;
+        self.telD=2   # tht telescope size is 2 meter, diamter size;
+        self.telarea=3.1415926*(self.telD/2)**2*100*100  # telescope square in cm^2
+        self.fov2=0.01  # the pixel square
+        self.planckh= 6.62620*1e-27         #  % erg s;   
+        self.cc=2.99792458*1e17             #  in nm/s
+        self.light_FWHM=0.175
+        self.HgArsigma=self.light_FWHM/2.35;      ## sigma value of the light source;     
+                
+        #### load system optical and CCD efficiency data
+        matfn0=self.information['indata_path']+'/TotalQ200923.mat'
+        da0=sio.loadmat(matfn0)
+        self.optical_blue_Q=da0['opticalQ_1']  # optical efficiency of blue channel
+        self.optical_red_Q =da0['opticalQ_2']  # optical efficiency of red channel
+        self.CCD_Qe=da0['ccdQE']  # red channel
+        
+        #############################################################  load all useful data;    
+        ############### load wavefront data;
+        matfn2=self.information['indata_path']+'/opd_638nm.mat'
+        da2=sio.loadmat(matfn2)
+        opd0=da2['opd'] # opd unit is in meter
+        self.opd0=opd0*1e9 # convert opd  to nm
+        self.pupil=abs(opd0)>0.0
+        ####################
+        
+        da=fits.open(self.information['indata_path']+'/opd1.fits')
+        self.opd1=da[0].data
+        
+        da=fits.open(self.information['indata_path']+'/opd2.fits')
+        self.opd2=da[0].data
+        
+        da=fits.open(self.information['indata_path']+'/opd3.fits')
+        self.opd3=da[0].data
+        
+        
+        ################################################################################
+        ## slice information; the slice is put in vertial direction;
+                               # the silce long size is 64 pixels
+        slice_blue=dict()
+        slice_red =dict()
+        
+        randRedpos=np.array([0.52835362,  1.1105926 , -0.81667794,  0.88860884, -2.78092636,
+                -0.15810022, -1.56726852, -0.71601855, -1.31768647,  1.73107581,
+                 0.4933876 ,  2.83673377,  0.22226286, -0.02634998,  0.35539383,
+                -0.91989574, -2.44856212,  0.91020484, -3.03097852, -1.11638071,
+                 1.28360669, -0.12521128, -0.3907698 ,  0.70183575,  1.00578099,
+                 1.67339662,  0.18067182, -0.56303075,  0.40959616,  1.45518379,
+                -0.93194744,  0.41492972])
+        
+        randBluepos=np.array([ 0.97449008, -0.21371406, -1.62513338, -3.06938604,  1.72615283,
+                 0.73333374,  0.80923919, -0.9418576 , -0.16806578, -1.04416631,
+                 2.20155068, -0.0900156 ,  0.07597706,  0.76208373,  0.29426592,
+                -0.89434703,  0.34017826,  1.16936499,  0.10977829, -1.31179539,
+                -0.50859787, -1.01891651, -0.95791581, -1.53018041,  0.88358827,
+                 0.07837641, -0.86157157, -1.18070438,  0.53970599,  1.4913733 ,
+                 2.10938775,  1.23213412])
+        
+        #####################
+        for i in range(32):
+            if i==0:
+                slice_blue['py']=np.zeros(32)
+                slice_blue['px']=np.zeros(32)
+                
+                slice_red['py']=np.zeros(32)
+                slice_red['px']=np.zeros(32)
+                
+            if i<16:    
+                slice_blue['py'][i]=50+randBluepos[i]*4
+                slice_blue['px'][i]=3.55/0.015*i+166.0
+                
+                
+                slice_red['py'][i]=50+randBluepos[i]*4
+                slice_red['px'][i]=3.55/0.015*i+1190.0
+                
+            else:    
+                slice_blue['py'][i]=50+250+randBluepos[i]*4
+                slice_blue['px'][i]=3.55/0.015*(i-16)+166.0+118
+                
+                
+                slice_red['py'][i]=50+250+randBluepos[i]*4
+                slice_red['px'][i]=3.55/0.015*(i-16)+1190.0+118
+        ####### 
+                
+        self.slice_blue=slice_blue
+        self.slice_red=slice_red
+            
+        ###############################################################################
+        maskSlice=dict()
+        maskSlit=dict()
+        sizeout=100
+        for k in range(32):
+                maskSlice[str(k)]=np.zeros((sizeout,sizeout))
+                maskSlice[str(k)][2*k+18:2*k+20, int(sizeout/2)-32:int(sizeout/2)+32]=1
+                
+                maskSlit[str(k)]=np.zeros((sizeout,sizeout))
+                maskSlit[str(k)][2*k+18:2*k+20, int(sizeout/2)-37:int(sizeout/2)+37]=1
+        
+        self.maskSlice=maskSlice
+        self.maskSlit =maskSlit  
+        ################################################################################################
+        
+
+    
+    
+############################################################################3
+    def readConfigs(self):
+        """
+        Reads the config file information using configParser and sets up a logger.
+        """
+        self.config = ConfigParser.RawConfigParser()        
+
+        self.config.read_file(open(self.configfile))
+        
+
+###############################################################################       
+
+
+    def processConfigs(self):
+        """
+        Processes configuration information and save the information to a dictionary self.information.
+
+        The configuration file may look as follows::
+
+            [TEST]
+   
+
+        For explanation of each field, see /data/test.config. Note that if an input field does not exist,
+        then the values are taken from the default instrument model as described in
+        support.IFSinstrumentModel.VISinformation(). Any of the defaults can be overwritten by providing
+        a config file with a correct field name.
+        """
+        #parse options and update the information dictionary
+        options = self.config.options(self.section)
+        
+        settings = {}
+        
+        for option in options:
+            try:
+                settings[option] = self.config.getint(self.section, option)
+            except ValueError:
+                try:
+                    settings[option] = self.config.getfloat(self.section, option)
+                except ValueError:
+                    settings[option] = self.config.get(self.section, option)
+
+        self.information.update(settings)
+
+        self.cosmicRays = self.config.getboolean(self.section, 'cosmicRays')
+        self.darknoise = self.config.getboolean(self.section, 'darknoise')
+        self.cosmetics = self.config.getboolean(self.section, 'cosmetics')
+        self.radiationDamage = self.config.getboolean(self.section, 'radiationDamage')
+       
+        self.bleeding = self.config.getboolean(self.section, 'bleeding')
+        
+        self.skyback  = self.config.getboolean(self.section, 'skyback')
+        
+
+        #these don't need to be in the config file
+            
+        try:
+            self.nonlinearity = self.config.getboolean(self.section, 'nonlinearity')
+        except:
+            self.nonlinearity = False
+            
+        try:
+            self.flatfieldM = self.config.getboolean(self.section, 'flatfieldM')
+        except:
+            self.flatfieldM = False            
+              
+        try:
+            self.readoutNoise =  self.config.getboolean(self.section, 'readoutNoise')
+        except:
+            self.readoutNoise = True
+                        
+        ####################################################################
+        self.booleans = dict(nonlinearity=self.nonlinearity,
+                             flatfieldM=self.flatfieldM,
+                             cosmicRays=self.cosmicRays,
+                             darknoise=self.darknoise,
+                             cosmetics=self.cosmetics,
+                             radiationDamage=self.radiationDamage,
+                             bleeding=self.bleeding,
+                             skyback =self.skyback)        
+        ##################################################################### 
+        
+        now=datetime.now()
+          
+        result_day=now.strftime("%Y-%m-%d")
+        
+        self.result_path=self.information['result_path']+'/'+result_day
+            
+        if os.path.isdir(self.result_path)==False:
+            os.mkdir(self.result_path)            
+            os.mkdir(self.result_path+'/log_file')
+            os.mkdir(self.result_path+'/sky_Data')
+               
+        now=datetime.now()
+        
+        data_time=now.strftime("%Y-%m-%d-%H-%M-%S")   
+        
+        self.log = lg.setUpLogger(self.result_path+'/log_file/IFS_'+'_'+data_time+'.log')
+                
+        self.log.info('STARTING A NEW SIMULATION')        
+        
+        self.log.info(self.information)
+            
+        return
+ #########################################################################################           
+
+#######################################################################
+
+
+    def readCosmicRayInformation(self):
+        """
+        Reads in the cosmic ray track information from two input files.
+
+        Stores the information to a dictionary called cr.
+        """
+        self.log.info('Reading in cosmic ray information from %s and %s' % (self.information['cosmicraylengths'],
+                                                                            self.information['cosmicraydistance']))
+
+        crLengths = np.loadtxt(self.information['cosmicraylengths'])
+        crDists   = np.loadtxt(self.information['cosmicraydistance'])
+
+        self.cr = dict(cr_u=crLengths[:, 0], cr_cdf=crLengths[:, 1], cr_cdfn=np.shape(crLengths)[0],
+                       cr_v=crDists[:, 0], cr_cde=crDists[:, 1], cr_cden=np.shape(crDists)[0])
+
+##############################################################################################
+
+
+    def configure(self):
+        """
+        Configures the simulator with input information and creates and empty array to which the final image will
+        be build on.
+        """
+        self.readConfigs()
+        
+        self.processConfigs()        
+        
+        self.log.info('Read in the configuration files and created an empty array')
+
+#################################################################################################################       
+
+    def MakeFlatMatrix(self, img, seed):
+        ####
+        ysize, xsize=img.shape       
+        np.random.seed(seed)
+        r1,r2,r3,r4 = np.random.random(4)
+        a1 = -0.5 + 0.2*r1
+        a2 = -0.5 + 0.2*r2
+        a3 = r3+5
+        a4 = r4+5
+        xmin,xmax,ymin,ymax = 0, xsize,0, ysize
+        Flty, Fltx = np.mgrid[ymin:ymax, xmin:xmax]        
+        np.random.seed(seed)
+        p1,p2,bg=np.random.poisson(1000, 3)
+        Fltz = 1e-6*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20
+        FlatMat = Fltz/np.mean(Fltz)
+        
+        return FlatMat
+             
+    #########################################################################################################
+    def addLampFlux(self):
+        """
+        Include flux from the calibration source.
+        """
+        
+            
+        self.image_b += fits.getdata(self.information['flatflux'])
+        
+        self.image_r += fits.getdata(self.information['flatflux'])
+      
+        self.log.info('Flux from the calibration unit included (%s)' % self.information['flatflux'])
+
+
+    def applyflatfield(self):
+        """
+        Applies multiplicative flat field to emulate pixel-to-pixel non-uniformity.
+
+        Because the pixel-to-pixel non-uniformity effect (i.e. multiplicative) flat fielding takes place
+        before CTI and other effects, the flat field file must be the same size as the pixels that see
+        the sky. 
+        """
+        
+        ###
+        flat_b=self.MakeFlatMatrix(self.image_b, 100)
+        
+        flat_r=self.MakeFlatMatrix(self.image_r, 200)
+        
+        self.image_b *= flat_b
+        
+        self.image_r *= flat_r
+ 
+        self.log.info('Applied flatfield to images.')
+        
+        return
+    
+    ########################################################
+
+###############################################################################
+    def addCosmicRays(self):
+        """
+        Add cosmic rays to the arrays based on a power-law intensity distribution for tracks.
+        Cosmic ray properties (such as location and angle) are chosen from random Uniform distribution.
+        For details, see the documentation for the cosmicrays class in the support package.
+        """
+        self.readCosmicRayInformation()
+        self.cr['exptime'] = self.information['exptime']  #to scale the number of cosmics with exposure time
+
+        #cosmic ray image
+        crImage_b = np.zeros((2048, 4096), dtype=np.float64)
+        
+        crImage_r = np.zeros((3072, 6144), dtype=np.float64)
+
+        #cosmic ray instance
+        cosmics_b = cosmicrays.cosmicrays(self.log, crImage_b, crInfo=self.cr)
+        cosmics_r = cosmicrays.cosmicrays(self.log, crImage_r, crInfo=self.cr)
+       
+
+        #add cosmic rays up to the covering fraction
+        #CCD_cr = cosmics.addUpToFraction(self.information['coveringFraction'], limit=None)
+        
+        CCD_cr_b = cosmics_b.addUpToFraction(self.information['coveringfraction'], limit=None)
+        CCD_cr_r = cosmics_r.addUpToFraction(self.information['coveringfraction'], limit=None)          
+    
+
+        #paste the information
+        self.image_b += CCD_cr_b
+        self.image_r += CCD_cr_r   
+
+
+        #count the covering factor
+        area_cr_b = np.count_nonzero(CCD_cr_b)
+        area_cr_r = np.count_nonzero(CCD_cr_r)      
+        
+        #self.log.info('The cosmic ray covering factor is %i pixels ' % area_cr)
+        self.log.info('The cosmic ray in blue channel covering factor is %i pixels ' % area_cr_b)
+        self.log.info('The cosmic ray in red channel covering factor is %i pixels '  % area_cr_r) 
+        
+        #########################################################
+            
+#########################################################################       
+   
+#########################################################################
+
+
+    def applyDarkCurrent(self):
+        """
+        Apply dark current. Scales the dark with the exposure time.
+
+        Additionally saves the image without noise to a FITS file.
+        """
+         
+        self.log.info('Added dark current to bule and red channel' )
+        
+        ##########   blue zone 1
+        self.image_b[0:1024,0:2048]     +=  self.information['exptime'] * self.information['dark1_b'] 
+        
+        ########## zone 4   #################
+        self.image_b[1024:2048,0:2048]  +=  self.information['exptime'] * self.information['dark4_b']  
+        
+        ########## zone 2  ###################
+        self.image_b[0:1024,2048:4096]  +=  self.information['exptime'] * self.information['dark2_b']  
+        
+        ########## zone 3
+        self.image_b[1024:2048,2048:4096]+=  self.information['exptime'] * self.information['dark3_b']       
+        
+        
+    
+        ########## red  zone 1
+        self.image_r[0:1536, 0:3072]       +=   self.information['exptime'] * self.information['dark1_r']      
+        ########## zone 4   #################
+
+        self.image_r[1536:3712,0:3072]     +=   self.information['exptime'] * self.information['dark4_r']  
+        
+        ########## zone 2  ###################
+        self.image_r[0:1536,3072:6144]     +=   self.information['exptime'] * self.information['dark2_r']  
+        
+        ########## zone 3
+        self.image_r[1536:3072,3072:6144]  +=   self.information['exptime'] * self.information['dark3_r']    
+        
+
+#######################################################################################################3
+
+    def applyCosmicBackground(self):
+        """
+        Apply dark the cosmic background. Scales the background with the exposure time.
+
+        Additionally saves the image without noise to a FITS file.
+        """
+
+        #add background
+        bcgr = self.information['exptime'] * self.information['cosmic_bkgd']
+        #self.image += bcgr
+        self.image_b += bcgr
+        self.image_r += bcgr        
+        
+        self.log.info('Added cosmic background = %f' % bcgr)
+
+        if self.cosmicRays:
+            #self.imagenoCR += bcgr
+            self.imagenoCR_b += bcgr
+            self.imagenoCR_r += bcgr
+            
+ ##########################################################################################       
+
+
+
+##############################################################################
+    def applyPoissonNoise(self):
+        """
+        Add Poisson noise to the image.
+        """
+        
+        rounded = np.rint(self.image_b)   ### round to 
+        residual = self.image_b.copy() - rounded #ugly workaround for multiple rounding operations...
+        rounded[rounded < 0.0] = 0.0
+        
+        np.random.seed()
+        self.image_b = np.random.poisson(rounded).astype(np.float64)
+        self.log.info('Added Poisson noise on channel blue')
+        self.image_b += residual
+        
+        rounded = np.rint(self.image_r)   ### round to 
+        residual = self.image_r.copy() - rounded #ugly workaround for multiple rounding operations...
+        rounded[rounded < 0.0] = 0.0
+        
+        np.random.seed()
+        self.image_r = np.random.poisson(rounded).astype(np.float64)
+        self.log.info('Added Poisson noise on channel red')
+        self.image_r += residual   
+
+
+###################################################################################################################
+
+    def applyCosmetics(self):
+        """
+        Apply cosmetic defects described in the input file.
+       
+        Warning:: This method does not work if the input file has exactly one line.
+        """
+        cosmetics = np.loadtxt(self.information['cosmeticsfile_b'])
+        
+        x = np.round(cosmetics[:, 0]).astype(int)
+        y = np.round(cosmetics[:, 1]).astype(int)
+        value = cosmetics[:, 2]
+
+        cosmetics_b=np.zeros((3712,6784)) 
+        cosmetics_r=np.zeros((3712,6784)) 
+        self.log.info('Adding cosmetic defects to blue channel:' )
+        for xc, yc, val in zip(x, y, value):
+            if 0 <= xc <= 6784 and 0 <= yc <= 3712:
+                #self.image[yc, xc] = val
+                self.image_b[yc, xc] = val  
+                cosmetics_b[yc,xc]=val
+                self.log.info('x=%i, y=%i, value=%f' % (xc, yc, val))
+######################################################################################################
+
+        cosmetics = np.loadtxt(self.information['cosmeticsfile_r'])
+        
+        x = np.round(cosmetics[:, 0]).astype(int)
+        y = np.round(cosmetics[:, 1]).astype(int)
+        value = cosmetics[:, 2]
+        
+        
+        self.log.info('Adding cosmetic defects to red channel:' )
+
+        for xc, yc, val in zip(x, y, value):
+            if 0 <= xc <= 6784 and 0 <= yc <= 3712:
+                #self.image[yc, xc] = val
+                self.image_r[yc, xc] = val               
+                cosmetics_r[yc,xc]=val
+                self.log.info('x=%i, y=%i, value=%f' % (xc, yc, val))
+                
+            
+################################################################################           
+         
+
+    def applyRadiationDamage(self):
+        """
+        Applies CDM03 radiation model to the image being constructed.
+
+        .. seealso:: Class :`CDM03`
+        """
+
+        
+        self.log.debug('Starting to apply radiation damage model...')
+        #at this point we can give fake data...
+        cti = CTI.CDM03bidir(self.information, [], log=self.log)
+        #here we need the right input data
+        self.image_b = cti.applyRadiationDamage(self.image_b.copy().transpose(), iquadrant=self.information['quadrant']).transpose()
+        self.log.info('Radiation damage added.')
+
+        
+        self.log.debug('Starting to apply radiation damage model...')
+        #at this point we can give fake data...
+        cti = CTI.CDM03bidir(self.information, [], log=self.log)
+        #here we need the right input data
+        self.image_r = cti.applyRadiationDamage(self.image_r.copy().transpose(), iquadrant=self.information['quadrant']).transpose()
+        self.log.info('Radiation damage added.')
+##################################################################################
+
+
+    def applyNonlinearity(self):
+        """
+        Applies a CCD273 non-linearity model to the image being constructed.
+        """
+
+        self.log.debug('Starting to apply non-linearity model...')
+        self.image_b = IFSinstrumentModel.CCDnonLinearityModel(self.image_b.copy())
+
+        self.log.info('Non-linearity effects included.')
+              
+        
+        self.log.debug('Starting to apply non-linearity model...')
+        self.image_r = IFSinstrumentModel.CCDnonLinearityModel(self.image_r.copy())
+
+        self.log.info('Non-linearity effects included.')
+
+#####################################################################################
+    def applyReadoutNoise(self):
+        """
+        Applies readout noise to the image being constructed.
+
+        The noise is drawn from a Normal (Gaussian) distribution with average=0.0 and std=readout noise.
+        """
+
+    
+        self.log.info('readnoise added in blue channel') 
+        ##########   blue zone 1
+        np.random.seed()
+        self.image_b[0:1856,0:3392]     +=  np.random.normal(loc=0.0, scale=self.information['rn1_b'], size=(1856,3392))
+        
+        ########## zone 4   #################
+        np.random.seed()
+        self.image_b[1856:3712,0:3392]  +=  np.random.normal(loc=0.0, scale=self.information['rn4_b'], size=(1856,3392))
+        
+        ########## zone 2  ###################
+        np.random.seed()
+        self.image_b[0:1856,3392:6784]  +=  np.random.normal(loc=0.0, scale=self.information['rn2_b'], size=(1856,3392))
+        
+        ########## zone 3
+        np.random.seed()
+        self.image_b[1856:3712,3392:6784]+=  np.random.normal(loc=0.0, scale=self.information['rn3_b'], size=(1856,3392)) 
+        
+            
+        ############################################################################
+            
+        self.log.info('readnoise added in blue channel') 
+
+
+        ##########   red zone 1
+        np.random.seed()
+        self.image_r[0:1856, 0:3392]     +=  np.random.normal(loc=0.0, scale=self.information['rn1_r'], size=(1856,3392))
+        
+        ########## zone 4   #################
+        np.random.seed()
+        self.image_r[1856:3712,0:3392]  +=  np.random.normal(loc=0.0, scale=self.information['rn4_r'], size=(1856,3392))
+        
+        ########## zone 2  ###################
+        np.random.seed()
+        self.image_r[0:1856,3392:6784]  +=  np.random.normal(loc=0.0, scale=self.information['rn2_r'], size=(1856,3392))
+        
+        ########## zone 3
+        np.random.seed()
+        self.image_r[1856:3712,3392:6784]+=  np.random.normal(loc=0.0, scale=self.information['rn3_r'], size=(1856,3392))     
+     
+##########################################################################################        
+            
+    def electrons2ADU(self):
+        """
+        Convert from electrons to ADUs using the value read from the configuration file.
+        """
+
+            
+         ###############################################################   
+
+        self.log.info('Converting from electrons to ADUs using a factor of gain' )
+
+        ##########   blue zone 1
+        self.image_b[0:1856,0:3392]     /=  self.information['gain1_b']
+        
+        ########## zone 4   #################
+        self.image_b[1856:3712,0:3392]  /=  self.information['gain4_b']
+        
+        ########## zone 2  ###################
+        self.image_b[0:1856,3392:6784]  /=  self.information['gain2_b']
+        
+        ########## zone 3
+        self.image_b[1856:3712,3392:6784]/=  self.information['gain3_b']
+                 
+        ############################################################################       
+
+        ##########   red zone 1
+        self.image_r[0:1856, 0:3392]     /=  self.information['gain1_r']
+        
+        ########## zone 4   #################
+        self.image_r[1856:3712,0:3392]   /=  self.information['gain4_r']
+        
+        ########## zone 2  ###################
+        self.image_r[0:1856,3392:6784]   /=  self.information['gain2_r']
+        
+        ########## zone 3
+        self.image_r[1856:3712,3392:6784] /=  self.information['gain3_r']    
+            
+ ##########################################################################3           
+            
+
+ ####################################################################################     
+            
+    def applyBias(self):
+        """
+        Adds a bias level to the image being constructed.
+
+        The value of bias is read from the configure file and stored
+        in the information dictionary (key bias).
+        """
+
+
+        ##########   blue zone 1
+        self.image_b[0:1856,0:3392]      +=  self.information['bias1_b']
+        
+        ########## zone 4   #################
+        self.image_b[1856:3712,0:3392]   +=  self.information['bias4_b']
+        
+        ########## zone 2  ###################
+        self.image_b[0:1856,3392:6784]   +=  self.information['bias2_b']
+        
+        ########## zone 3
+        self.image_b[1856:3712,3392:6784] +=  self.information['bias3_b']
+        
+        self.log.info('Bias counts were added to the blue image' )
+                 
+        ############################################################################       
+
+        ##########   red zone 1
+        self.image_r[0:1856, 0:3392]       +=  self.information['bias1_r']
+        
+        ########## zone 4   #################
+        self.image_r[1856:3712,0:3392]     +=  self.information['bias4_r']
+        
+        ########## zone 2  ###################
+        self.image_r[0:1856,3392:6784]     +=  self.information['bias2_r']
+        
+        ########## zone 3
+        self.image_r[1856:3712,3392:6784]  +=  self.information['bias3_r'] 
+            
+        ##########################################################################    
+
+        self.log.info('Bias counts were added to the red image' )
+       
+###############################################################################       
+
+###############################################################################
+
+    def applyBleeding_yan(self):
+        """
+        Apply bleeding along the CCD columns if the number of electrons in a pixel exceeds the full-well capacity.
+
+        Bleeding is modelled in the parallel direction only, because the CCD273s are assumed not to bleed in
+        serial direction.
+
+        :return: None
+        """
+
+        
+        if self.image_b.max()>self.information['fullwellcapacity']:       
+            
+            self.log.info('Applying column bleeding to blue CCD image...')
+           
+            #loop over each column, as bleeding is modelled column-wise
+            for i, column in enumerate(self.image_b.T):
+                sum = 0.
+                for j, value in enumerate(column):
+                    #first round - from bottom to top (need to half the bleeding)
+                    overload = value - self.information['fullwellcapacity']
+                    if overload > 0.:
+                        overload /= 2.
+                        #self.image[j, i] -= overload
+                        self.image_b[j, i] -= overload
+             
+                        sum += overload
+                        
+                    elif sum > 0.:
+                        if -overload > sum:
+                            overload = -sum
+                       
+                        self.image_b[j, i] -= overload 
+                        sum += overload
+    
+            for i, column in enumerate(self.image_b.T):
+                sum = 0.
+                for j, value in enumerate(column[::-1]):
+                    #second round - from top to bottom (bleeding was half'd already, so now full)
+                    overload = value - self.information['fullwellcapacity']
+                    if overload > 0.:
+                        #self.image[-j-1, i] -= overload
+                        self.image_b[-j-1, i] -= overload
+                       
+                        sum += overload
+                    elif sum > 0.:
+                        if -overload > sum:
+                            overload = -sum
+                        #self.image[-j-1, i] -= overload
+                        self.image_b[-j-1, i] -= overload
+    
+                        
+                        sum += overload
+            print('Applying column bleeding to blue image finished.......')
+        
+        
+        ######################################################################
+        if self.image_r.max()>self.information['fullwellcapacity']:       
+            
+            self.log.info('Applying column bleeding to red CCD image...')
+            
+            for i, column in enumerate(self.image_r.T):
+                sum = 0.
+                for j, value in enumerate(column):
+                    #first round - from bottom to top (need to half the bleeding)
+                    overload = value - self.information['fullwellcapacity']
+                    if overload > 0.:
+                        overload /= 2.
+                        #self.image[j, i] -= overload
+                        self.image_r[j, i] -= overload
+             
+                        sum += overload
+                    elif sum > 0.:
+                        if -overload > sum:
+                            overload = -sum
+                        #self.image[j, i] -= overload
+                        self.image_r[j, i] -= overload
+           
+                        
+                        sum += overload
+    
+            for i, column in enumerate(self.image_r.T):
+                sum = 0.
+                for j, value in enumerate(column[::-1]):
+                    #second round - from top to bottom (bleeding was half'd already, so now full)
+                    overload = value - self.information['fullwellcapacity']
+                    if overload > 0.:
+                        #self.image[-j-1, i] -= overload
+                        self.image_r[-j-1, i] -= overload
+                       
+                        sum += overload
+                    elif sum > 0.:
+                        if -overload > sum:
+                            overload = -sum
+                        #self.image[-j-1, i] -= overload
+                        self.image_r[-j-1, i] -= overload
+    
+                        
+                        sum += overload
+            print('Applying column bleeding to red image finished.......')
+        
+    ############################################################################
+        
+    ############################################################################
+
+    def discretise(self, max=2**16-1):
+        """
+        Converts a floating point image array (self.image) to an integer array with max values
+        defined by the argument max.
+
+        :param max: maximum value the the integer array may contain [default 65k]
+        :type max: float
+
+        :return: None
+        """
+        #avoid negative numbers in case bias level was not added
+        self.image_b[self.image_b < 0.0] = 0.
+        #cut of the values larger than max
+        self.image_b[self.image_b > max] = max
+
+        self.image_b = np.rint(self.image_b).astype(int)
+        self.log.info('Maximum and total values of the image are %i and %i, respectively' % (np.max(self.image_b),
+                                                                                             np.sum(self.image_b)))
+
+        #avoid negative numbers in case bias level was not added
+        self.image_r[self.image_r < 0.0] = 0.
+        #cut of the values larger than max
+        self.image_r[self.image_r > max] = max
+
+        self.image_r = np.rint(self.image_r).astype(int)
+        self.log.info('Maximum and total values of the image are %i and %i, respectively' % (np.max(self.image_r),
+                                                                                             np.sum(self.image_r)))
+                      
+  ##################################################################################################   
+  
+    def applyImageShift(self):       
+
+        np.random.seed()
+        ud= np.random.random()   # Choose a random rotation
+        dx= 2* (ud-0.5) * self.information['shiftmax'] 
+        
+        np.random.seed()
+        ud= np.random.random()   # Choose a random rotation
+        dy= 2* (ud-0.5) * self.information['shiftmax']             
+ 
+        self.image_b= ndimage.shift(self.image_b.copy(), [dy+self.information['shift_b_y'] , dx+self.information['shift_b_x']], order=0, mode='nearest') 
+        self.image_r= ndimage.shift(self.image_r.copy(), [dy+self.information['shift_r_y'] , dx+self.information['shift_r_x']], order=0, mode='nearest') 
+       
+        self.log.info('Applied image shifting to g r i channels.')
+        self.information['ra']  =  dx*self.information['pixel_size']
+        self.information['dec'] =  dy*self.information['pixel_size']
+ 
+            
+######################################################################################################33
+                
+    def applyImageRotate(self ):
+        np.random.seed()
+        ud = np.random.random()   # Choose a random rotation
+        angle = 2* (ud-0.5) * self.information['tel_rotmax']   
+        
+        inputimg=self.image_b.copy()
+        rotimg=ndimage.rotate(inputimg,angle+self.information['rotate_b'],order=1,reshape=False) # here we choose reshape=False, the rotated image will
+        self.image_b=rotimg
+
+        inputimg=self.image_r.copy()
+        rotimg=ndimage.rotate(inputimg,angle+self.information['rotate_r'],order=1,reshape=False) # here we choose reshape=False, the rotated image will
+        self.image_r=rotimg
+        
+        self.information['Tel_rot']=angle
+        
+        self.log.info('Applied telescope rotation with angle (in degree)= %f.', angle)
+###############################################################################        
+        
+    def CCDreadout(self):    
+        
+        imgb=self.image_b.copy()
+        temp=np.zeros((3712,6784))
+        ########## zone 1
+        x1=0
+        x2=x1+1024
+        
+        y1=0
+        y2=y1+2048
+        temp[x1:x2,y1:y2]=imgb[0:1024,0:2048]        
+        ########## zone 4   #################
+        x1=2688
+        x2=x1+1024
+        
+        y1=0
+        y2=y1+2048
+        temp[x1:x2,y1:y2]=imgb[1024:2048,0:2048]        
+        ########## zone 2  ###################
+        x1=0
+        x2=x1+1024
+        
+        y1=6784-2048
+        y2=y1+2048
+        temp[x1:x2,y1:y2]=imgb[0:1024,2048:4096]         
+        ########## zone 3
+        x1=2688
+        x2=x1+1024
+        
+        y1=6784-2048
+        y2=y1+2048
+        temp[x1:x2,y1:y2]=imgb[1024:2048,2048:4096]        
+        
+        self.image_b=temp
+        
+        ##############################################################################
+        imgr=self.image_r.copy()
+        temp=np.zeros((3712,6784))
+        ########## zone 1
+        x1=0
+        x2=x1+1536
+        
+        y1=0
+        y2=y1+3072
+        temp[x1:x2,y1:y2]=imgr[0:1536, 0:3072]        
+        ########## zone 4   #################
+        x1=2176
+        x2=x1+1536
+        
+        y1=0
+        y2=y1+3072
+        temp[x1:x2,y1:y2]=imgr[1536:3712,0:3072]        
+        ########## zone 2  ###################
+        x1=0
+        x2=x1+1536
+        
+        y1=6784-3072
+        y2=y1+3072
+        temp[x1:x2,y1:y2]=imgr[0:1536,3072:6144]         
+        ########## zone 3
+        x1=2176
+        x2=x1+1536
+        
+        y1=6784-3072
+        y2=y1+3072
+        temp[x1:x2,y1:y2]=imgr[1536:3072,3072:6144]        
+        
+        self.image_r=temp
+        
+        return
+##############################################################################
+        
+    def writeOutputs(self):
+        """
+        Writes out a FITS file using PyFITS and converts the image array to 16bit unsigned integer as
+        appropriate for VIS.
+
+        Updates header with the input values and flags used during simulation.
+        """
+
+        ## Readout information
+        self.source='sci'
+        now=datetime.now()        
+        data_time=now.strftime("%Y-%m-%d %H:%M:%S")       
+        exp_endtime=now.strftime("%Y%m%d%H%M%S")  
+        start=now-timedelta(seconds=self.information['exptime']) 
+        exp_starttime=start.strftime("%Y%m%d%H%M%S") 
+        
+        #write the actual file
+        obsid=300000000+1
+        
+        data_time=self.dt.strftime("%Y-%m-%d %H:%M:%S")  
+        
+        exp_starttime=self.dt.strftime("%Y%m%d%H%M%S")            
+        ### exposure end time is t2 ;
+        t2=self.dt+timedelta(seconds=self.information['exptime'])            
+        exp_endtime=t2.strftime("%Y%m%d%H%M%S")         
+        t3=self.dt+timedelta(seconds=self.information['exptime'])+timedelta(seconds=self.information['readouttime'])
+
+        filename_b='CSST_IFS_B_'+self.source+'_'+exp_starttime+'_'+exp_endtime+'_'+str(obsid)+'_X_L0_VER_'+self.information['img_ver']+'.fits'
+        file_b=self.result_path+'/sky_Data/'+filename_b
+        
+        filename_r='CSST_IFS_R_'+self.source+'_'+exp_starttime+'_'+exp_endtime+'_'+str(obsid)+'_X_L0_VER_'+self.information['img_ver']+'.fits'
+        file_r=self.result_path+'/sky_Data/'+filename_r           
+            
+
+        #create a new FITS file, using HDUList instance
+        ofd_b = fits.PrimaryHDU()
+        
+        ofd_b.header['GROUPS']=( bool(False),   'always F')
+        ofd_b.header['DATE']  =( data_time,   'date this file was written' ) 
+        
+        ofd_b.header['FILENAME']=(filename_b,   ' file name C48  ')        
+        ofd_b.header['OBSTYPE'] =( self.source,   'observation type raw,flt, mask, bias, dark, sci')        
+        ofd_b.header['TELESCOP']=('CSST',   'always CSST')
+        ofd_b.header['INSTRUME']=( 'IFS',   '   ')
+        ofd_b.header['RADECSYS']=('ICRS',   ' always ICRS ')
+        ofd_b.header['EQUINOX'] =( float(2000.0),   'always 2000.0')
+        ofd_b.header['FITSCREA']=( '4.2.1',   'FITS create software version')
+        
+        #########   Object information  #############             
+        
+        ofd_b.header['OBJECT']=( self.information['name_obj'],   'object name')
+        ofd_b.header['TARGET']=( (self.information['target']),     'target name, hhmmss+ddmmss')
+        ofd_b.header['OBJ_RA'] =(np.float64(self.information['ra_obj']) ,   'RA of the object in deg')
+        ofd_b.header['OBJ_DEC']=(np.float64(self.information['dec_obj']) ,   'DEC of the object in deg')
+        
+        ofd_b.header['RA_PNT0']=( np.float64(self.information['ra_pnt0']) ,     'RA of the pointing (degrees) at EXPSTART')
+        ofd_b.header['DEC_PNT0']=(np.float64(self.information['dec_pnt0']) ,    'DEC of the pointing (degrees) at EXPSTART')
+
+
+        
+        ##############
+        ofd_b.header['OBSID'] =(str(obsid) ,   'observation ID, 3+8bit')
+
+        ########  Telescope information ###############
+        # ofd_b.header['COMMENT'] ='=========================================================='
+        # ofd_b.header['COMMENT'] ='Telescope information'
+        # ofd_b.header['COMMENT'] ='=========================================================='       
+        
+        ofd_b.header['REFFRAME']=('CSSTGSC-1.0' ,   'guide star catalog version')
+        ofd_b.header['DATE-OBS']=(data_time ,   'date of the observation (yyyy-mm-dd hh:mm:ss)')
+        
+        ofd_b.header['EXPSTART']=(np.float64(time2jd(self.dt)),   'exposure start time')
+        ofd_b.header['SUNANGL0']=(np.float32(0.0) ,   'angle between sun and optical axis at EXPSTART')
+        ofd_b.header['MOONANG0']=(np.float32(0.0) ,   'angle between moon and optical axis at EXPSTART')
+        ofd_b.header['POS_ANG0']=(np.float64(0.0),   'angle between optical axis and the North Pole at EXPSTART in arcsec')
+        ofd_b.header['TEL_ALT0']=(np.float64(0.0),   'angle between optical axis and the ground- piston at EXPSTART in deg')
+        
+        ofd_b.header['HOODSTA0']=(np.float32(0.0) ,   'lens hood altitude at EXPSTART')
+        ofd_b.header['HOODANG0']=(np.float32(0.0),    'lens hood azimuth at EXPSTART')
+        ofd_b.header['POSI0_X'] =(np.float64(self.information['POSI0_X']) ,   'the orbital position of CSST in X direction at EXPSTART')
+        ofd_b.header['POSI0_Y'] =(np.float64(self.information['POSI0_Y']) ,   'the orbital position of CSST in Y direction at EXPSTART')
+        ofd_b.header['POSI0_Z'] =(np.float64(self.information['POSI0_Z']) ,   'the orbital position of CSST in Z direction at EXPSTART')
+        ofd_b.header['VELO0_X']=( np.float64(self.information['VELO0_X']) ,   'the orbital velocity of CSST in X direction at EXPSTART')
+        ofd_b.header['VELO0_Y']=( np.float64(self.information['VELO0_Y']) ,   'the orbital velocity of CSST in Y direction at EXPSTART')
+        ofd_b.header['VELO0_Z']=( np.float64(self.information['VELO0_Z']) ,   'the orbital velocity of CSST in Z direction at EXPSTART')
+        
+        ofd_b.header['Euler0_1']=( np.float64(0.0),   'Euler angle 1 at EXPSTART')
+        ofd_b.header['Euler0_2']=( np.float64(0.0),   'Euler angle 2 at EXPSTART')
+        ofd_b.header['Euler0_3']=( np.float64(0.0),   'Euler angle 3 at EXPSTART')
+        
+
+        ofd_b.header['EXPEND']  =(np.float64(time2jd(t2)) ,       'exposure end time')
+        
+        ofd_b.header['SUNANGL1']=(np.float32(0.0),   'angle between sun and optical axis at EXPEND')
+        ofd_b.header['MOONANG1']=(np.float32(0.0) ,   'angle between moon and optical axis at EXPEND   ')
+        ofd_b.header['POS_ANG1']=(np.float64(0.0) ,   'angle between optical axis and the North Pole at EXPEND in arcsec')
+        ofd_b.header['TEL_ALT1']=(np.float64(0.0) ,   'angle between optical axis and the ground- piston at EXPEND in deg  ')
+        ofd_b.header['HOODSTA1']=(np.float32(0.0),   'lens hood altitude at EXPEND   ')
+        ofd_b.header['HOODANG1']=(np.float32(0.0),   'lens hood azimuth at EXPEND   ')
+        
+        ofd_b.header['POSI1_X'] =(np.float64(self.information['POSI1_X']) ,   'the orbital position of CSST in X direction at EXPEND')
+        ofd_b.header['POSI1_Y'] =(np.float64(self.information['POSI1_Y']) ,   'the orbital position of CSST in Y direction at EXPEND')
+        ofd_b.header['POSI1_Z'] =(np.float64(self.information['POSI1_Z']) ,   'the orbital position of CSST in Z direction at EXPEND')
+        
+        ofd_b.header['VELO1_X']=(np.float64(self.information['VELO1_X']) ,   'the orbital velocity of CSST in X direction at EXPEND')
+        ofd_b.header['VELO1_Y']=(np.float64(self.information['VELO1_Y']) ,   'the orbital velocity of CSST in Y direction at EXPEND')
+        ofd_b.header['VELO1_Z']=(np.float64(self.information['VELO1_Z']) ,   'the orbital velocity of CSST in Z direction at EXPEND')
+        
+        
+        ofd_b.header['Euler1_1']=( np.float64(0.0),   'Euler angle 1 at EXPEND')
+        ofd_b.header['Euler1_2']=( np.float64(0.0),   'Euler angle 2 at EXPEND')
+        ofd_b.header['Euler1_3']=( np.float64(0.0),   'Euler angle 3 at EXPEND')
+        
+        ofd_b.header['RA_PNT1']=(np.float64(ofd_b.header['RA_PNT0']),    'RA of the pointing (degrees) at EXPEND in deg')
+        ofd_b.header['DEC_PNT1']=(np.float64(ofd_b.header['DEC_PNT0']),   'DEC of the pointing (degrees) at EXPEND in deg')
+        
+        ofd_b.header['EXPTIME']=(self.information['exptime'],   'exposure duration')
+        ofd_b.header['EPOCH']  =(np.float32(0.0),   'coordinate epoch')
+        ofd_b.header['CHECKSUM']=(   0           ,   'hdu-checksum')        
+        
+        ########## finish header for 0 layer        
+        #############################################################################3
+        ##### header 
+
+        b1= self.image_b[1856:3712,0:3392]    #b4
+        b2= self.image_b[1856:3712,3392:6784] #b3
+        b3= self.image_b[0:1856,0:3392]       #b1
+        b4= self.image_b[0:1856,3392:6784]    #b2
+        
+        ####### do Flip the b2 b2 and b4 array in the up/down or left/right direction. 
+        b2=np.fliplr(b2)      ## left to right  
+        b3=np.flipud(b3)      ## down to up
+        
+        b4=np.fliplr(b4)      ## left to right and down to up
+        b4=np.flipud(b4)
+        
+        
+        bb=np.hstack((b1,b2,b3,b4))
+        
+        
+        #new image HDU, blue channel, layer 1
+        hdu_b =fits.ImageHDU(data=np.uint16(bb))
+        
+        #########  instrument information  ######
+        #####
+        hdu_b.header['PMIRRPOS']=(bool(False),  'FSM pointing,T: to MCI, F: not to MCI')
+        
+        if self.source =='sci':
+            hdu_b.header['CMIRRPOS']=(bool(False), 'position of calibration switch mirror,T: for calibration, F: not')
+        else:
+            hdu_b.header['CMIRRPOS']=(bool(True), 'position of calibration switch mirror,T: for calibration, F: not')
+            
+        if self.source=='flat':
+            hdu_b.header['FLAMP']   =(int(1),     'status of flat lamp,0: off, 1: , 2: ')
+        else:
+            hdu_b.header['FLAMP']   =(int(0),     'status of flat lamp,0: off, 1: , 2: ')
+            
+            
+        if self.source=='lamp':
+            hdu_b.header['ALAMP']   =(int(1),'status of atomic emission line lamp,0: off, 1: , 2: ')
+        else:
+            hdu_b.header['ALAMP']   =(int(0),'status of atomic emission line lamp,0: off, 1: , 2: ')       
+      
+        #############
+        hdu_b.header['IFSMODE'] =(int(0),     'IFS working mode')
+        hdu_b.header['IFSTEMP'] =(float(0.0), 'IFS components temperature in degC')
+        hdu_b.header['IFSSTAT'] =(int(0),     'IFS components status parameter')
+        ##############################################################################     
+        ###################   detector information#############################
+        # hdu_b.header['COMMENT'] ='=========================================================='
+        # hdu_b.header['COMMENT'] ='Detector information'
+        # hdu_b.header['COMMENT'] ='=========================================================='
+        
+        hdu_b.header['CAMERA']  =('Blue','camera of IFS')
+        hdu_b.header['DETNAM']  =('CCD231-c4','detector name')
+        hdu_b.header['DETSIZE'] =('', 'detector size')
+        hdu_b.header['DATASEC'] =('', 'data section')
+        hdu_b.header['PIXSCAL1']=(1856, 'pixel scale for axis 1')
+        hdu_b.header['PIXSCAL2']=(3392*4, 'pixel scale for axis 2')
+        hdu_b.header['PIXSIZE1']=(15, 'pixel size in um')
+        hdu_b.header['PIXSIZE2']=(15, 'pixel size in um')
+        hdu_b.header['NCHAN']   =(4, 'number of readout channels')
+        hdu_b.header['NCHAN1']  =(2, 'number of horizontal channels')
+        hdu_b.header['NCHAN2']  =(2, 'number of verticalchannels')
+        hdu_b.header['PSCAN1']  =(0, 'horizontal prescan width, per readout channel')
+        hdu_b.header['PSCAN2']  =(0, 'vertical  prescan width, per readout channel')
+        hdu_b.header['OSCAN1']  =(0,' horizontal overscan width, per readout channel')
+        hdu_b.header['OSCAN2']  =(0, 'vertical overscan width, per readout channel')    
+
+        ## Readout information
+        # hdu_b.header['COMMENT'] ='============================================================='
+        # hdu_b.header['COMMENT'] ='Readout information'
+        # hdu_b.header['COMMENT'] ='============================================================='        
+      
+                
+        hdu_b.header['READT0']  =(np.float64(time2jd(t2)),'read start time (UTC)')
+        hdu_b.header['READT1']  =(np.float64(time2jd(t3)),  'read end time (UTC)')        
+        
+        hdu_b.header['DETTEMP0']=(np.float32(0.0), 'detector temperature at READT0')
+        hdu_b.header['DETTEMP1']=(np.float32(0.0), 'detector temperature at READT1')
+        hdu_b.header['BIN_X']   =(0,    'bin number in X (wavelength)')
+        hdu_b.header['BIN_Y']   =(0,    'bin number in Y (spatial)')
+        
+        hdu_b.header['GAIN1']   =(self.information['gain4_b'],'CCD gain (channel 1)')
+        hdu_b.header['GAIN2']   =(self.information['gain3_b'],'CCD gain (channel 2)')
+        hdu_b.header['GAIN3']   =(self.information['gain1_b'],'CCD gain (channel 3)')
+        hdu_b.header['GAIN4']   =(self.information['gain2_b'],'CCD gain (channel 4)')        
+        
+        hdu_b.header['DARK1']   =(self.information['dark4_b'],'CCD dark (channel 1)')
+        hdu_b.header['DARK2']   =(self.information['dark3_b'],'CCD dark (channel 2)')
+        hdu_b.header['DARK3']   =(self.information['dark1_b'],'CCD dark (channel 3)')
+        hdu_b.header['DARK4']   =(self.information['dark2_b'],'CCD dark (channel 4)')
+        
+        
+        hdu_b.header['RDNOIS1'] =(self.information['rn4_b'],'read noise (channel 1')
+        hdu_b.header['RDNOIS2'] =(self.information['rn3_b'],'read noise (channel 2')
+        hdu_b.header['RDNOIS3'] =(self.information['rn1_b'],'read noise (channel 3')
+        hdu_b.header['RDNOIS4'] =(self.information['rn2_b'],'read noise (channel 4')
+        
+        hdu_b.header['DETBIA1'] =(self.information['bias4_b'],'amplifier bias voltage (channel1)')
+        hdu_b.header['DETBIA2'] =(self.information['bias3_b'],'amplifier bias voltage (channel2)')
+        hdu_b.header['DETBIA3'] =(self.information['bias1_b'],'amplifier bias voltage (channel3)')
+        hdu_b.header['DETBIA4'] =(self.information['bias2_b'],'amplifier bias voltage (channel4)')
+        
+        hdu_b.header['RDSPEED'] =(100,'read speed (in MHz)')
+        
+        hdu_b.header['EXPTIME'] =(self.information['exptime'],'exposure time in seconds')
+        
+        hdu_b.header['Img_Ver'] =(self.information['img_ver'], 'IFS CCD image Version')     
+
+        hdu_b.header['sky_obj'] =(self.skyfilepath,'input sky fits filepath')
+             
+  
+        ##########################################################
+        ####################    red camera  ######################
+
+
+        #create a new FITS file, using HDUList instance
+        ofd_r = fits.PrimaryHDU()
+        
+        ofd_r.header['GROUPS']=( bool(False),   'always F')
+        ofd_r.header['DATE']  =( data_time,   'date this file was written' )  
+        
+        ofd_r.header['FILENAME']=(filename_r,   ' file name C48  ')
+        
+        ofd_r.header['OBSTYPE'] =( self.source,   'observation type raw,flt, mask, bias, dark, sci')
+        
+        ofd_r.header['TELESCOP']=('CSST' ,   'always CSST')
+        ofd_r.header['INSTRUME']=( 'IFS',   '   ')
+        ofd_r.header['RADECSYS']=('ICRS',   ' always ICRS ')
+        ofd_r.header['EQUINOX'] =( float(2000.0),   'always 2000.0')
+        ofd_r.header['FITSCREA']=( '4.2.1'  ,   'FITS create software version')
+        #########   Object information  #############
+        
+        #########   Object information  #############
+        # ofd_r.header['COMMENT']='======================================================================='
+        # ofd_r.header['COMMENT']='Object information'
+        # ofd_r.header['COMMENT']='======================================================================='
+            
+        ofd_r.header['OBJECT']=( self.information['name_obj'],   'object name')
+        ofd_r.header['TARGET']=( (self.information['target']),     'target name, hhmmss+ddmmss')
+        ofd_r.header['OBJ_RA'] =(np.float64(self.information['ra_obj']) ,   'RA of the object in deg')
+        ofd_r.header['OBJ_DEC']=(np.float64(self.information['dec_obj']) ,   'DEC of the object in deg')
+        
+        ofd_r.header['RA_PNT0']=( np.float64(self.information['ra_pnt0']) ,     'RA of the pointing (degrees) at EXPSTART')
+        ofd_r.header['DEC_PNT0']=(np.float64(self.information['dec_pnt0']) ,    'DEC of the pointing (degrees) at EXPSTART')
+    
+        ofd_r.header['OBSID'] =(str(obsid) ,   'observation ID, 3+8bit ')        
+        
+        ########  Telescope information ###############
+        # ofd_r.header['COMMENT']='======================================================================='
+        # ofd_r.header['COMMENT']='Telescope information'
+        # ofd_r.header['COMMENT']='======================================================================='
+        
+        ofd_r.header['REFFRAME']=('CSSTGSC-1.0' ,   'guide star catalog version   ')
+        ofd_r.header['DATE-OBS']=(data_time ,   'date of the observation (yyyy-mm-dd hh:mm:ss)')
+        
+        ofd_r.header['EXPSTART']=(np.float64(exp_starttime),   'exposure start time  ')
+        ofd_r.header['SUNANGL0']=(np.float32(0.0) ,   'angle between sun and optical axis at EXPSTART   ')
+        ofd_r.header['MOONANG0']=(np.float32(0.0) ,   'angle between moon and optical axis at EXPSTART   ')
+        ofd_r.header['POS_ANG0']=(np.float64(0.0),   'angle between optical axis and the North Pole at EXPSTART in arcsec  ')
+        ofd_r.header['TEL_ALT0']=(np.float64(0.0),   'angle between optical axis and the ground- piston at EXPSTART in deg ')
+        ofd_r.header['HOODSTA0']=(np.float32(0.0) ,   'lens hood altitude at EXPSTART   ')
+        ofd_r.header['HOODANG0']=(np.float32(0.0),   'lens hood azimuth at EXPSTART   ')
+        ofd_r.header['POSI0_X'] =(np.float64(self.information['POSI0_X']) ,   'the orbital position of CSST in X direction at EXPSTART')
+        ofd_r.header['POSI0_Y'] =(np.float64(self.information['POSI0_Y']) ,   'the orbital position of CSST in Y direction at EXPSTART')
+        ofd_r.header['POSI0_Z'] =(np.float64(self.information['POSI0_Z']) ,   'the orbital position of CSST in Z direction at EXPSTART')
+        ofd_r.header['VELO0_X']=( np.float64(self.information['VELO0_X']) ,   'the orbital velocity of CSST in X direction at EXPSTART')
+        ofd_r.header['VELO0_Y']=( np.float64(self.information['VELO0_Y']) ,   'the orbital velocity of CSST in Y direction at EXPSTART')
+        ofd_r.header['VELO0_Z']=( np.float64(self.information['VELO0_Z']) ,   'the orbital velocity of CSST in Z direction at EXPSTART')
+        
+        ofd_r.header['Euler0_1']=( np.float64(0.0),   'Euler angle 1 at EXPSTART')
+        ofd_r.header['Euler0_2']=( np.float64(0.0),   'Euler angle 2 at EXPSTART')
+        ofd_r.header['Euler0_3']=( np.float64(0.0),   'Euler angle 3 at EXPSTART')
+        
+        ofd_r.header['EXPEND']  =(np.float64(exp_endtime) ,       'exposure end time')
+        
+        ofd_r.header['SUNANGL1']=(np.float32(0.0),   'angle between sun and optical axis at EXPEND')
+        ofd_r.header['MOONANG1']=(np.float32(0.0) ,   'angle between moon and optical axis at EXPEND   ')
+        ofd_r.header['POS_ANG1']=(np.float64(0.0) ,   'angle between optical axis and the North Pole at EXPEND in arcsec')
+        ofd_r.header['TEL_ALT1']=(np.float64(0.0) ,   'angle between optical axis and the ground- piston at EXPEND in deg  ')
+        ofd_r.header['HOODSTA1']=(np.float32(0.0),   'lens hood altitude at EXPEND   ')
+        ofd_r.header['HOODANG1']=(np.float32(0.0),   'lens hood azimuth at EXPEND   ')
+        
+        ofd_r.header['POSI1_X'] =(np.float64(self.information['POSI1_X']) ,   'the orbital position of CSST in X direction at EXPEND')
+        ofd_r.header['POSI1_Y'] =(np.float64(self.information['POSI1_Y']) ,   'the orbital position of CSST in Y direction at EXPEND')
+        ofd_r.header['POSI1_Z'] =(np.float64(self.information['POSI1_Z']) ,   'the orbital position of CSST in Z direction at EXPEND')
+        
+        ofd_r.header['VELO1_X']=(np.float64(self.information['VELO1_X']) ,   'the orbital velocity of CSST in X direction at EXPEND')
+        ofd_r.header['VELO1_Y']=(np.float64(self.information['VELO1_Y']) ,   'the orbital velocity of CSST in Y direction at EXPEND')
+        ofd_r.header['VELO1_Z']=(np.float64(self.information['VELO1_Z']) ,   'the orbital velocity of CSST in Z direction at EXPEND')
+        
+        ofd_r.header['Euler1_1']=( np.float64(0.0),   'Euler angle 1 at EXPEND')
+        ofd_r.header['Euler1_2']=( np.float64(0.0),   'Euler angle 2 at EXPEND')
+        ofd_r.header['Euler1_3']=( np.float64(0.0),   'Euler angle 3 at EXPEND')
+        
+        ofd_r.header['RA_PNT1']=(np.float64(ofd_r.header['RA_PNT0']),    'RA of the pointing (degrees) at EXPEND in deg')
+        ofd_r.header['DEC_PNT1']=(np.float64(ofd_r.header['DEC_PNT0']),   'DEC of the pointing (degrees) at EXPEND in deg')
+        
+        ofd_r.header['EXPTIME']=(self.information['exptime'],   'exposure duration')
+        ofd_r.header['EPOCH']  =(np.float32(0.0),   'coordinate epoch')
+        ofd_r.header['CHECKSUM']=(   0           ,   'hdu-checksum')
+        
+        ### finish 0 layer header
+       
+        ########## finish header for 0 layer        
+        
+        # ##########   blue zone 1--to--3
+        # self.image_r[0:1856,0:3392]      +=  self.information['bias1_r']
+        
+        # ########## zone 4 --to---1  #################
+        # self.image_r[1856:3712,0:3392]   +=  self.information['bias4_r']
+        
+        # ########## zone 2 ----to----4  ###################
+        # self.image_r[0:1856,3392:6784]   +=  self.information['bias2_r']
+        
+        # ########## zone 3 ---to------2
+        # self.image_r[1856:3712,3392:6784] +=  self.information['bias3_r']       
+        #############################################################################3
+        ##### header 
+
+        b1= self.image_r[1856:3712,0:3392]   
+        b2= self.image_r[1856:3712,3392:6784]
+        b3= self.image_r[0:1856,0:3392]
+        b4= self.image_r[0:1856,3392:6784]
+        
+        
+        ####### do Flip the b2 b2 and b4 array in the up/down or left/right direction. 
+        b2=np.fliplr(b2)      ## left to right  
+        b3=np.flipud(b3)      ## down to up
+        
+        b4=np.fliplr(b4)      ## left to right and down to up
+        b4=np.flipud(b4)
+        
+        
+        
+        rr=np.hstack((b1,b2,b3,b4))
+        #new image HDU, blue channel, layer 1
+        hdu_r =fits.ImageHDU(data=np.uint16(rr))
+        
+        
+        #########################################
+        #########  instrument information  ######
+        hdu_r.header['PMIRRPOS']=(bool(False),  'FSM pointing,T: to MCI, F: not to MCI')
+        
+       
+        hdu_r.header['CMIRRPOS']=(bool(False), 'position of calibration switch mirror,T: for calibration, F: not')
+
+        hdu_r.header['FLAMP']   =(int(0),     'status of flat lamp,0: off, 1: , 2: ')
+                       
+        hdu_r.header['ALAMP']   =(int(0),'status of atomic emission line lamp,0: off, 1: , 2: ')       
+      
+        hdu_r.header['IFSMODE'] =(int(0),     'IFS working mode')
+        hdu_r.header['IFSTEMP'] =(float(0.0), 'IFS components temperature in degC')
+        hdu_r.header['IFSSTAT'] =(int(0),     'IFS components status parameter')
+        
+        ###################   detector information#############################
+        # hdu_r.header['COMMENT']='======================================================================='
+        # hdu_r.header['COMMENT']='Detector information'
+        # hdu_r.header['COMMENT']='======================================================================='
+        
+        hdu_r.header['CAMERA']  =('Red','camera of IFS')
+        hdu_r.header['DETNAM']  =('CCD231-c4','detector name')
+        hdu_r.header['DETSIZE'] =('', 'detector size')
+        hdu_r.header['DATASEC'] =('', 'data section')
+        hdu_r.header['PIXSCAL1']=(1856, 'pixel scale for axis 1')
+        hdu_r.header['PIXSCAL2']=(3392*4, 'pixel scale for axis 2')
+        hdu_r.header['PIXSIZE1']=(15, 'pixel size in um')
+        hdu_r.header['PIXSIZE2']=(15, 'pixel size in um')
+        hdu_r.header['NCHAN']   =(4, 'number of readout channels')
+        hdu_r.header['NCHAN1']  =(2, 'number of horizontal channels')
+        hdu_r.header['NCHAN2']  =(2, 'number of verticalchannels')
+        hdu_r.header['PSCAN1']  =(0, 'horizontal prescan width, per readout channel')
+        hdu_r.header['PSCAN2']  =(0, 'vertical  prescan width, per readout channel')
+        hdu_r.header['OSCAN1']  =(0,' horizontal overscan width, per readout channel')
+        hdu_r.header['OSCAN2']  =(0, 'vertical overscan width, per readout channel')    
+
+#####################################################################################################
+        ## Readout information
+        # hdu_r.header['COMMENT']='======================================================================='
+        # hdu_r.header['COMMENT']='Readout information'
+        # hdu_r.header['COMMENT']='======================================================================='
+        
+     
+                
+        hdu_r.header['READT0']  =(np.float64(time2jd(t2)),'read start time (UTC)')
+        hdu_r.header['READT1']  =(np.float64(time2jd(t3)),  'read end time (UTC)')        
+        
+        hdu_r.header['DETTEMP0']=(np.float32(0.0), 'detector temperature at READT0')
+        hdu_r.header['DETTEMP1']=(np.float32(0.0), 'detector temperature at READT1')
+        hdu_r.header['BIN_X']   =(0,    'bin number in X (wavelength)')
+        hdu_r.header['BIN_Y']   =(0,    'bin number in Y (spatial)')
+        
+        hdu_r.header['GAIN1']   =(self.information['gain4_r'],'CCD gain (channel 1)')
+        hdu_r.header['GAIN2']   =(self.information['gain3_r'],'CCD gain (channel 2)')
+        hdu_r.header['GAIN3']   =(self.information['gain1_r'],'CCD gain (channel 3)')
+        hdu_r.header['GAIN4']   =(self.information['gain2_r'],'CCD gain (channel 4)')
+        
+        
+        hdu_r.header['DARK1']   =(self.information['dark4_r'],'CCD dark (channel 1)')
+        hdu_r.header['DARK2']   =(self.information['dark3_r'],'CCD dark (channel 2)')
+        hdu_r.header['DARK3']   =(self.information['dark1_r'],'CCD dark (channel 3)')
+        hdu_r.header['DARK4']   =(self.information['dark2_r'],'CCD dark (channel 4)')
+        
+        
+        hdu_r.header['RDNOIS1'] =(self.information['rn4_r'],'read noise (channel 1')
+        hdu_r.header['RDNOIS2'] =(self.information['rn3_r'],'read noise (channel 2')
+        hdu_r.header['RDNOIS3'] =(self.information['rn1_r'],'read noise (channel 3')
+        hdu_r.header['RDNOIS4'] =(self.information['rn2_r'],'read noise (channel 4')
+        
+        hdu_r.header['DETBIA1'] =(self.information['bias4_r'],'amplifier bias voltage (channel1)')
+        hdu_r.header['DETBIA2'] =(self.information['bias3_r'],'amplifier bias voltage (channel2)')
+        hdu_r.header['DETBIA3'] =(self.information['bias1_r'],'amplifier bias voltage (channel3)')
+        hdu_r.header['DETBIA4'] =(self.information['bias2_r'],'amplifier bias voltage (channel4)')
+        
+        hdu_r.header['RDSPEED'] =(100,'read speed (in MHz)')
+        
+        hdu_r.header['EXPTIME'] =(self.information['exptime'],'exposure time in seconds')
+        
+        hdu_r.header['Img_Ver'] =(self.information['img_ver'], 'IFS CCD image Version')  
+        
+        hdu_r.header['sky_obj'] =(self.skyfilepath,'input sky fits filename')            
+            
+     
+        
+        hdulist_b=fits.HDUList([ofd_b, hdu_b])
+        hdulist_b.writeto(file_b, overwrite=True)
+        #print('IFS_b.fits is created ')
+       
+        hdulist_r=fits.HDUList([ofd_r, hdu_r])
+        hdulist_r.writeto(file_r, overwrite=True)
+        #print('IFS_r.fits is created ')
+        ##################################################################################        
+        
+    def earthshine(self,theta):
+        """
+            For given theta angle, return the earth-shine spectrum.
+    
+        :param theta: angle (in degree) from the target to earth limb.
+        :return: the scaled solar spectrum
+            template_wave: unit in A
+            template_flux: unit in erg/s/cm^2/A/arcsec^2
+    
+        """
+    
+        # read solar template
+        solar_template = pd.read_csv(self.information['indata_path']+'/refs/solar_spec.dat', sep='\s+',
+                                   header=None, comment='#')
+        template_wave = solar_template[0].values
+        template_flux = solar_template[1].values
+    
+        # read earth shine surface brightness
+        earthshine_curve = pd.read_csv(self.information['indata_path']+'/refs/earthshine.dat',
+                                   header=None, comment='#')
+        angle = earthshine_curve[0].values
+        surface_brightness = earthshine_curve[1].values
+    
+        # read V-band throughtput
+        cat_filter_V = pd.read_csv(self.information['indata_path']+'/refs/filter_Bessell_V.dat', sep='\s+',
+                                   header=None, comment='#')
+        filter_wave = cat_filter_V[0].values
+        filter_response = cat_filter_V[1].values
+    
+        # interplate to the target wavelength in V-band
+        ind_filter = (template_wave >= np.min(filter_wave)) & (template_wave <= np.max(filter_wave))
+        filter_wave_interp = template_wave[ind_filter]
+        filter_response_interp = np.interp(filter_wave_interp, filter_wave, filter_response)
+    
+        filter_constant = simps(filter_response_interp * filter_wave_interp, filter_wave_interp)
+        template_constant = simps(filter_response_interp * template_wave[ind_filter] * template_flux[ind_filter],
+                                  template_wave[ind_filter])
+        dwave = filter_wave_interp[1:] - filter_wave_interp[:-1]
+        wave_eff = np.nansum(dwave * filter_wave_interp[1:] * filter_response_interp[1:]) / \
+                   np.nansum(dwave * filter_response_interp[1:])
+    
+        # get the normalized value at theta.
+        u0 = np.interp(theta, angle, surface_brightness)    # mag/arcsec^2
+        u0 = 10**((u0 + 48.6)/(-2.5))         # target flux in erg/s/cm^2/Hz unit
+        u0 = u0 * 3e18 / wave_eff**2          # erg/s/cm^2/A/arcsec^2
+    
+        factor = u0 * filter_constant / template_constant
+        norm_flux = template_flux * factor          # erg/s/cm^2/A/arcsec^2
+        
+        self.earthshine_wave=template_wave     # A
+        self.earthshine_flux=norm_flux
+    
+        return 
+
+
+########################################################################################################################################################################################################################################################
+
+    
+    def zodiacal(self, ra, dec, time):
+        """
+            For given RA, DEC and TIME, return the interpolated zodical spectrum in Leinert-1998.
+    
+        :param ra: RA in unit of degree, ICRS frame
+        :param dec: DEC in unit of degree, ICRS frame
+        :param time: the specified string that in ISO format i.e., yyyy-mm-dd.
+        :return:
+            wave_A: wavelength of the zodical spectrum
+            spec_mjy: flux of the zodical spectrum, in unit of MJy/sr
+            spec_erg: flux of the zodical spectrum, in unit of erg/s/cm^2/A/sr
+    
+        """
+    
+        # get solar position
+        dt = datetime.fromisoformat(time)
+        jd = julian.to_jd(dt, fmt='jd')
+        t = Time(jd, format='jd', scale='utc')
+    
+        astro_sun = get_sun(t)
+        ra_sun, dec_sun = astro_sun.gcrs.ra.deg, astro_sun.gcrs.dec.deg
+    
+        radec_sun = SkyCoord(ra=ra_sun*u.degree, dec=dec_sun*u.degree, frame='gcrs')
+        lb_sun = radec_sun.transform_to('geocentrictrueecliptic')
+    
+        # get offsets between the target and sun.
+        radec_obj = SkyCoord(ra=ra*u.degree, dec=dec*u.degree, frame='icrs')
+        lb_obj = radec_obj.transform_to('geocentrictrueecliptic')
+    
+        beta = abs(lb_obj.lat.degree)
+        lamda = abs(lb_obj.lon.degree - lb_sun.lon.degree)
+    
+        # interpolated zodical surface brightness at 0.5 um
+        zodi = pd.read_csv(self.information['indata_path']+'/refs/zodi_map.dat', sep='\s+', header=None, comment='#')
+        beta_angle = np.array([0, 5, 10, 15, 20, 25, 30, 45, 60, 75])
+        lamda_angle = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45,
+                              60, 75, 90, 105, 120, 135, 150, 165, 180])
+        xx, yy = np.meshgrid(beta_angle, lamda_angle)
+        f = interpolate.interp2d(xx, yy, zodi, kind='linear')
+        zodi_obj = f(beta, lamda)       # 10^−8 W m−2 sr−1 um−1
+    
+        # read the zodical spectrum in the ecliptic
+        cat_spec = pd.read_csv(self.information['indata_path']+'/refs/solar_spec.dat', sep='\s+', header=None, comment='#')
+        wave = cat_spec[0].values       # A
+        spec0 = cat_spec[1].values      # 10^-8 W m^−2 sr^−1 μm^−1
+        zodi_norm = 252                 # 10^-8 W m^−2 sr^−1 μm^−1
+    
+        spec = spec0 * (zodi_obj / zodi_norm) * 1e-8  # W m^−2 sr^−1 μm^−1
+    
+        # convert to the commonly used unit of MJy/sr, erg/s/cm^2/A/sr
+        wave_A = wave                                               # A
+        spec_mjy = spec * 0.1 * wave_A**2 / 3e18 * 1e23 * 1e-6      # MJy/sr
+        spec_erg = spec * 0.1                                       # erg/s/cm^2/A/sr
+        spec_erg2 = spec_erg / 4.25452e10                           # erg/s/cm^2/A/arcsec^2
+        
+        self.zodiacal_wave=wave_A    # in A
+        self.zodiacal_flux=spec_erg2
+    
+        return 
+    ###################################################################################
+    ##################################################################################
+    def CalskyNoise(self, lam):
+        
+
+      # calculate sky noise;
+        planckh= 6.62620*10**-27         #  erg s;   
+        cc=2.99792458*10**17             #  in nm/s
+        fov2=0.01                        #  arcsec^2 
+     
+        # lam is input wavelength  in nm       
+        
+        ##########################################
+        self.earthshine_wave        # A
+        self.earthshine_flux        # erg/s/cm^2/A/arcsec^2
+        earthshine_flux=np.interp(lam*10.0, self.earthshine_wave,self.earthshine_flux)  # flux from zodiacal
+        
+        self.zodiacal_wave             # in A
+        self.zodiacal_flux             # erg/s/cm^2/A/arcsec^2
+        zodiacal_flux=np.interp(lam*10.0, self.zodiacal_wave,self.zodiacal_flux)  # flux from zodiacal  
+        fluxlam_sky=(earthshine_flux+zodiacal_flux)*fov2               # erg/s/cm2/A
+        ###############
+        
+        ephoton=planckh*cc/lam                     # in erg/photon,  cc与lambda单位需要一致;
+        Ns_skynoise=fluxlam_sky/ephoton            #  in unit of  photons/cm2/s/A 
+        
+        
+        return  Ns_skynoise   
+  
+        
+        #################################################################################  
+    def sim_sky_img(self,skyfitsfilename, skyRa_shift, skyDec_shift, sky_rot,  exposuretime):
+        
+   
+        ############################################################################
+        ### load fits file 
+        indatafile=skyfitsfilename 
+        a=fits.open(indatafile)
+        #######################################
+        self.information['name_obj']=a[0].header['OBJECT']
+        self.information['ra_obj']  =a[0].header['RA']  ### in degree
+        self.information['dec_obj'] =a[0].header['DEC'] ### in degree
+
+        disRa =(skyRa_shift)/3600.0    ##convert unit of  degree to arcsec
+        disDec=(skyDec_shift)/3600.0   ##convert unit of  degree to arcsec
+  
+        self.information['ra_pnt0'] =a[0].header['RA'] + disRa/np.cos(a[0].header['DEC']/180.0*np.pi)        
+        self.information['dec_pnt0']=a[0].header['DEC']+ disDec       
+        
+        self.earthshine(self.earthshine_theta)
+        
+        self.zodiacal(self.information['ra_obj'], self.information['dec_obj'], self.zodiacal_time)
+    
+        self.information['target']=deg2HMS(self.information['ra_obj'], self.information['dec_obj'])    
+        
+        
+        ### main input data
+        SpecCube=a[1].data  ## spectrum data cube;
+
+        Wave=0.1*a[2].data    # the relatived wavelength which is converted from Unit A to nm
+        #print('Wave data header', hdr)
+        
+        ######################################################################################     
+        
+        exptime=self.information['exptime']           #exposure time
+
+        dis_dx=disRa  # image shift Ra in arcsec
+        dis_dy=disDec # image shift Dec in arcsec      
+        
+        sizeout= len(SpecCube[:,0,0])
+        
+        blue_img=galsim.Image(np.zeros((2048,4096)),copy=True)
+        blue_img.scale=self.pixelscale
+        blue_img.setOrigin=(0,0)
+        
+        red_img=galsim.Image(np.zeros((3072,6144)),copy=True)
+        red_img.scale=self.pixelscale
+        red_img.setOrigin=(0,0)         
+        
+        blue_sensor=galsim.Sensor()
+        
+        red_sensor=galsim.Sensor()
+            
+        deltalam=np.mean(np.diff(Wave))
+        
+        energy=0.0        
+     
+        energy_blue=0.0
+        energy_red=0.0
+        
+        width_blue=0        
+        ################################
+        ############## doppler effect to photons.wavelength  #############
+        
+        #self.orbit_pars
+        x_sat=float(self.orbit_pars[self.orbit_exp_num,1])
+        y_sat=float(self.orbit_pars[self.orbit_exp_num,2])
+        z_sat=float(self.orbit_pars[self.orbit_exp_num,3])
+        vx_sat=float(self.orbit_pars[self.orbit_exp_num,4])
+        vy_sat=float(self.orbit_pars[self.orbit_exp_num,5])
+        vz_sat=float(self.orbit_pars[self.orbit_exp_num,6])
+        
+        self.information['POSI0_X']=x_sat
+        self.information['POSI0_Y']=y_sat
+        self.information['POSI0_Z']=z_sat
+        self.information['VELO0_X']=vx_sat
+        self.information['VELO0_Y']=vy_sat
+        self.information['VELO0_Z']=vz_sat
+        
+
+        theta1=beta_angle( x_sat,y_sat,z_sat,vx_sat,vy_sat,vz_sat, self.information['ra_obj'], self.information['dec_obj'])
+            
+        v1=np.sqrt(vx_sat**2+vy_sat**2+vz_sat**2)*np.cos(theta1/180.0*np.pi)  # velocity at stat exposure time
+        vv1=LSR_velocity(self.information['ra_obj'],self.information['dec_obj'],v1, self.TianCe_day)
+        
+        
+        #################################################
+                  
+        ### exposure end time is t2 ;
+        t2=self.dt+timedelta(seconds=self.information['exptime'])            
+               
+        t2jd=time2jd(t2)
+        
+        if self.orbit_pars[-1,0]<t2jd: ## orbit parameters are not in currenct txt file
+            self.orbit_file_num=self.orbit_file_num+1
+            fn=self.information['indata_path']+'/refs/orbit20160925/'+str(self.orbit_file_num)+'.txt'
+            self.orbit_pars=np.loadtxt(fn)
+            self.orbit_exp_num=0
+             
+        for k in range(self.orbit_exp_num, len(self.orbit_pars),1):
+                        
+            if t2jd-self.orbit_pars[k,0]<0:
+                break
+        if k==0:
+            deltaT=jd2time(self.orbit_pars[k,0])-t2
+            p1x=self.orbit_pars[k,1]-(self.orbit_pars[k+1,1]-self.orbit_pars[k,1])*deltaT.seconds/120
+            p1y=self.orbit_pars[k,2]-(self.orbit_pars[k+1,2]-self.orbit_pars[k,2])*deltaT.seconds/120
+            p1z=self.orbit_pars[k,3]-(self.orbit_pars[k+1,3]-self.orbit_pars[k,3])*deltaT.seconds/120
+            
+            p1vx=self.orbit_pars[k,4]-(self.orbit_pars[k+1,4]-self.orbit_pars[k,4])*deltaT.seconds/120
+            p1vx=self.orbit_pars[k,5]-(self.orbit_pars[k+1,5]-self.orbit_pars[k,5])*deltaT.seconds/120
+            p1vx=self.orbit_pars[k,6]-(self.orbit_pars[k+1,6]-self.orbit_pars[k,6])*deltaT.seconds/120
+            
+        else:
+            deltaT=jd2time(self.orbit_pars[k,0])-t2
+            p1x=self.orbit_pars[k-1,1]+(self.orbit_pars[k,1]-self.orbit_pars[k-1,1])*deltaT.seconds/120
+            p1y=self.orbit_pars[k-1,2]+(self.orbit_pars[k,2]-self.orbit_pars[k-1,2])*deltaT.seconds/120
+            p1z=self.orbit_pars[k-1,3]+(self.orbit_pars[k,3]-self.orbit_pars[k-1,3])*deltaT.seconds/120
+            
+            p1vx=self.orbit_pars[k-1,4]+(self.orbit_pars[k,4]-self.orbit_pars[k-1,4])*deltaT.seconds/120
+            p1vy=self.orbit_pars[k-1,5]+(self.orbit_pars[k,5]-self.orbit_pars[k-1,5])*deltaT.seconds/120
+            p1vz=self.orbit_pars[k-1,6]+(self.orbit_pars[k,6]-self.orbit_pars[k-1,6])*deltaT.seconds/120           
+            
+        #######
+        self.information['POSI1_X']=p1x
+        self.information['POSI1_Y']=p1y
+        self.information['POSI1_Z']=p1z
+        self.information['VELO1_X']=p1vx
+        self.information['VELO1_Y']=p1vy
+        self.information['VELO1_Z']=p1vz
+        
+        theta2=beta_angle(p1x, p1y, p1z, p1vx, p1vy, p1vz,self.information['ra_obj'], self.information['dec_obj'])
+        
+            
+        v2=np.sqrt(p1vx**2+p1vy**2+p1vz**2)*np.cos(theta2/180.0*np.pi)  # velocity at end exposure time
+        vv2=LSR_velocity(self.information['ra_obj'],self.information['dec_obj'], v2, self.TianCe_day)           
+        
+        #### get slice and slit mask                
+                
+        ########################################################################################
+        for ilam in range(len(Wave)):              
+            
+            #print('ilam=', ilam)
+            
+            if ilam%500==0: 
+                
+                self.log.info('ilam = %i' % ilam)
+            
+
+            lam=Wave[ilam]              # the wavelength of the i-th frame data
+            
+            if lam<350:
+                continue 
+            
+            ###############################################
+            Specimg=SpecCube[:,:,ilam]  # get the i-th frame of the input SpecCube data;
+            Nspecimg=SpecCube2photon(Specimg,lam) # convert to photons/cm2/s/A
+            Nskynoise=self.CalskyNoise(lam)
+            
+            ### add sky noise   
+            
+            if self.skyback:
+                Nimg=Nspecimg+Nskynoise  
+            else:
+                Nimg=Nspecimg
+                
+            
+            # multipe the tel area, exposure time, and bandwidh;            
+            Nimg=Nimg*self.telarea*exptime*deltalam*10.0 # photons/cm2/s/A to photons, here Nimg size is 100*100   
+            
+
+           ##########################################################################
+           ### shift image with photons position and rotate them round the image true center
+            img=galsim.Image(Nimg,copy=True)
+            img.scale = self.pixelscale
+            img.setOrigin(0,0)
+            
+            photons=galsim.PhotonArray.makeFromImage(img, max_flux=max(Nimg.max()/1000.0, 1.0))
+            
+            ### now shift and rotated photons
+            self.information['shift_dx']=dis_dx
+            self.information['shift_dy']=dis_dy
+            
+            photons.x=photons.x-dis_dx  ### apply shift to photons position in ra direction
+            photons.y=photons.y-dis_dy  ### apply shift to photons position in dec direction            
+
+            x2,y2=rotation_yan(img.true_center.x, img.true_center.y, photons.x/img.scale, photons.y/img.scale,  sky_rot)
+            
+            #print('rotation time=', t2-t1)            
+            
+            photons2=galsim.PhotonArray(N=len(x2), x=x2*img.scale,  y=y2*img.scale, flux = photons.flux) 
+            photons=photons2            
+            ## convert the photon image to galsim photons;            
+            ###################################################################
+            
+            image0 = galsim.Image(sizeout,sizeout)
+            image0.scale = self.pixelscale
+            image0.setOrigin(0,0)
+                        
+            rotphotons=galsim.PhotonArray(N=len(photons.x),  x=x2, y=y2, flux = photons2.flux)  
+        
+            sensor = galsim.Sensor()
+            sensor.accumulate(rotphotons, image0)
+            
+            #####################################
+            #####################################################################
+            ### do convolve image0 with PSF0 from primay CSST  ###
+            ### calculate the PSF0 at this wavelength      
+            
+            Q=lam*1e-3*self.Fnum/self.pixelsize
+            wavefront0=self.opd0/lam
+            wavefront=ndimage.rotate(wavefront0, -sky_rot, order=1, reshape=False) # here we choose reshape=False, rotate the wavefront
+            
+            psf0=anySampledPSF(wavefront, self.pupil , Q , 64)
+                                                
+            conv = fftconvolve(image0.array, psf0, mode='same')       
+            conv[conv < 0.0] = 0.0               
+            img0=conv
+            
+            
+            ################ opd1 rms =0.075 @632.8nm
+            wavefront=self.opd1/lam
+            wavefront=ndimage.rotate(wavefront, -sky_rot, order=1, reshape=False) # here we choose reshape=False, rotate the wavefront
+            psf1=anySampledPSF(wavefront, self.pupil , Q , 32)   
+              
+            ##### do convolve with psf1                       
+            conv = fftconvolve(img0, psf1, mode='same')       
+            conv[conv < 0.0] = 0.0  
+            img0=conv           
+                
+            #######################################################
+                        
+            energy=energy+img0[50-32:50+32,50-32:50+32].sum()  ## calculate the slice image energy;            
+            
+            CCD_Qe_lam=np.interp(lam,self.CCD_Qe[:,0], self.CCD_Qe[:,1])  ## CCD quantum efficiency
+            
+            Qe_blue = np.interp(lam, self.optical_blue_Q[:,0], self.optical_blue_Q[:,1])  # optical efficiency , convert the wavelength to A
+            
+            Qe_red  = np.interp(lam, self.optical_red_Q[:,0],  self.optical_red_Q[:,1])   # optical efficiency,  convert the wavelength to A
+            
+            Qe_blue=Qe_blue*CCD_Qe_lam
+            
+            Qe_red =Qe_red *CCD_Qe_lam   
+            
+            lam1=lam*(1+vv1/(3.0*1e5))
+            
+            lam2=lam*(1+vv2/(3.0*1e5))
+            
+            ######## consider the slice optical efficiency in different slicer channel
+            da=fits.open(self.information['indata_path']+'/slicer_QE.fits')
+            slicer_Qe=da[0].data
+            img0=img0*slicer_Qe
+            ##########   do the slice effect  ###################
+            for k in range(32):          
+                
+                #### do slice effect to get slice image
+                img1=img0*self.maskSlice[str(k)]
+                
+                ############ get opd2  and PSF2  ######################              
+                wavefront2=self.opd2/lam
+                psf2=anySampledPSF(wavefront2, self.pupil , Q , 64)
+                psf2=ndimage.rotate(psf2, -sky_rot, order=1, reshape=False) # here we choose reshape=False, the rotated image will
+               
+                ##### do convolve
+                ##################              
+                conv = fftconvolve(img1, psf2, mode='same')    
+                #suppress negative numbers
+                conv[conv < 0.0] = 0.0          
+                img2=conv               
+                
+                ##############do Slit Mask ###########################
+                
+                img2=img2*self.maskSlit[str(k)]
+                
+                #########  get opd3 and PSF3 ##########################  
+                
+                wavefront3=self.opd3/lam           
+                psf3=anySampledPSF(wavefront3, self.pupil , Q , 64)
+                psf3=ndimage.rotate(psf3, -sky_rot, order=1, reshape=False) # here we choose reshape=False, the rotated image will
+                
+                ##### do convolve
+                ########################################
+                conv = fftconvolve(img2, psf3, mode='same')    
+                #suppress negative numbers
+                conv[conv < 0.0] = 0.0  
+                
+                img3=conv              
+                
+                ########################   get subimage                   #####################              
+                subimage = galsim.Image(80,80)
+                subimage.array[:,:]=img3[int(sizeout/2)-40:int(sizeout/2)+40,int(sizeout/2)-40:int(sizeout/2)+40]                   
+               
+  
+                ########################   get photons from sub-image     #####################
+                subimage.scale = self.pixelscale
+               
+                subimage.setOrigin(0,0)            
+               
+                photons=galsim.PhotonArray.makeFromImage(subimage, max_flux=max(img3.max()/1000.0,1.0))            
+        
+                #############################################################################
+                ###### do something for each photons;
+                #######
+                idx0=np.where( photons.flux>1e-3) 
+                energy=energy+sum(photons.flux[idx0])     ### totla energy for slice image          
+                p_num=len(idx0[0])               
+                
+                ###############################################################################################                
+                ###############   find photons for blue channel, and make the flux multiple the optical and CCD efficiency
+                
+                np.random.seed()
+                wavesample=lam1+(lam2-lam1)*np.random.rand(p_num)
+                 
+                 
+                if (lam>=350.0 and lam<=650.0): 
+                    ## bulue  channel        
+                    photons_blue=galsim.PhotonArray(N=p_num, x=photons.x[idx0], y=photons.y[idx0], flux = Qe_blue*photons.flux[idx0],wavelength=wavesample) 
+
+                    dx_blue, dy_blue = get_dx_dy_blue(wavesample)        
+                    
+                    photons_blue.x=photons_blue.x/self.pixelscale+dx_blue+self.slice_blue['px'][k]
+                    
+                    photons_blue.y=photons_blue.y/self.pixelscale+dy_blue+self.slice_blue['py'][k]  
+                    
+                    blue_sensor.accumulate(photons_blue, blue_img)
+                    
+                    energy_blue=energy_blue+sum(photons_blue.flux)   
+                    
+                    width_blue=width_blue+deltalam/32.0                    
+
+
+        
+                if (lam>=560.0) & (lam<=1000.0 ):
+                    ## red channel
+                    photons_red=galsim.PhotonArray(N=p_num,x=photons.x[idx0],y=photons.y[idx0], flux = Qe_red*photons.flux[idx0],wavelength=wavesample)   
+
+                    dx_red,  dy_red  = get_dx_dy_red(wavesample)                           
+                    
+                    photons_red.x=photons_red.x/self.pixelscale+dx_red+self.slice_red['px'][k]
+                    
+                    photons_red.y=photons_red.y/self.pixelscale+dy_red+self.slice_red['py'][k]  
+                    
+                    red_sensor.accumulate(photons_red, red_img)
+                    
+                    energy_red=energy_red+sum(photons_red.flux)  
+                
+        ####################################################################################
+        ## stray light will cover 2% of input total light;
+        blue_img.array[:,:]=blue_img.array[:,:]+0.01*energy/2048/4096
+        
+        red_img.array[:,:] =red_img.array[:,:]+ 0.01*energy/3072/6144
+        
+        self.image_b=blue_img.array
+        self.image_r=red_img.array
+                
+        return
+                
+#################################################################################################        
+              
+#################################################################################################  
+
+    def simulate(self, skyfitsin, skyRa_shift,  skyDec_shift,sky_rot, exptime):
+        
+        
+        """
+        Create a single simulated image of a quadrant defined by the configuration file.
+       
+
+        """
+                
+        #self.configure()    #print the configfile name and path; 
+        
+        self.dt=datetime.now()
+        
+        self.information['exptime']=exptime
+                 
+        self.skyfilepath=skyfitsin       
+        
+        np.random.seed()
+        ud = np.random.random()              # Choose a random
+        self.earthshine_theta=ud * 60        # in degree
+        
+        ##################################################################
+        #### load orbit parameters  #####
+        flag=0
+        for k in range(1,50,1):         
+                        
+            fn=self.information['indata_path']+'/refs/orbit20160925/'+str(k)+'.txt';
+            d=np.loadtxt(fn);
+            self.dt_num=int((self.information['exptime']+self.information['readouttime']+125)/120)
+            now_dt=datetime.utcnow()  
+            now_jd=time2jd(now_dt)
+            for kk in range(len(d[:,0])):
+                if now_jd-d[kk,0]<=0:
+                    flag=1
+                    break
+            if flag==1:
+                break
+        #####################end for
+        self.orbit_pars=d
+        self.orbit_file_num=k
+        self.orbit_exp_num =kk
+        
+        exptime_start_jd=d[kk,0]  #### jd time, utc format
+            
+        self.dt=julian.from_jd(exptime_start_jd, fmt='jd')
+
+        self.TianCe_day=self.dt.strftime("%Y-%m-%d") ###str(self.dt.year)+'-'+str(self.dt.month)+'-'+str(self.dt.day)
+                            
+        self.TianCe_exp_start=dt2hmd(self.dt)        
+        
+        self.zodiacal_time=self.TianCe_day
+        
+        #######################################################################
+        
+        self.sim_sky_img(skyfitsin, skyRa_shift, skyDec_shift, sky_rot, self.information['exptime'])
+        
+        self.information['sky_rot']=sky_rot
+        self.information['skyRa_shift']=skyRa_shift
+        self.information['skyRa_shift']=skyDec_shift
+
+###############################################################################            
+############  add some effect to images #######################################
+
+            
+        if self.flatfieldM:
+            self.applyflatfield()  
+            #print('Applying flatfieldM finished.......')
+            
+            
+        if self.darknoise:
+            self.applyDarkCurrent()    
+
+
+        if self.cosmicRays:
+            self.addCosmicRays()
+            #print('Applying cosmicRays finished.......')
+
+        if self.bleeding:
+            self.applyBleeding_yan()
+            #print('Applying bleeding finished.......')
+
+        self.applyPoissonNoise()
+        
+        
+        if self.nonlinearity:
+            self.applyNonlinearity()
+            #print('Applying  nonlinearity finished.......')
+            
+
+        if self.radiationDamage:
+            self.applyRadiationDamage()
+            #print('Applying  radiationDamage finished.......')
+
+
+            
+        ##### cut original CCD image to four parts by four read out channels and zones    
+        self.CCDreadout()    
+
+        if self.readoutNoise:
+            self.applyReadoutNoise()
+            #print('Applying  readoutNoise finished.......')
+
+        self.electrons2ADU()  
+        
+        self.applyBias()
+            
+        if self.cosmetics:
+            self.applyCosmetics()
+            #print('Applying cosmetics finished.......') 
+        
+        self.discretise()         
+            
+        self.writeOutputs()   
+        
+        self.log.info('Using the following input values:')
+        
+        for key, value in self.information.items():
+            self.log.info('%s = %s' % (key, value))
+            
+        self.log.info('Using the following booleans:')
+        
+        for key, value in self.booleans.items():
+            self.log.info('%s = %s' % (key, value))          
+        
+        self.log.info('Finished the simulation.')
+
+##############################################################################################
+##############################################################################################
+def runIFSsim(configfile):
+    
+    
+    opts, args = processArgs()  
+              
+    opts.configfile=configfile
+         
+    simulate= IFSsimulator(opts)  
+        
+    skyfitsin=simulate.information['skyfitsin']
+    
+    exptime=simulate.information['exptime']
+
+    sky_ra_dis=simulate.information['sky_ra_dis']
+    
+    sky_dec_dis=simulate.information['sky_dec_dis']
+    
+    sky_angle_dis=simulate.information['sky_angle_dis']
+
+
+      
+    simulate.simulate(skyfitsin, sky_ra_dis,  sky_dec_dis, sky_angle_dis, exptime)    
+    
+
+##########################   begin   main fucntion     #######################################
+##############################################################################################
+##############################################################################################
+
+if __name__ == "__main__":
+    
+    
+    
+    if  len(sys.argv[:]) <2:
+        
+        configfile='./ifs_data/ifs_sim_example.config'
+              
+   ###########################################################################################    
+        
+    if  len(sys.argv[:]) >=2:
+        configfile=sys.argv[1] 
+        if not os.path.exists(configfile):
+            print('The given input configfile path is wrong......')
+            sys.exit(1) 
+
+    ################################################
+    
+    runIFSsim(configfile) 
+    
+    print('---The CSST-IFS simulation is successful!---')
+
+    #'/home/yan/IFS_FabuCode/InputData/IFS_sim_Fabu.config'
+    ############################################################
+
+
+
diff --git a/csst_ifs_sim/ifs_so/__init__.py b/csst_ifs_sim/ifs_so/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/csst_ifs_sim/ifs_so/cdm03.cpython-37m-x86_64-linux-gnu.so b/csst_ifs_sim/ifs_so/cdm03.cpython-37m-x86_64-linux-gnu.so
new file mode 100644
index 0000000000000000000000000000000000000000..85a4cfc31920218e8b634b8d53cf9db62547f63f
GIT binary patch
literal 175816
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

literal 0
HcmV?d00001

diff --git a/csst_ifs_sim/ifs_so/cdm03.cpython-38-x86_64-linux-gnu.so b/csst_ifs_sim/ifs_so/cdm03.cpython-38-x86_64-linux-gnu.so
new file mode 100644
index 0000000000000000000000000000000000000000..7bfa02f3f33ab5d5a16e4d35ac622d8bf7a49ed1
GIT binary patch
literal 182992
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
As{jB1

literal 0
HcmV?d00001

diff --git a/csst_ifs_sim/ifs_so/cdm03bidir.cpython-37m-x86_64-linux-gnu.so b/csst_ifs_sim/ifs_so/cdm03bidir.cpython-37m-x86_64-linux-gnu.so
new file mode 100644
index 0000000000000000000000000000000000000000..a63494c33d3e3f2c0dd42085e549d38415c682c6
GIT binary patch
literal 192640
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
UcKbTLx%8{QGx~406s)59A8mFehyVZp

literal 0
HcmV?d00001

diff --git a/csst_ifs_sim/ifs_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so b/csst_ifs_sim/ifs_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so
new file mode 100644
index 0000000000000000000000000000000000000000..4ddf6dd453c91a1ed8b3448956bc127596d748f8
GIT binary patch
literal 203248
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

literal 0
HcmV?d00001

diff --git a/csst_ifs_sim/support/IFSinstrumentModel.py b/csst_ifs_sim/support/IFSinstrumentModel.py
new file mode 100644
index 0000000..52550f9
--- /dev/null
+++ b/csst_ifs_sim/support/IFSinstrumentModel.py
@@ -0,0 +1,55 @@
+"""
+VIS Instrument Model
+====================
+
+The file provides a function that returns VIS related information such as pixel
+size, dark current, gain, zeropoint, and sky background.
+
+:requires: NumPy
+:requires: numexpr
+
+:version: 0.7
+"""
+
+# import datetime, math
+# import numpy as np
+# import numexpr as ne
+
+
+def IFSinformation():
+    """
+    Returns a dictionary describing VIS. The following information is provided (id: value - reference)::
+
+
+
+    :return: instrument model parameters
+    :rtype: dict
+    """
+
+    #########################################################################################################
+    #out = dict(readnoise=4, pixel_size=0.1, dark=0.0008333, fullwellcapacity=90000, bluesize=4000, redsize=6000,  readtime=300.)
+    out=dict()
+    out.update({'dob' : 0, 'rdose' : 8.0e9,
+                'parallelTrapfile' : 'cdm_euclid_parallel.dat', 'serialTrapfile' : 'cdm_euclid_serial.dat',
+                'beta_s' : 0.6, 'beta_p': 0.6, 'fwc' : 90000, 'vth' : 1.168e7, 't' : 20.48e-3, 'vg' : 6.e-11,
+                'st' : 5.0e-6, 'sfwc' : 730000., 'svg' : 1.0e-10})
+    return out
+
+
+def CCDnonLinearityModel(data, beta=6e-7):
+    """   
+
+    The non-linearity is modelled based on the results presented. 
+    :param data: data to which the non-linearity model is being applied to
+    :type data: ndarray
+
+    :return: input data after conversion with the non-linearity model
+    :rtype: float or ndarray
+    """
+    out = data-beta*data**2
+    
+    return out
+
+
+if __name__ == '__main__':
+    print('IFSinstrument')
diff --git a/csst_ifs_sim/support/__init__.py b/csst_ifs_sim/support/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/csst_ifs_sim/support/cosmicrays.py b/csst_ifs_sim/support/cosmicrays.py
new file mode 100644
index 0000000..e6c7464
--- /dev/null
+++ b/csst_ifs_sim/support/cosmicrays.py
@@ -0,0 +1,424 @@
+"""
+Cosmic Rays
+===========
+
+This simple class can be used to include cosmic ray events to an image.
+By default the cosmic ray events are drawn from distributions describing
+the length and energy of the events. Such distributions can be generated
+for example using Stardust code (http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04636917).
+The energy of the cosmic ray events can also be set to constant for
+testing purposes. The class can be used to draw a single cosmic ray
+event or up to a covering fraction.
+
+:requires: NumPy
+:requires: SciPy
+
+:version: 0.2
+
+"""
+import numpy as np
+from scipy.interpolate import InterpolatedUnivariateSpline
+
+
+class cosmicrays():
+    """
+    Cosmic ray generation class. Can either draw events from distributions or
+    set the energy of the events to a constant.
+
+    :param log: logger instance
+    :param image: image to which cosmic rays are added to (a copy is made not to change the original numpy array)
+    :param crInfo: column information (cosmic ray file)
+    :param information: cosmic ray track information (file containing track length and energy information) and
+                        exposure time.
+    """
+    def __init__(self, log, image, crInfo=None, information=None):
+        """
+        Cosmic ray generation class. Can either draw events from distributions or
+        set the energy of the events to a constant.
+
+        :param log: logger instance
+        :param image: image to which cosmic rays are added to (a copy is made not to change the original numpy array)
+        :param crInfo: column information (cosmic ray file)
+        :param information: cosmic ray track information (file containing track length and energy information) and
+                            exposure time.
+        """
+        #setup logger
+        self.log = log
+
+        #image and size
+        self.image = image.copy()
+        self.ysize, self.xsize = self.image.shape
+
+        #set up the information dictionary, first with defaults and then overwrite with inputs if given
+        self.information = (dict(cosmicraylengths='/home/yan/csst-master/data/cdf_cr_length.dat',
+                                 cosmicraydistance='/home/yan/csst-master/data/cdf_cr_total.dat',
+                                 exptime=565))
+        if information is not None:
+            self.information.update(information)
+
+        if crInfo is not None:
+            self.cr = crInfo
+        else:
+            self._readCosmicrayInformation()
+
+
+    def _readCosmicrayInformation(self):
+        self.log.info('Reading in cosmic ray information from %s and %s' % (self.information['cosmicraylengths'],
+                                                                            self.information['cosmicraydistance']))
+        #read in the information from the files
+        crLengths = np.loadtxt(self.information['cosmicraylengths'])
+        crDists = np.loadtxt(self.information['cosmicraydistance'])
+
+        #set up the cosmic ray information dictionary
+        self.cr = dict(cr_u=crLengths[:, 0], cr_cdf=crLengths[:, 1], cr_cdfn=np.shape(crLengths)[0],
+                       cr_v=crDists[:, 0], cr_cde=crDists[:, 1], cr_cden=np.shape(crDists)[0])
+
+        return self.cr
+
+
+    def _cosmicRayIntercepts(self, lum, x0, y0, l, phi):
+        """
+        Derive cosmic ray streak intercept points.
+
+        :param lum: luminosities of the cosmic ray tracks
+        :param x0: central positions of the cosmic ray tracks in x-direction
+        :param y0: central positions of the cosmic ray tracks in y-direction
+        :param l: lengths of the cosmic ray tracks
+        :param phi: orientation angles of the cosmic ray tracks
+
+        :return: cosmic ray map (image)
+        :rtype: nd-array
+        """
+        #create empty array
+        crImage = np.zeros((self.ysize, self.xsize), dtype=np.float64)
+
+        #x and y shifts
+        dx = l * np.cos(phi) / 2.
+        dy = l * np.sin(phi) / 2.
+        mskdx = np.abs(dx) < 1e-8
+        mskdy = np.abs(dy) < 1e-8
+        dx[mskdx] = 0.
+        dy[mskdy] = 0.
+
+        #pixels in x-direction
+        ilo = np.round(x0.copy() - dx)
+        msk = ilo < 0.
+        ilo[msk] = 0
+        ilo = ilo.astype(np.int)
+
+        ihi = 1 + np.round(x0.copy() + dx)
+        msk = ihi > self.xsize
+        ihi[msk] = self.xsize
+        ihi = ihi.astype(np.int)
+
+        #pixels in y-directions
+        jlo = np.round(y0.copy() - dy)
+        msk = jlo < 0.
+        jlo[msk] = 0
+        jlo = jlo.astype(np.int)
+
+        jhi = 1 + np.round(y0.copy() + dy)
+        msk = jhi > self.ysize
+        jhi[msk] = self.ysize
+        jhi = jhi.astype(np.int)
+
+        #loop over the individual events
+        for i, luminosity in enumerate(lum):
+            n = 0  # count the intercepts
+
+            u = []
+            x = []
+            y = []
+
+            #Compute X intercepts on the pixel grid
+            if ilo[i] < ihi[i]:
+                for xcoord in range(ilo[i], ihi[i]):
+                    ok = (xcoord - x0[i]) / dx[i]
+                    if np.abs(ok) <= 0.5:
+                        n += 1
+                        u.append(ok)
+                        x.append(xcoord)
+                        y.append(y0[i] + ok * dy[i])
+            else:
+                for xcoord in range(ihi[i], ilo[i]):
+                    ok = (xcoord - x0[i]) / dx[i]
+                    if np.abs(ok) <= 0.5:
+                        n += 1
+                        u.append(ok)
+                        x.append(xcoord)
+                        y.append(y0[i] + ok * dy[i])
+
+            #Compute Y intercepts on the pixel grid
+            if jlo[i] < jhi[i]:
+                for ycoord in range(jlo[i], jhi[i]):
+                    ok = (ycoord - y0[i]) / dy[i]
+                    if np.abs(ok) <= 0.5:
+                        n += 1
+                        u.append(ok)
+                        x.append(x0[i] + ok * dx[i])
+                        y.append(ycoord)
+            else:
+                for ycoord in range(jhi[i], jlo[i]):
+                    ok = (ycoord - y0[i]) / dy[i]
+                    if np.abs(ok) <= 0.5:
+                        n += 1
+                        u.append(ok)
+                        x.append(x0[i] + ok * dx[i])
+                        y.append(ycoord)
+
+            #check if no intercepts were found
+            if n < 1:
+                xc = int(np.floor(x0[i]))
+                yc = int(np.floor(y0[i]))
+                crImage[yc, xc] += luminosity
+
+            #Find the arguments that sort the intersections along the track
+            u = np.asarray(u)
+            x = np.asarray(x)
+            y = np.asarray(y)
+
+            args = np.argsort(u)
+
+            u = u[args]
+            x = x[args]
+            y = y[args]
+
+            #Decide which cell each interval traverses, and the path length
+            for i in range(1, n - 1):
+                w = u[i + 1] - u[i]
+                cx = int(1 + np.floor((x[i + 1] + x[i]) / 2.))
+                cy = int(1 + np.floor((y[i + 1] + y[i]) / 2.))
+
+                if 0 <= cx < self.xsize and 0 <= cy < self.ysize:
+                    crImage[cy, cx] += (w * luminosity)
+
+        return crImage
+
+
+    def _drawCosmicRays(self, limit=None):
+        """
+        Add cosmic rays to the arrays based on a power-law intensity distribution for tracks.
+
+        Cosmic ray properties (such as location and angle) are chosen from random Uniform distribution.
+        """
+        #estimate the number of cosmics
+        cr_n = self.xsize * self.ysize * 0.014 / 43.263316 * 2.
+        #scale with exposure time, the above numbers are for the nominal 565s exposure
+        cr_n *= (self.information['exptime'] / 565.0)
+
+        #assume a power-law intensity distribution for tracks
+        fit = dict(cr_lo=1.0e3, cr_hi=1.0e5, cr_q=2.0e0)
+        fit['q1'] = 1.0e0 - fit['cr_q']
+        fit['en1'] = fit['cr_lo'] ** fit['q1']
+        fit['en2'] = fit['cr_hi'] ** fit['q1']
+
+        #pseudo-random numbers taken from a uniform distribution between 0 and 1
+        np.random.seed()
+        luck = np.random.rand(int(np.floor(cr_n)))
+
+        #draw the length of the tracks
+        if self.cr['cr_cdfn'] > 1:
+            ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u'])
+            self.cr['cr_l'] = ius(luck)
+        else:
+            self.cr['cr_l'] = np.sqrt(1.0 - luck ** 2) / luck
+
+        #draw the energy of the tracks
+        if self.cr['cr_cden'] > 1:
+            ius = InterpolatedUnivariateSpline(self.cr['cr_cde'], self.cr['cr_v'])
+            self.cr['cr_e'] = ius(luck)
+        else:
+            np.random.seed()
+            self.cr['cr_e'] = (fit['en1'] + (fit['en2'] - fit['en1']) *
+                               np.random.rand(int(np.floor(cr_n)))) ** (1.0 / fit['q1'])
+
+        #Choose the properties such as positions and an angle from a random Uniform dist
+        np.random.seed()
+        cr_x = self.xsize * np.random.rand(int(np.floor(cr_n)))
+        
+        np.random.seed()
+        cr_y = self.ysize * np.random.rand(int(np.floor(cr_n)))
+        
+        np.random.seed()
+        cr_phi = np.pi * np.random.rand(int(np.floor(cr_n)))
+
+        #find the intercepts
+        if limit is None:
+            self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi)
+            print ('Number of cosmic ray events:', len(self.cr['cr_e']))
+        else:
+            #limit to electron levels < limit
+            msk = self.cr['cr_e'] < limit
+            print ('Number of cosmic ray events: %i / %i' % (len(self.cr['cr_e'][msk]), int(np.floor(cr_n))))
+            self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'][msk], cr_x[msk], cr_y[msk],
+                                                          self.cr['cr_l'][msk], cr_phi[msk])
+
+        #count the covering factor
+        area_cr = np.count_nonzero(self.cosmicrayMap)
+        text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' \
+               % (area_cr, 100.*area_cr / (self.xsize*self.ysize))
+        self.log.info(text)
+        print (text)
+
+
+    def _drawSingleEvent(self, limit=1000, cr_n=1):
+        """
+        Generate a single cosmic ray event and include it to a cosmic ray map (self.cosmicrayMap).
+
+        :param limit: limiting energy for the cosmic ray event
+        :type limit: float
+        :param cr_n: number of cosmic ray events to include
+        :type cr_n: int
+
+        :return: None
+        """
+        #pseudo-random numbers taken from a uniform distribution between 0 and 1
+        np.random.seed()
+        luck = np.random.rand(cr_n)
+
+        #draw the length of the tracks
+        ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u'])
+        self.cr['cr_l'] = ius(luck)
+
+        #set the energy directly to the limit
+        self.cr['cr_e'] = np.asarray([limit, ]*cr_n)
+
+        #Choose the properties such as positions and an angle from a random Uniform dist
+        np.random.seed()
+        cr_x = self.xsize * np.random.rand(int(np.floor(cr_n)))
+        
+        np.random.seed()
+        cr_y = self.ysize * np.random.rand(int(np.floor(cr_n)))
+        
+        np.random.seed()
+        cr_phi = np.pi * np.random.rand(int(np.floor(cr_n)))
+
+        #find the intercepts
+        self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi)
+
+        #count the covering factor
+        area_cr = np.count_nonzero(self.cosmicrayMap)
+        text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' \
+               % (area_cr, 100.*area_cr / (self.xsize*self.ysize))
+        self.log.info(text)
+        print( text)
+
+
+    def _drawEventsToCoveringFactor(self, coveringFraction=3.0, limit=1000, verbose=False):
+        """
+        Generate cosmic ray events up to a covering fraction and include it to a cosmic ray map (self.cosmicrayMap).
+
+        :param coveringFraction: covering fraction of cosmic rya events in per cent of total number of pixels
+        :type coveringFraction: float
+        :param limit: limiting energy for the cosmic ray event [None = draw from distribution]
+        :type limit: None or float
+        :param verbose: print out information to stdout
+        :type verbose: bool
+
+
+        :return: None
+        """
+        self.cosmicrayMap = np.zeros((self.ysize, self.xsize))
+
+        #how many events to draw at once, too large number leads to exceeding the covering fraction
+        cr_n = int(295 * self.information['exptime'] / 565. * coveringFraction / 1.4)
+
+        covering = 0.0
+
+        while covering < coveringFraction:
+            #pseudo-random numbers taken from a uniform distribution between 0 and 1
+            np.random.seed()
+            luck = np.random.rand(cr_n)
+
+            #draw the length of the tracks
+            ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u'])
+            self.cr['cr_l'] = ius(luck)
+
+            if limit is None:
+                ius = InterpolatedUnivariateSpline(self.cr['cr_cde'], self.cr['cr_v'])
+                self.cr['cr_e'] = ius(luck)
+            else:
+                #set the energy directly to the limit
+                self.cr['cr_e'] = np.asarray([limit,])
+
+            #Choose the properties such as positions and an angle from a random Uniform dist
+            np.random.seed()
+            cr_x = self.xsize * np.random.rand(int(np.floor(cr_n)))
+            
+            np.random.seed()
+            cr_y = self.ysize * np.random.rand(int(np.floor(cr_n)))
+            
+            np.random.seed()
+            cr_phi = np.pi * np.random.rand(int(np.floor(cr_n)))
+
+            #find the intercepts
+            self.cosmicrayMap += self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi)
+
+            #count the covering factor
+            area_cr = np.count_nonzero(self.cosmicrayMap)
+            covering = 100.*area_cr / (self.xsize*self.ysize)
+
+            text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' % (area_cr, covering)
+            self.log.info(text)
+
+            if verbose:
+                print( text)
+
+
+    def addCosmicRays(self, limit=None):
+        """
+        Include cosmic rays to the image given.
+
+        :return: image with cosmic rays
+        :rtype: ndarray
+        """
+        self._drawCosmicRays(limit=limit)
+
+        #paste cosmic rays
+        self.image += self.cosmicrayMap
+
+        return self.image
+
+
+    def addSingleEvent(self, limit=None):
+        """
+        Include a single cosmic ray event to the image given.
+
+        :return: image with cosmic rays
+        :rtype: ndarray
+        """
+        self._drawSingleEvent(limit=limit)
+
+        #paste cosmic rays
+        self.image += self.cosmicrayMap
+
+        return self.image
+
+
+    def addUpToFraction(self, coveringFraction, limit=None, verbose=False):
+        """
+        Add cosmic ray events up to the covering Fraction.
+
+        :param coveringFraction: covering fraction of cosmic rya events in per cent of total number of pixels
+        :type coveringFraction: float
+        :param limit: limiting energy for the cosmic ray event [None = draw from distribution]
+        :type limit: None or float
+        :param verbose: print out information to stdout
+        :type verbose: bool
+
+        :return: image with cosmic rays
+        :rtype: ndarray
+        """
+        self._drawEventsToCoveringFactor(coveringFraction, limit=limit, verbose=verbose)
+
+        #paste cosmic rays
+        self.image += self.cosmicrayMap
+
+        return self.image
+
+
+if __name__ == "__main__":
+    
+  
+    print()
+
diff --git a/csst_ifs_sim/support/logger.py b/csst_ifs_sim/support/logger.py
new file mode 100644
index 0000000..b09ef82
--- /dev/null
+++ b/csst_ifs_sim/support/logger.py
@@ -0,0 +1,40 @@
+"""
+These functions can be used for logging information.
+
+.. Warning:: logger is not multiprocessing safe.
+
+:version: 0.3
+"""
+import logging
+import logging.handlers
+
+
+def setUpLogger(log_filename, loggername='logger'):
+    """
+    Sets up a logger.
+
+    :param: log_filename: name of the file to save the log.
+    :param: loggername: name of the logger
+
+    :return: logger instance
+    """
+    # create logger
+    logger = logging.getLogger(loggername)
+    logger.setLevel(logging.DEBUG)
+    # Add the log message handler to the logger
+    handler = logging.handlers.RotatingFileHandler(log_filename)
+    #maxBytes=20, backupCount=5)
+    # create formatter
+    formatter = logging.Formatter('%(asctime)s - %(module)s - %(funcName)s - %(levelname)s - %(message)s')
+    # add formatter to ch
+    handler.setFormatter(formatter)
+    # add handler to logger 
+    
+    if (logger.hasHandlers()):
+        logger.handlers.clear()
+        
+    logger.addHandler(handler)
+
+    return logger
+
+
diff --git a/ifs_data/__init__.py b/ifs_data/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..f65e2b3
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,36 @@
+import setuptools
+
+with open("README.md", "r") as fh:
+    long_description = fh.read()
+
+setuptools.setup(
+    name='csst_ifs_sim',
+    version='2.0.0-IFS1.0.0',
+    author='CSST Team',
+    author_email='zhaojunyan@shao.ac.cn',
+    description='The CSST - ifs - sim',  # short description
+    long_description=long_description,
+    long_description_content_type="text/markdown",
+    url='https://csst-tb.bao.ac.cn/',
+    # project_urls={
+    #     'Source': 'https://csst-tb.bao.ac.cn/code/csst-l1/ifs/csst_ifs_sim',
+    # },
+    packages=setuptools.find_packages(),
+    license='MIT',
+    classifiers=["Development Status :: 5 - Production/Stable",
+                 "Intended Audience :: Science/Research",
+                 "License :: OSI Approved :: MIT License",
+                 "Operating System :: OS Independent",
+                 "Programming Language :: Python :: 3.8",
+                 "Topic :: Scientific/Engineering :: Physics",
+                 "Topic :: Scientific/Engineering :: Astronomy"],
+    package_dir={'csst_ifs_sim': 'csst_ifs_sim'},
+    # include_package_data=True,
+    package_data={"": ["LICENSE", "README.md"],
+                  "csst_ifs_sim": ["ifs_so/*", "ifs_data/*", "ifs_data/refs/*", "ifs_data/refs/orbit20160925/*"]},
+    # install_requires=['sphinx',
+    #                   'numpy',
+    #                   'scipy', 'matplotlib',
+    #                   'astropy', 'healpy', 'ccdproc', 'deepCR', 'photutils'],
+    python_requires='>=3.8',
+)
-- 
GitLab