FORTRAN Generation
(/./home/cats/J/A_A/480/611)

Conversion of standardized ReadMe file for file /./home/cats/J/A_A/480/611 into FORTRAN code for reading data files line by line.

Note that special values are assigned to unknown or unspecified numbers (also called NULL numbers); when necessary, the coordinate components making up the right ascension and declination are converted into floating-point numbers representing these angles in degrees.



      program load_ReadMe
C=============================================================================
C  F77-compliant program generated by readme2f_1.81 (2015-09-23), on 2026-May-17
C=============================================================================
*  This code was generated from the ReadMe file documenting a catalogue
*  according to the "Standard for Documentation of Astronomical Catalogues"
*  currently in use by the Astronomical Data Centers (CDS, ADC, A&A)
*  (see full documentation at URL http://vizier.u-strasbg.fr/doc/catstd.htx)
*  Please report problems or questions to   
C=============================================================================

      implicit none
*  Unspecified or NULL values, generally corresponding to blank columns,
*  are assigned one of the following special values:
*     rNULL__    for unknown or NULL floating-point values
*     iNULL__    for unknown or NULL   integer      values
      real*4     rNULL__
      integer*4  iNULL__
      parameter  (rNULL__=--2147483648.)  	! NULL real number
      parameter  (iNULL__=(-2147483647-1))	! NULL int  number
      integer    idig			! testing NULL number

C=============================================================================
Cat. J/A+A/480/611       XMM-Newton Slew Survey catalogue, XMMSL1    (Saxton+, 2008)
*================================================================================
*The first XMM-Newton Slew Survey catalogue: XMMSL1.
*    Saxton R.D., Read A.M., Esquej P., Freyberg M.J., Altieri B., Bermejo D.
*   <Astron. Astrophys., 480, 611-622 (2008)>
*   =2008A&A...480..611S
C=============================================================================

C  Internal variables

      integer*4 i__

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'xmmsl1c.dat'	! XMMSL1 catalogue, clean catalog (V1.1, 07/04/08)

      integer*4 nr__
      parameter (nr__=4326)	! Number of records
      character*1244 ar__   	! Full-size record

C  J2000 position composed of: RAdeg DEdeg
      character*16  XMMSL1      ! Name of the source (JHHMMSS.s+DDMMSS)
      character*10  ObsID       ! Observation identification number
      integer*4     SN          ! [1,139] Unique identification number
*                                      for each detection in an observation
      real*8        RAdeg       ! (deg) Right ascension in decimal degrees (J2000)
      real*8        DEdeg       ! (deg) Declination in decimal degrees (J2000)
      real*8        e_pos       ! (arcsec) rms uncertainty on position
      real*8        GLON        ! (deg) Galactic longitude
      real*8        GLAT        ! (deg) Galactic latitude
      real*4        HR1         ! ?=- Hardness ratio HR1=(H-S)/(H+S)
      real*4        e_HR1       ! ?=- rms uncertainty on HR1
      character*19  Date_1      ! ("date") Observation date start (YYYY-MM-DDThh:mm:ss)
      character*19  Date_2      ! ("date") Observation date, end (YYYY-MM-DDThh:mm:ss)
      real*4        SCTST       ! (ct) ?=- Number of background subtracted
*                                        counts, in the total energy band
*                                        (0.2-12keV) (1)
      real*4        e_SCTST     ! (ct) ?=- rms uncertainty on SCTST
      real*4        SCTSH       ! (ct) ?=- Number of background subtracted counts
*                                        in the hard energy band (2-12keV) (1)
      real*4        e_SCTSH     ! (ct) ?=- rms uncertainty on SCTSH
      real*4        SCTSS       ! (ct) ?=- Number of background subtracted counts
*                                        in the soft energy band (0.2-2keV) (1)
      real*4        e_SCTSS     ! (ct) ?=- rms uncertainty on SCTSS
      real*8        XposT       ! (pix) ?=- X position on total band image (2)
      real*8        YposT       ! (pix) ?=- Y position on total band image (2)
      real*8        XposH       ! (pix) ?=- X position on hard band image (2)
      real*8        YposH       ! (pix) ?=- Y position on hard band image (2)
      real*8        XposS       ! (pix) ?=- X position on soft band image (2)
      real*8        YposS       ! (pix) ?=- Y position on soft band image (2)
      real*4        ExtT        ! (pix) ?=- Spatial extension of the source in
*                                        the total energy band
      real*4        e_ExtT      ! (pix) ?=- rms uncertainty on ExtT
      real*4        ExtH        ! (pix) ?=- Spatial extension of the source in
*                                        the hard energy band
      real*4        e_ExtH      ! (pix) ?=- rms uncertainty on ExtH
      real*4        ExtS        ! (pix) ?=- Spatial extension of the source in
*                                        the soft energy band
      real*4        e_ExtS      ! (pix) ?=- rms uncertainty on ExtS
      real*4        DetMLT      ! ?=- Detection likelihood in the total band
      real*4        DetMLH      ! ?=- Detection likelihood in the hard band
      real*4        DetMLS      ! ?=- Detection likelihood in the soft band
      real*4        ExtMLT      ! ?=- Likelihood of the source being
*                                        extended in the total band
      real*4        ExtMLH      ! ?=- Likelihood of the source being
*                                        extended in the hard band
      real*4        ExTMLS      ! ?=- Likelihood of the source being
*                                        extended in the soft band
      real*4        bgMapT      ! (ct/pix) ?=- Total band background value
      real*4        bgMapH      ! (ct/pix) ?=- Hard band background value
      real*4        bgMapS      ! (ct/pix) ?=- Soft band background value
      real*4        ExpMapT     ! (s) ?=- Total band effective on-axis expo.time
      real*4        ExpMapH     ! (s) ?=- Hard band effective on-axis expo.time
      real*4        ExpMapS     ! (s) ?=- Soft band effective on-axis expo.time
      real*4        FluxT       ! (fW/m2) ?=- Total band source flux
      real*4        e_FluxT     ! (fW/m2) ?=- rms uncertainty on FluxT
      real*4        FluxH       ! (fW/m2) ?=- Hard band source flux
      real*4        e_FluxH     ! (fW/m2) ?=- rms uncertainty on FluxH
      real*4        FluxS       ! (fW/m2) ?=- Soft band source flux
      real*4        e_FluxS     ! (fW/m2) ?=- rms uncertainty on FluxS
      real*4        RateT       ! (ct/s) ?=- Total band count rate
      real*4        e_RateT     ! (ct/s) ?=- rms uncertainty on RateT
      real*4        RateH       ! (ct/s) ?=- Hard band count rate
      real*4        e_RateH     ! (ct/s) ?=- rms uncertainty on RateH
      real*4        RateS       ! (ct/s) ?=- Soft band count rate
      real*4        e_RateS     ! (ct/s) ?=- rms uncertainty on RateS
      real*8        RAdegT      ! (deg) ?=- Total band right ascension (J2000)
      real*8        DEdegT      ! (deg) ?=- Total band declination (J2000)
      real*8        e_posT      ! (deg) ?=- Total band positional error
      real*8        GLONT       ! (deg) ?=- Total band galactic longitude
      real*8        GLATT       ! (deg) ?=- Total band galactic latitude
      real*8        RAdegH      ! (deg) ?=- Hard band right ascension (J2000)
      real*8        DEdegH      ! (deg) ?=- Hard band declination (J2000)
      real*8        e_posH      ! (deg) ?=- Hard band positional error
      real*8        GLONH       ! (deg) ?=- Hard band galactic longitude
      real*8        GLATH       ! (deg) ?=- Hard band galactic latitude
      real*8        RAdegS      ! (deg) ?=- Soft band right ascension (J2000)
      real*8        DEdegS      ! (deg) ?=- Soft band declination (J2000)
      real*8        e_posS      ! (deg) ?=- Soft band positional error
      real*8        GLONS       ! (deg) ?=- Soft band galactic longitude
      real*8        GLATS       ! (deg) ?=- Soft band galactic latitude
      character*12  VarFlag     ! [CLEAN_SAMPLE XXXXXXXXXXXX]
      character*37  SRCNameT    ! Source name defined in total band list (3)
      character*37  SRCNameH    ! Source name defined in hard band list (3)
      character*37  SRCNameS    ! Source name defined in soft band list (3)
      character*40  XImNameT    ! Name of the image containing the total
*                                     band detection
      character*40  XImNameH    ! Name of the image containing the hard
*                                     band detection
      character*40  XImNameS    ! Name of the image containing the soft
*                                     band detection
      character*1   VerINEXT    ! [TF] Detection flag (4)
      character*1   VerHALO     ! [TF] Detection flag (4)
      character*1   VerHIBGND   ! [TF] Detection flag (4)
      character*1   VerNREDG    ! [TF] Detection flag (4)
      character*1   VerPSUSP    ! [TF] Detection flag (4)
      character*1   VerFALSE    ! [TF] Detection flag (4)
      character*40  Comment     ! Comment which explains why a particular
*                                     source flag has been set to true
      character*31  Name        ! Cross-correlations of the positions of
*                                     the slew sources with astronomical
*                                     databases and catalogues (best match)
      character*30  OName       ! Alternative name for the best match source
      character*21  RASS        ! Name of the closest Rosat All Sky Survey
*                                     (RASS) source (5)
      character*14  Type        ! Source type (6)
      character*9   r_Name      ! Source of best match selection (7)
      real*4        Dist        ! (arcmin) ? Distance between the best match
*                                      candidate and the slew survey source
      real*4        DistRASS    ! (arcsec) ?=- Distance from the best match ROSAT
*                                        source and the slew source
      character*3   ModeID      ! Observing mode of EPIC-pn camera (8)
      real*4        bgRate      ! (ct/s) Peak background count rate in the image
*                                     from which the source was extracted (9)
*Note (1): corrected for the PSF.
*Note (2): Units: 4.1"x4.1" pixels
*Note (3): The format is 'xs' followed by the revolution number, the observation
*     ID and the source position, e.g. xs0841_9084100002_12:57:07.5+01:50:42
*Note (4): Detection flags signification as:
*     VerINEXT: If set true, this flag notes that a detection has been
*               found within an extended source and is probably false.
*               This flag is used to ensure that only one source is quoted
*               for the large supernova remnants.
*      VerHALO: If set true, this flag indicates that a detection lies
*               within the point spread function, or halo, of a very
*               bright source and is probably spurious.
*    VerHIBGND: If set true, this flag indicates that the source lies
*               within a bright region, caused by high background, and
*               is probably spurious.
*     VerNREDG: If set true, this flag indicates that the source has been
*               detected in two consecutive images of the same slew. This
*               can occur if the source lies on the border between slews
*               and implies that the position of the source is unlikely to
*               be accurate.
*     VerPSUSP: This flag indicates that the quoted position of the source
*               is likely to be inaccurate. In a few slews the attitude
*               reconstruction is poor and in these cases the actual
*               position of the source is difficult to determine and can
*               be wrong by an arcminute.
*     VerFALSE: This is a catch-all for problems not included in the other
*               flags. In the catalogue 29 sources have this flag set
*               true, in two cases it is because the exposure time has
*               been calculated as zero and in the other cases the
*               detections are due to reflection from a close, but out of
*               the field-of-view SCO X-1.
*Note (5): RASS name, 1RXS JHHMMSS.s+DDMMSS or JHHMMSS.s+DDMMSS
*Note (6): Source type as returned by SIMBAD, NED and the other resources
*     used in the cross-matching process. This is directly taken from the
*     catalogue in question and no attempt has been made to rationalise the
*     values.
*Note (7): The astronomical database or catalogue from which the best match
*     has been selected. e.g. SIMBAD, NED, etc.
*Note (8): Observing mode of the EPIC-pn camera ad follows:
*     FF = Full frame mode 
*    eFF = extended full frame mode 
*     LW = large window mode
*Note (9): Peak background count rate in the image from which the source was
*     extracted. This is measured as the count rate, over the whole image,
*     for events with energy >10keV (PI>10000). It is quoted to a resolution
*     of 0.1ct/s and is used to determine the overall background environment
*     in which a source was detected. This value is used in the creation of
*     a clean subsample of the catalogue (see top level description).
*     Generally, the higher this value, the greater the probability that the
*     source is spurious. This is especially true if the detection
*     likelihood of the source is less than 14. The value has been tabulated
*     for images with a background rate greater than 2ct/s. For quieter
*     images the value has been artifically set to 1.9ct/s.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'xmmsl1t.dat'	! XMMSL1 catalogue, total catalog (V1.1, 07/04/08)

      integer*4 nr__1
      parameter (nr__1=8662)	! Number of records
      character*1244 ar__1  	! Full-size record

C  J2000 position composed of: RAdeg DEdeg
      character*16  XMMSL1_1    ! Name of the source (JHHMMSS.s+DDMMSS)
      character*10  ObsID_1     ! Observation identification number
      integer*4     SN_1        ! [1,139] Unique identification number
*                                      for each detection in an observation
      real*8        RAdeg_1     ! (deg) Right ascension in decimal degrees (J2000)
      real*8        DEdeg_1     ! (deg) Declination in decimal degrees (J2000)
      real*8        e_pos_1     ! (arcsec) rms uncertainty on position
      real*8        GLON_1      ! (deg) Galactic longitude
      real*8        GLAT_1      ! (deg) Galactic latitude
      real*4        HR1_1       ! ?=- Hardness ratio HR1=(H-S)/(H+S)
      real*4        e_HR1_1     ! ?=- rms uncertainty on HR1
      character*19  Date_1_1    ! ("date") Observation date start (YYYY-MM-DDThh:mm:ss)
      character*19  Date_2_1    ! ("date") Observation date, end (YYYY-MM-DDThh:mm:ss)
      real*4        SCTST_1     ! (ct) ?=- Number of background subtracted
*                                        counts, in the total energy band
*                                        (0.2-12keV) (1)
      real*4        e_SCTST_1   ! (ct) ?=- rms uncertainty on SCTST
      real*4        SCTSH_1     ! (ct) ?=- Number of background subtracted counts
*                                        in the hard energy band (2-12keV) (1)
      real*4        e_SCTSH_1   ! (ct) ?=- rms uncertainty on SCTSH
      real*4        SCTSS_1     ! (ct) ?=- Number of background subtracted counts
*                                        in the soft energy band (0.2-2keV) (1)
      real*4        e_SCTSS_1   ! (ct) ?=- rms uncertainty on SCTSS
      real*8        XposT_1     ! (pix) ?=- X position on total band image (2)
      real*8        YposT_1     ! (pix) ?=- Y position on total band image (2)
      real*8        XposH_1     ! (pix) ?=- X position on hard band image (2)
      real*8        YposH_1     ! (pix) ?=- Y position on hard band image (2)
      real*8        XposS_1     ! (pix) ?=- X position on soft band image (2)
      real*8        YposS_1     ! (pix) ?=- Y position on soft band image (2)
      real*4        ExtT_1      ! (pix) ?=- Spatial extension of the source in
*                                        the total energy band
      real*4        e_ExtT_1    ! (pix) ?=- rms uncertainty on ExtT
      real*4        ExtH_1      ! (pix) ?=- Spatial extension of the source in
*                                        the hard energy band
      real*4        e_ExtH_1    ! (pix) ?=- rms uncertainty on ExtH
      real*4        ExtS_1      ! (pix) ?=- Spatial extension of the source in
*                                        the soft energy band
      real*4        e_ExtS_1    ! (pix) ?=- rms uncertainty on ExtS
      real*4        DetMLT_1    ! ?=- Detection likelihood in the total band
      real*4        DetMLH_1    ! ?=- Detection likelihood in the hard band
      real*4        DetMLS_1    ! ?=- Detection likelihood in the soft band
      real*4        ExtMLT_1    ! ?=- Likelihood of the source being
*                                        extended in the total band
      real*4        ExtMLH_1    ! ?=- Likelihood of the source being
*                                        extended in the hard band
      real*4        ExTMLS_1    ! ?=- Likelihood of the source being
*                                        extended in the soft band
      real*4        bgMapT_1    ! (ct/pix) ?=- Total band background value
      real*4        bgMapH_1    ! (ct/pix) ?=- Hard band background value
      real*4        bgMapS_1    ! (ct/pix) ?=- Soft band background value
      real*4        ExpMapT_1   ! (s) ?=- Total band effective on-axis expo.time
      real*4        ExpMapH_1   ! (s) ?=- Hard band effective on-axis expo.time
      real*4        ExpMapS_1   ! (s) ?=- Soft band effective on-axis expo.time
      real*4        FluxT_1     ! (fW/m2) ?=- Total band source flux
      real*4        e_FluxT_1   ! (fW/m2) ?=- rms uncertainty on FluxT
      real*4        FluxH_1     ! (fW/m2) ?=- Hard band source flux
      real*4        e_FluxH_1   ! (fW/m2) ?=- rms uncertainty on FluxH
      real*4        FluxS_1     ! (fW/m2) ?=- Soft band source flux
      real*4        e_FluxS_1   ! (fW/m2) ?=- rms uncertainty on FluxS
      real*4        RateT_1     ! (ct/s) ?=- Total band count rate
      real*4        e_RateT_1   ! (ct/s) ?=- rms uncertainty on RateT
      real*4        RateH_1     ! (ct/s) ?=- Hard band count rate
      real*4        e_RateH_1   ! (ct/s) ?=- rms uncertainty on RateH
      real*4        RateS_1     ! (ct/s) ?=- Soft band count rate
      real*4        e_RateS_1   ! (ct/s) ?=- rms uncertainty on RateS
      real*8        RAdegT_1    ! (deg) ?=- Total band right ascension (J2000)
      real*8        DEdegT_1    ! (deg) ?=- Total band declination (J2000)
      real*8        e_posT_1    ! (deg) ?=- Total band positional error
      real*8        GLONT_1     ! (deg) ?=- Total band galactic longitude
      real*8        GLATT_1     ! (deg) ?=- Total band galactic latitude
      real*8        RAdegH_1    ! (deg) ?=- Hard band right ascension (J2000)
      real*8        DEdegH_1    ! (deg) ?=- Hard band declination (J2000)
      real*8        e_posH_1    ! (deg) ?=- Hard band positional error
      real*8        GLONH_1     ! (deg) ?=- Hard band galactic longitude
      real*8        GLATH_1     ! (deg) ?=- Hard band galactic latitude
      real*8        RAdegS_1    ! (deg) ?=- Soft band right ascension (J2000)
      real*8        DEdegS_1    ! (deg) ?=- Soft band declination (J2000)
      real*8        e_posS_1    ! (deg) ?=- Soft band positional error
      real*8        GLONS_1     ! (deg) ?=- Soft band galactic longitude
      real*8        GLATS_1     ! (deg) ?=- Soft band galactic latitude
      character*12  VarFlag_1   ! [CLEAN_SAMPLE XXXXXXXXXXXX]
      character*37  SRCNameT_1  ! Source name defined in total band list (3)
      character*37  SRCNameH_1  ! Source name defined in hard band list (3)
      character*37  SRCNameS_1  ! Source name defined in soft band list (3)
      character*40  XImNameT_1  ! Name of the image containing the total
*                                     band detection
      character*40  XImNameH_1  ! Name of the image containing the hard
*                                     band detection
      character*40  XImNameS_1  ! Name of the image containing the soft
*                                     band detection
      character*1   VerINEXT_1  ! [TF] Detection flag (4)
      character*1   VerHALO_1   ! [TF] Detection flag (4)
      character*1   VerHIBGND_1 ! [TF] Detection flag (4)
      character*1   VerNREDG_1  ! [TF] Detection flag (4)
      character*1   VerPSUSP_1  ! [TF] Detection flag (4)
      character*1   VerFALSE_1  ! [TF] Detection flag (4)
      character*40  Comment_1   ! Comment which explains why a particular
*                                     source flag has been set to true
      character*31  Name_1      ! Cross-correlations of the positions of
*                                     the slew sources with astronomical
*                                     databases and catalogues (best match)
      character*30  OName_1     ! Alternative name for the best match source
      character*21  RASS_1      ! Name of the closest Rosat All Sky Survey
*                                     (RASS) source (5)
      character*14  Type_1      ! Source type (6)
      character*9   r_Name_1    ! Source of best match selection (7)
      real*4        Dist_1      ! (arcmin) ? Distance between the best match
*                                      candidate and the slew survey source
      real*4        DistRASS_1  ! (arcsec) ?=- Distance from the best match ROSAT
*                                        source and the slew source
      character*3   ModeID_1    ! Observing mode of EPIC-pn camera (8)
      real*4        bgRate_1    ! (ct/s) Peak background count rate in the image
*                                     from which the source was extracted (9)
*Note (1): corrected for the PSF.
*Note (2): Units: 4.1"x4.1" pixels
*Note (3): The format is 'xs' followed by the revolution number, the observation
*     ID and the source position, e.g. xs0841_9084100002_12:57:07.5+01:50:42
*Note (4): Detection flags signification as:
*     VerINEXT: If set true, this flag notes that a detection has been
*               found within an extended source and is probably false.
*               This flag is used to ensure that only one source is quoted
*               for the large supernova remnants.
*      VerHALO: If set true, this flag indicates that a detection lies
*               within the point spread function, or halo, of a very
*               bright source and is probably spurious.
*    VerHIBGND: If set true, this flag indicates that the source lies
*               within a bright region, caused by high background, and
*               is probably spurious.
*     VerNREDG: If set true, this flag indicates that the source has been
*               detected in two consecutive images of the same slew. This
*               can occur if the source lies on the border between slews
*               and implies that the position of the source is unlikely to
*               be accurate.
*     VerPSUSP: This flag indicates that the quoted position of the source
*               is likely to be inaccurate. In a few slews the attitude
*               reconstruction is poor and in these cases the actual
*               position of the source is difficult to determine and can
*               be wrong by an arcminute.
*     VerFALSE: This is a catch-all for problems not included in the other
*               flags. In the catalogue 29 sources have this flag set
*               true, in two cases it is because the exposure time has
*               been calculated as zero and in the other cases the
*               detections are due to reflection from a close, but out of
*               the field-of-view SCO X-1.
*Note (5): RASS name, 1RXS JHHMMSS.s+DDMMSS or JHHMMSS.s+DDMMSS
*Note (6): Source type as returned by SIMBAD, NED and the other resources
*     used in the cross-matching process. This is directly taken from the
*     catalogue in question and no attempt has been made to rationalise the
*     values.
*Note (7): The astronomical database or catalogue from which the best match
*     has been selected. e.g. SIMBAD, NED, etc.
*Note (8): Observing mode of the EPIC-pn camera ad follows:
*     FF = Full frame mode 
*    eFF = extended full frame mode 
*     LW = large window mode
*Note (9): Peak background count rate in the image from which the source was
*     extracted. This is measured as the count rate, over the whole image,
*     for events with energy >10keV (PI>10000). It is quoted to a resolution
*     of 0.1ct/s and is used to determine the overall background environment
*     in which a source was detected. This value is used in the creation of
*     a clean subsample of the catalogue (see top level description).
*     Generally, the higher this value, the greater the probability that the
*     source is spurious. This is especially true if the detection
*     likelihood of the source is less than 14. The value has been tabulated
*     for images with a background rate greater than 2ct/s. For quieter
*     images the value has been artifically set to 1.9ct/s.

C=============================================================================

C  Loading file 'xmmsl1c.dat'	! XMMSL1 catalogue, clean catalog (V1.1, 07/04/08)

C  Format for file interpretation

    1 format(
     +  7X,A16,1X,A10,1X,I3,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,
     +  1X,F6.3,1X,F6.3,1X,A19,1X,A19,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,F7.2,1X,F7.2,1X,F7.2,1X,F7.2,1X,
     +  F7.2,1X,F7.2,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,
     +  1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,
     +  1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,F8.4,1X,F8.4,
     +  1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,
     +  F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,A12,1X,A37,1X,
     +  A37,1X,A37,1X,A40,1X,A40,1X,A40,1X,A1,1X,A1,1X,A1,1X,A1,1X,A1,
     +  1X,A1,1X,A40,1X,A31,1X,A30,1X,A21,1X,A14,1X,A9,1X,E12.6,1X,
     +  E12.6,1X,A3,1X,E12.7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'xmmsl1c.dat')
      write(6,*) '....Loading file: xmmsl1c.dat'
      do i__=1,4326
        read(1,'(A1244)')ar__
        read(ar__,1)
     +  XMMSL1,ObsID,SN,RAdeg,DEdeg,e_pos,GLON,GLAT,HR1,e_HR1,Date_1,
     +  Date_2,SCTST,e_SCTST,SCTSH,e_SCTSH,SCTSS,e_SCTSS,XposT,YposT,
     +  XposH,YposH,XposS,YposS,ExtT,e_ExtT,ExtH,e_ExtH,ExtS,e_ExtS,
     +  DetMLT,DetMLH,DetMLS,ExtMLT,ExtMLH,ExTMLS,bgMapT,bgMapH,
     +  bgMapS,ExpMapT,ExpMapH,ExpMapS,FluxT,e_FluxT,FluxH,e_FluxH,
     +  FluxS,e_FluxS,RateT,e_RateT,RateH,e_RateH,RateS,e_RateS,
     +  RAdegT,DEdegT,e_posT,GLONT,GLATT,RAdegH,DEdegH,e_posH,GLONH,
     +  GLATH,RAdegS,DEdegS,e_posS,GLONS,GLATS,VarFlag,SRCNameT,
     +  SRCNameH,SRCNameS,XImNameT,XImNameH,XImNameS,VerINEXT,VerHALO,
     +  VerHIBGND,VerNREDG,VerPSUSP,VerFALSE,Comment,Name,OName,RASS,
     +  Type,r_Name,Dist,DistRASS,ModeID,bgRate
        if (idig(ar__(85:90)).EQ.0) HR1 =  rNULL__
        if (idig(ar__(92:97)).EQ.0) e_HR1 =  rNULL__
        if (idig(ar__(139:150)).EQ.0) SCTST =  rNULL__
        if (idig(ar__(152:163)).EQ.0) e_SCTST =  rNULL__
        if (idig(ar__(165:176)).EQ.0) SCTSH =  rNULL__
        if (idig(ar__(178:189)).EQ.0) e_SCTSH =  rNULL__
        if (idig(ar__(191:202)).EQ.0) SCTSS =  rNULL__
        if (idig(ar__(204:215)).EQ.0) e_SCTSS =  rNULL__
        if (idig(ar__(217:223)).EQ.0) XposT =  rNULL__
        if (idig(ar__(225:231)).EQ.0) YposT =  rNULL__
        if (idig(ar__(233:239)).EQ.0) XposH =  rNULL__
        if (idig(ar__(241:247)).EQ.0) YposH =  rNULL__
        if (idig(ar__(249:255)).EQ.0) XposS =  rNULL__
        if (idig(ar__(257:263)).EQ.0) YposS =  rNULL__
        if (idig(ar__(265:276)).EQ.0) ExtT =  rNULL__
        if (idig(ar__(278:289)).EQ.0) e_ExtT =  rNULL__
        if (idig(ar__(291:302)).EQ.0) ExtH =  rNULL__
        if (idig(ar__(304:315)).EQ.0) e_ExtH =  rNULL__
        if (idig(ar__(317:328)).EQ.0) ExtS =  rNULL__
        if (idig(ar__(330:341)).EQ.0) e_ExtS =  rNULL__
        if (idig(ar__(343:354)).EQ.0) DetMLT =  rNULL__
        if (idig(ar__(356:367)).EQ.0) DetMLH =  rNULL__
        if (idig(ar__(369:380)).EQ.0) DetMLS =  rNULL__
        if (idig(ar__(382:393)).EQ.0) ExtMLT =  rNULL__
        if (idig(ar__(395:406)).EQ.0) ExtMLH =  rNULL__
        if (idig(ar__(408:419)).EQ.0) ExTMLS =  rNULL__
        if (idig(ar__(421:432)).EQ.0) bgMapT =  rNULL__
        if (idig(ar__(434:445)).EQ.0) bgMapH =  rNULL__
        if (idig(ar__(447:458)).EQ.0) bgMapS =  rNULL__
        if (idig(ar__(460:471)).EQ.0) ExpMapT =  rNULL__
        if (idig(ar__(473:484)).EQ.0) ExpMapH =  rNULL__
        if (idig(ar__(486:497)).EQ.0) ExpMapS =  rNULL__
        if (idig(ar__(499:510)).EQ.0) FluxT =  rNULL__
        if (idig(ar__(512:523)).EQ.0) e_FluxT =  rNULL__
        if (idig(ar__(525:536)).EQ.0) FluxH =  rNULL__
        if (idig(ar__(538:549)).EQ.0) e_FluxH =  rNULL__
        if (idig(ar__(551:562)).EQ.0) FluxS =  rNULL__
        if (idig(ar__(564:575)).EQ.0) e_FluxS =  rNULL__
        if (idig(ar__(577:588)).EQ.0) RateT =  rNULL__
        if (idig(ar__(590:601)).EQ.0) e_RateT =  rNULL__
        if (idig(ar__(603:614)).EQ.0) RateH =  rNULL__
        if (idig(ar__(616:627)).EQ.0) e_RateH =  rNULL__
        if (idig(ar__(629:640)).EQ.0) RateS =  rNULL__
        if (idig(ar__(642:653)).EQ.0) e_RateS =  rNULL__
        if (idig(ar__(655:662)).EQ.0) RAdegT =  rNULL__
        if (idig(ar__(664:671)).EQ.0) DEdegT =  rNULL__
        if (idig(ar__(673:680)).EQ.0) e_posT =  rNULL__
        if (idig(ar__(682:689)).EQ.0) GLONT =  rNULL__
        if (idig(ar__(691:698)).EQ.0) GLATT =  rNULL__
        if (idig(ar__(700:707)).EQ.0) RAdegH =  rNULL__
        if (idig(ar__(709:716)).EQ.0) DEdegH =  rNULL__
        if (idig(ar__(718:725)).EQ.0) e_posH =  rNULL__
        if (idig(ar__(727:734)).EQ.0) GLONH =  rNULL__
        if (idig(ar__(736:743)).EQ.0) GLATH =  rNULL__
        if (idig(ar__(745:752)).EQ.0) RAdegS =  rNULL__
        if (idig(ar__(754:761)).EQ.0) DEdegS =  rNULL__
        if (idig(ar__(763:770)).EQ.0) e_posS =  rNULL__
        if (idig(ar__(772:779)).EQ.0) GLONS =  rNULL__
        if (idig(ar__(781:788)).EQ.0) GLATS =  rNULL__
        if(ar__(1203:1214) .EQ. '') Dist = rNULL__
        if (idig(ar__(1216:1227)).EQ.0) DistRASS =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  XMMSL1,ObsID,SN,RAdeg,DEdeg,e_pos,GLON,GLAT,HR1,e_HR1,Date_1,
     +  Date_2,SCTST,e_SCTST,SCTSH,e_SCTSH,SCTSS,e_SCTSS,XposT,YposT,
     +  XposH,YposH,XposS,YposS,ExtT,e_ExtT,ExtH,e_ExtH,ExtS,e_ExtS,
     +  DetMLT,DetMLH,DetMLS,ExtMLT,ExtMLH,ExTMLS,bgMapT,bgMapH,
     +  bgMapS,ExpMapT,ExpMapH,ExpMapS,FluxT,e_FluxT,FluxH,e_FluxH,
     +  FluxS,e_FluxS,RateT,e_RateT,RateH,e_RateH,RateS,e_RateS,
     +  RAdegT,DEdegT,e_posT,GLONT,GLATT,RAdegH,DEdegH,e_posH,GLONH,
     +  GLATH,RAdegS,DEdegS,e_posS,GLONS,GLATS,VarFlag,SRCNameT,
     +  SRCNameH,SRCNameS,XImNameT,XImNameH,XImNameS,VerINEXT,VerHALO,
     +  VerHIBGND,VerNREDG,VerPSUSP,VerFALSE,Comment,Name,OName,RASS,
     +  Type,r_Name,Dist,DistRASS,ModeID,bgRate
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'xmmsl1t.dat'	! XMMSL1 catalogue, total catalog (V1.1, 07/04/08)

C  Format for file interpretation

    2 format(
     +  7X,A16,1X,A10,1X,I3,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,
     +  1X,F6.3,1X,F6.3,1X,A19,1X,A19,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,F7.2,1X,F7.2,1X,F7.2,1X,F7.2,1X,
     +  F7.2,1X,F7.2,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,
     +  1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,
     +  1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,E12.6,1X,F8.4,1X,F8.4,
     +  1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,
     +  F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,F8.4,1X,A12,1X,A37,1X,
     +  A37,1X,A37,1X,A40,1X,A40,1X,A40,1X,A1,1X,A1,1X,A1,1X,A1,1X,A1,
     +  1X,A1,1X,A40,1X,A31,1X,A30,1X,A21,1X,A14,1X,A9,1X,E12.6,1X,
     +  E12.6,1X,A3,1X,E12.7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'xmmsl1t.dat')
      write(6,*) '....Loading file: xmmsl1t.dat'
      do i__=1,8662
        read(1,'(A1244)')ar__1
        read(ar__1,2)
     +  XMMSL1_1,ObsID_1,SN_1,RAdeg_1,DEdeg_1,e_pos_1,GLON_1,GLAT_1,
     +  HR1_1,e_HR1_1,Date_1_1,Date_2_1,SCTST_1,e_SCTST_1,SCTSH_1,
     +  e_SCTSH_1,SCTSS_1,e_SCTSS_1,XposT_1,YposT_1,XposH_1,YposH_1,
     +  XposS_1,YposS_1,ExtT_1,e_ExtT_1,ExtH_1,e_ExtH_1,ExtS_1,
     +  e_ExtS_1,DetMLT_1,DetMLH_1,DetMLS_1,ExtMLT_1,ExtMLH_1,
     +  ExTMLS_1,bgMapT_1,bgMapH_1,bgMapS_1,ExpMapT_1,ExpMapH_1,
     +  ExpMapS_1,FluxT_1,e_FluxT_1,FluxH_1,e_FluxH_1,FluxS_1,
     +  e_FluxS_1,RateT_1,e_RateT_1,RateH_1,e_RateH_1,RateS_1,
     +  e_RateS_1,RAdegT_1,DEdegT_1,e_posT_1,GLONT_1,GLATT_1,RAdegH_1,
     +  DEdegH_1,e_posH_1,GLONH_1,GLATH_1,RAdegS_1,DEdegS_1,e_posS_1,
     +  GLONS_1,GLATS_1,VarFlag_1,SRCNameT_1,SRCNameH_1,SRCNameS_1,
     +  XImNameT_1,XImNameH_1,XImNameS_1,VerINEXT_1,VerHALO_1,
     +  VerHIBGND_1,VerNREDG_1,VerPSUSP_1,VerFALSE_1,Comment_1,Name_1,
     +  OName_1,RASS_1,Type_1,r_Name_1,Dist_1,DistRASS_1,ModeID_1,
     +  bgRate_1
        if (idig(ar__1(85:90)).EQ.0) HR1_1 =  rNULL__
        if (idig(ar__1(92:97)).EQ.0) e_HR1_1 =  rNULL__
        if (idig(ar__1(139:150)).EQ.0) SCTST_1 =  rNULL__
        if (idig(ar__1(152:163)).EQ.0) e_SCTST_1 =  rNULL__
        if (idig(ar__1(165:176)).EQ.0) SCTSH_1 =  rNULL__
        if (idig(ar__1(178:189)).EQ.0) e_SCTSH_1 =  rNULL__
        if (idig(ar__1(191:202)).EQ.0) SCTSS_1 =  rNULL__
        if (idig(ar__1(204:215)).EQ.0) e_SCTSS_1 =  rNULL__
        if (idig(ar__1(217:223)).EQ.0) XposT_1 =  rNULL__
        if (idig(ar__1(225:231)).EQ.0) YposT_1 =  rNULL__
        if (idig(ar__1(233:239)).EQ.0) XposH_1 =  rNULL__
        if (idig(ar__1(241:247)).EQ.0) YposH_1 =  rNULL__
        if (idig(ar__1(249:255)).EQ.0) XposS_1 =  rNULL__
        if (idig(ar__1(257:263)).EQ.0) YposS_1 =  rNULL__
        if (idig(ar__1(265:276)).EQ.0) ExtT_1 =  rNULL__
        if (idig(ar__1(278:289)).EQ.0) e_ExtT_1 =  rNULL__
        if (idig(ar__1(291:302)).EQ.0) ExtH_1 =  rNULL__
        if (idig(ar__1(304:315)).EQ.0) e_ExtH_1 =  rNULL__
        if (idig(ar__1(317:328)).EQ.0) ExtS_1 =  rNULL__
        if (idig(ar__1(330:341)).EQ.0) e_ExtS_1 =  rNULL__
        if (idig(ar__1(343:354)).EQ.0) DetMLT_1 =  rNULL__
        if (idig(ar__1(356:367)).EQ.0) DetMLH_1 =  rNULL__
        if (idig(ar__1(369:380)).EQ.0) DetMLS_1 =  rNULL__
        if (idig(ar__1(382:393)).EQ.0) ExtMLT_1 =  rNULL__
        if (idig(ar__1(395:406)).EQ.0) ExtMLH_1 =  rNULL__
        if (idig(ar__1(408:419)).EQ.0) ExTMLS_1 =  rNULL__
        if (idig(ar__1(421:432)).EQ.0) bgMapT_1 =  rNULL__
        if (idig(ar__1(434:445)).EQ.0) bgMapH_1 =  rNULL__
        if (idig(ar__1(447:458)).EQ.0) bgMapS_1 =  rNULL__
        if (idig(ar__1(460:471)).EQ.0) ExpMapT_1 =  rNULL__
        if (idig(ar__1(473:484)).EQ.0) ExpMapH_1 =  rNULL__
        if (idig(ar__1(486:497)).EQ.0) ExpMapS_1 =  rNULL__
        if (idig(ar__1(499:510)).EQ.0) FluxT_1 =  rNULL__
        if (idig(ar__1(512:523)).EQ.0) e_FluxT_1 =  rNULL__
        if (idig(ar__1(525:536)).EQ.0) FluxH_1 =  rNULL__
        if (idig(ar__1(538:549)).EQ.0) e_FluxH_1 =  rNULL__
        if (idig(ar__1(551:562)).EQ.0) FluxS_1 =  rNULL__
        if (idig(ar__1(564:575)).EQ.0) e_FluxS_1 =  rNULL__
        if (idig(ar__1(577:588)).EQ.0) RateT_1 =  rNULL__
        if (idig(ar__1(590:601)).EQ.0) e_RateT_1 =  rNULL__
        if (idig(ar__1(603:614)).EQ.0) RateH_1 =  rNULL__
        if (idig(ar__1(616:627)).EQ.0) e_RateH_1 =  rNULL__
        if (idig(ar__1(629:640)).EQ.0) RateS_1 =  rNULL__
        if (idig(ar__1(642:653)).EQ.0) e_RateS_1 =  rNULL__
        if (idig(ar__1(655:662)).EQ.0) RAdegT_1 =  rNULL__
        if (idig(ar__1(664:671)).EQ.0) DEdegT_1 =  rNULL__
        if (idig(ar__1(673:680)).EQ.0) e_posT_1 =  rNULL__
        if (idig(ar__1(682:689)).EQ.0) GLONT_1 =  rNULL__
        if (idig(ar__1(691:698)).EQ.0) GLATT_1 =  rNULL__
        if (idig(ar__1(700:707)).EQ.0) RAdegH_1 =  rNULL__
        if (idig(ar__1(709:716)).EQ.0) DEdegH_1 =  rNULL__
        if (idig(ar__1(718:725)).EQ.0) e_posH_1 =  rNULL__
        if (idig(ar__1(727:734)).EQ.0) GLONH_1 =  rNULL__
        if (idig(ar__1(736:743)).EQ.0) GLATH_1 =  rNULL__
        if (idig(ar__1(745:752)).EQ.0) RAdegS_1 =  rNULL__
        if (idig(ar__1(754:761)).EQ.0) DEdegS_1 =  rNULL__
        if (idig(ar__1(763:770)).EQ.0) e_posS_1 =  rNULL__
        if (idig(ar__1(772:779)).EQ.0) GLONS_1 =  rNULL__
        if (idig(ar__1(781:788)).EQ.0) GLATS_1 =  rNULL__
        if(ar__1(1203:1214) .EQ. '') Dist_1 = rNULL__
        if (idig(ar__1(1216:1227)).EQ.0) DistRASS_1 =  rNULL__
c    ..............Just test output...........
        write(6,2)
     +  XMMSL1_1,ObsID_1,SN_1,RAdeg_1,DEdeg_1,e_pos_1,GLON_1,GLAT_1,
     +  HR1_1,e_HR1_1,Date_1_1,Date_2_1,SCTST_1,e_SCTST_1,SCTSH_1,
     +  e_SCTSH_1,SCTSS_1,e_SCTSS_1,XposT_1,YposT_1,XposH_1,YposH_1,
     +  XposS_1,YposS_1,ExtT_1,e_ExtT_1,ExtH_1,e_ExtH_1,ExtS_1,
     +  e_ExtS_1,DetMLT_1,DetMLH_1,DetMLS_1,ExtMLT_1,ExtMLH_1,
     +  ExTMLS_1,bgMapT_1,bgMapH_1,bgMapS_1,ExpMapT_1,ExpMapH_1,
     +  ExpMapS_1,FluxT_1,e_FluxT_1,FluxH_1,e_FluxH_1,FluxS_1,
     +  e_FluxS_1,RateT_1,e_RateT_1,RateH_1,e_RateH_1,RateS_1,
     +  e_RateS_1,RAdegT_1,DEdegT_1,e_posT_1,GLONT_1,GLATT_1,RAdegH_1,
     +  DEdegH_1,e_posH_1,GLONH_1,GLATH_1,RAdegS_1,DEdegS_1,e_posS_1,
     +  GLONS_1,GLATS_1,VarFlag_1,SRCNameT_1,SRCNameH_1,SRCNameS_1,
     +  XImNameT_1,XImNameH_1,XImNameS_1,VerINEXT_1,VerHALO_1,
     +  VerHIBGND_1,VerNREDG_1,VerPSUSP_1,VerFALSE_1,Comment_1,Name_1,
     +  OName_1,RASS_1,Type_1,r_Name_1,Dist_1,DistRASS_1,ModeID_1,
     +  bgRate_1
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================
      stop
      end

C Locate position of first digit in string; or return 0
      integer function idig(c)
      character*(*) c
      character*1 c1
      integer lc,i
      lc=len(c)
      idig=0
      do i=1,lc
         if(c(i:i).ne.' ') go to 1
      end do
    1 if(i.gt.lc) return
      c1=c(i:i)
      if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
      if(i.gt.lc) return
      c1=c(i:i)
      if(c1.ge.'0'.and.c1.le.'9') idig=i
      return
      end