FORTRAN Generation
(/./ftp/cats/IX/71)

Conversion of standardized ReadMe file for file /./ftp/cats/IX/71 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-Oct-11
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. IX/71       XMM-Newton slew survey Source Catalogue, version 3.0 (XMM-SSC, 2025)
*================================================================================
*The XMM-Newton slew survey Source Catalogue, version 3.0
*    XMM-SSC
*    <XMM-SSC, Leicester, UK (2025)>
*   =2025yCat.9071....0X
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'xmmsl3c.dat'	! XMM-Newton slew survey Source Catalogue: XMMSL3
                                 "clean version" (Release 1.0, 18th Feb 2025)

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

C  J2000 position composed of: RAdeg DEdeg
      character*23  XMMSL3      ! Official name for sources detected in
*                                        the XMM-Newton slew survey
*                                        (UNIQUE_SRCNAME) (1)
      character*10  ObsId       ! Observation number (OBSID) (2)
      integer*4     SNum        ! Number which uniquely identifies each
*                                        detection in an observation (SOURCENUM)
      real*8        RAdeg       ! (deg) Right ascension (J2000) (RA) (3)
      real*8        DEdeg       ! (deg) Declination (J2000) (DEC) (3)
      real*8        ePos        ! (arcsec) Statistical error on the source position
*                                        (RADEC_ERR) (4)
      real*8        GLON        ! (deg) Galactic longitude (LII)
      real*8        GLAT        ! (deg) Galactic latitude (BII)
      real*8        HR1         ! ?=- Hardness ratio (HR1) (5)
      real*8        e_HR1       ! ?=- rms uncertainty on HR1 (HR1_ERR) (6)
      character*19  DateS       ! Start time of the slew containing
*                                        this source (DATE_OBS)
      character*19  DateE       ! End time of the slew containing
*                                        this source (DATE_END)
      real*4        SctsB8      ! (ct) ?=- Number of background subtracted
*                                        counts, in the total energy band
*                                        (0.2-12keV) (SCTS_B8) (7)
      real*8        e_SctsB8    ! (ct) ?=- Statistical 1 sigma error on SctsB8
*                                        (SCTS_B8_ERR)
      real*4        SctsB7      ! (ct) ?=- Number of background subtracted
*                                        counts, in the hard energy band
*                                        (2-12keV), corrected for the PSF
*                                        (SCTS_B7)
      real*8        e_SctsB7    ! (ct) ?=- Statistical 1 sigma error on SctsB7
*                                        (SCTS_B7_ERR)
      real*4        SctsB6      ! (ct) ?=- Number of background subtracted
*                                       counts, in the soft energy band
*                                       (0.2-2keV), corrected for the PSF
*                                       (SCTS_B6)
      real*8        e_SctsB6    ! (ct) ?=- Statistical 1 sigma error on SctsB6
*                                        (SCTS_B6_ERR)
      real*4        XimaB8      ! (pix) ?=- X position in the total band image in
*                                        image pixels (X_IMA_B8)
      real*4        YimaB8      ! (pix) ?=- Y position in the total band image in
*                                        image pixels (Y_IMA_B8)
      real*4        XimaB7      ! (pix) ?=- X position in the hard band image in
*                                        image pixels(X_IMA_B7)
      real*4        YimaB7      ! (pix) ?=- Y position in the hard band image in
*                                        image pixels(Y_IMA_B7)
      real*4        XimaB6      ! (pix) ?=- X position in the soft band image in
*                                        image pixels(X_IMA_B6)
      real*4        YimaB6      ! (pix) ?=- Y position in the soft band image in
*                                        image pixels(Y_IMA_B6)
      real*8        ExtB8       ! (pix) ?=- Spatial extension of the source in
*                                        the total energy band (EXT_B8) (7)
      real*8        e_ExtB8     ! (pix) ?=- Statistical one sigma error on ExtB8
*                                        (EXT_B8_ERR)
      real*8        ExtB7       ! (pix) ?=- Spatial extension of the source in
*                                        the hard energy band (EXT_B7) (7)
      real*8        e_ExtB7     ! (pix) ?=- Statistical one sigma error on ExtB7
*                                        (EXT_B7_ERR)
      real*8        ExtB6       ! (pix) ?=- Spatial extension of the source in
*                                        the soft energy band (EXT_B6) (7)
      real*8        e_ExtB6     ! (pix) ?=- Statistical one sigma error on ExtB6
*                                        (EXT_B6_ERR)
      real*8        DetMLB8     ! ?=- Detection likelihood in the total
*                                        (0.2-12keV) energy band (DET_ML_B8)
      real*8        DetMLB7     ! ?=- Detection likelihood in the hard
*                                        (2-12keV) energy band (DET_ML_B7)
      real*8        DetMLB6     ! ?=- Detection likelihood in the soft
*                                        (0.2-2keV) energy band (DET_ML_B6)
      real*8        ExtMLB8     ! ?=- Likelihood of the source being
*                                        extended in the total band (EXT_ML_B8)
      real*8        ExtMLB7     ! ?=- Likelihood of the source being
*                                        extended in the hard band (EXT_ML_B7)
      real*8        ExtMLB6     ! ?=- Likelihood of the source being
*                                        extended in the soft band (EXT_ML_B6)
      real*8        BgMapB8     ! (ct/pix) ?=- Background value for the total band
*                                        (BG_MAP_B8)
      real*8        BgMapB7     ! (ct/pix) ?=- Background value for the hard band
*                                        (BG_MAP_B7)
      real*8        BgMapB6     ! (ct/pix) ?=- Background value for the soft band
*                                        (BG_MAP_B6)
      real*8        ExpMapB8    ! (s) ?=- Effective on-axis exposure time in
*                                        the total energy band (EXP_MAP_B8)
      real*8        ExpMapB7    ! (s) ?=- Effective on-axis exposure time in
*                                        the hard energy band (EXP_MAP_B7)
      real*8        ExpMapB6    ! (s) ?=- Effective on-axis exposure time in
*                                        the soft energy band (EXP_MAP_B6)
      real*8        FluxB8      ! (10-15W/m2) ?=- Flux in the total energy (0.2-12keV)
*                                        band (FLUX_B8)
      real*8        e_FluxB8    ! (10-15W/m2) ?=- Error in FluxB8 (FLUX_B8_ERR)
      real*8        FluxB7      ! (10-15W/m2) ?=- Flux in the total energy (2-12keV)
*                                        band (FLUX_B7)
      real*8        e_FluxB7    ! (10-15W/m2) ?=- Error in FluxB7 (FLUX_B7_ERR)
      real*8        FluxB6      ! (10-15W/m2) ?=- Flux in the total energy (0.2-2keV)
*                                        band (FLUX_B6)
      real*8        e_FluxB6    ! (10-15W/m2) ?=- Error in FluxB6 (FLUX_B6_ERR)
      real*8        RateB8      ! (ct/s) ?=- Total band count rate (RATE_B8)
      real*8        e_RateB8    ! (ct/s) ?=- Error in RateB8 (RATE_B8_ERR)
      real*8        RateB7      ! (ct/s) ?=- Hard band count rate (RATE_B7)
      real*8        e_RateB7    ! (ct/s) ?=- Error in RateB7 (RATE_B7_ERR)
      real*8        RateB6      ! (ct/s) ?=- Soft band count rate (RATE_B6)
      real*8        e_RateB6    ! (ct/s) ?=- Error in RateB6 (RATE_B6_ERR)
      real*8        RAdegB8     ! (deg) ?=- Total band right ascension (J2000)
*                                        (RA_B8)
      real*8        DEdegB8     ! (deg) ?=- Total band declination (J2000)
*                                        (DEC_B8)
      real*8        ePosB8      ! (deg) ?=- Statistical error on total band
*                                        position (RADEC_B8_ERR)
      real*8        GLONB8      ! (deg) ?=- Total band galactic longitude
*                                        (LII_B8)
      real*8        GLATB8      ! (deg) ?=- Total band galactic latitude (BII_B8)
      real*8        RAdegB7     ! (deg) ?=- Hard band right ascension (J2000)
*                                        (RA_B7)
      real*8        DEdegB7     ! (deg) ?=- Hard band declination (J2000)
*                                        (DEC_B7)
      real*8        ePosB7      ! (deg) ?=- Statistical error on hard band
*                                        position (RADEC_B7_ERR)
      real*8        GLONB7      ! (deg) ?=- Hard band galactic longitude (LII_B7)
      real*8        GLATB7      ! (deg) ?=- Hard band galactic latitude (BII_B7)
      real*8        RAdegB6     ! (deg) ?=- Soft band right ascension (J2000)
*                                        (RA_B6)
      real*8        DEdegB6     ! (deg) ?=- Soft band declination (J2000)
*                                        (DEC_B6)
      real*8        ePosB6      ! (deg) ?=- Statistical error on soft band
*                                        position (RADEC_B6_ERR)
      real*8        GLONB6      ! (deg) ?=- Soft band galactic longitude (LII_B6)
      real*8        GLATB6      ! (deg) ?=- Soft band galactic latitude (BII_B6)
      character*12  Flag        ! [CLEAN_SAMPLE] Flag for source included
*                                        in the clean subset (VAL_FLAG) (8)
      character*37  SnameB8     ! Source name defined in the total band
*                                        list (SRCNAME_B8) (9)
      character*37  SnameB7     ! Source name defined in the hard band list
*                                        (SRCNAME_B7) (9)
      character*37  SnameB6     ! Source name defined in the soft band list
*                                        (SRCNAME_B6) (9)
      character*31  XInameB8    ! Name of the image containing the total
*                                        band detection (XIMNAME_B8)
      character*31  XInameB7    ! Name of the image containing the hard
*                                        band detection (XIMNAME_B7)
      character*31  XInameB6    ! Name of the image containing the soft
*                                        band detection (XIMNAME_B6)
      integer*4     Inext       ! [0/1] Extended source flag
*                                        (VER_INEXT) (10)
      integer*4     Halo        ! [0/1] Halo flag (VER_HALO) (11)
      integer*4     HIbgnd      ! [0/1] Bright region flag
*                                        (VER_HIBGND) (12)
      integer*4     Nredg       ! [0] Not used in XMMSL2 (VER_NREDG)
      integer*4     Psusp       ! [0/1] Inaccurate position flag
*                                        (VER_PSUSP) (13)
      integer*4     False       ! [0/1] Catch-all for problems not included
*                                        in the other flags (VER_FALSE) (14)
      character*38  Com         ! Suspect attitude reconstruction in RAF
*                                        (FLAG_COMMENT) (15)
      character*38  Ident       ! Cross-correlations of the positions of
*                                        the slew sources (IDENT) (16)
      character*21  AltID       ! Alternatif identifier (ALTIDENT)
      character*16  v1RXS       ! Name of the closest Rosat All Sky Survey
*                                        (RASS) source (RASSNAME) (17)
      character*20  Type        ! Source type (ID_CATEGORY) (18)
      character*8   r_Type      ! Reference for Type (ID_RESOURCE) (19)
      real*8        DistC       ! (arcsec) ?=- Distance between the best match
*                                        candidate and the slew survey source
*                                        (ID_DIST)
      real*4        DistR       ! (arcsec) ?=- Distance from the best match ROSAT
*                                        source and the slew source (RASS_DIST)
      character*3   ModeID      ! Observing mode of the EPIC-pn camera
*                                        (MODE_ID) (20)
      real*4        ImBGRate    ! (ct/s) Peak background count rate in the image
*                                        from which the source was extracted
*                                        (IMAGE_BG_RATE) (21)
      real*8        MJDStart    ! (d) Start time of the subimage where the
*                                        source is located in modified Julian
*                                        date (MJD_START)
      real*8        MJDStop     ! (d) End time of the subimage where the source
*                                        is located in modified Julian date
*                                        (MJD_STOP)
      integer*4     OPTLOAD     ! [0/1] Warning flag indicating that the
*                                        source may suffer from optical loading
*                                        (VER_OPTLOAD)
      integer*4     FiltCt      ! ?=- Number of counts found within a
*                                        1 arcminute radius about the source
*                                        position after standard filtering is
*                                        applied  (FILT_CNTS)
      integer*4     UnfiltCt    ! ?=- Number of counts found within a
*                                        1 arcminute radius about the source
*                                        position with no filtering applied
*                                        (UNFILT_CNTS)
      character*23  USXMMSL1    ! Name of the same source in the previous
*                                        XMMSL1 catalogue if existing (US_XMMSL1)
      integer*4     USExtras    ! ?=- Corresponding SRCID value within the
*                                        EXTraS LTV catalogue (US_EXTRAS) (22)
*Note (1): This is the official name for sources detected in the XMM-Newton slew
*  survey. It starts with the prefix, XMMSL3 (evolving from XMMSL1 and XMMSL2
*  the IAU registered designator), and then encodes the J2000 sky position, e.g.
*  XMMSL3 J010537.6+364858. The name is assigned in two passes. When the three
*  independent energy band source lists are combined to form one catalogue the
*  source name is set using the position in the band where the DET_ML likelihood
*  is the highest. A second pass is then performed such that sources which have
*  been observed in more than one slew are given the same name. Again, priority
*  is given depending on the detection likelihood. Note that the combination of
*  UNIQUE_SRCNAME and observation number (OBSID) is unique. Detections are deemed
*  to be from the same source if their centres lie within 30 arcseconds of each
*  other. Note that the statistical position error (RADEC_ERR) calculated by the
*  source search software is not used in this calculation. This is because the
*  systematic error on the slew attitude reconstruction dominates the error
*  budget in many cases. Given the scarcity of slew sources on the sky, 30" was
*  found to be a reasonably robust match radius for point sources. It is not so
*  good for extended sources and the catalogue may contain multiple detections of
*  the same extended source with different names.
*Note (2): This is the observation number assigned to the slew by the satellite
*  scheduling system. Slew observations always begin with a 9 to distinguish
*  them from pointed observations, followed by a 4 digit satellite orbit number
*  and a 5 digit slew designator, e.g. 9031400004, refers to the second slew of
*  revolution 314.
*Note (3): In the event of a detection in more than one energy band, the
*  coordinates are taken from the band with the highest detection likelihood.
*Note (4): Statistical error on the source position as returned by the source
*  detection software.
*Note (5): The hardness ratio, defined as
*   HR1 = (rate_b7-rate_b6)/(rate_b7+rate_b6)
*   where rate_b7 is the hard band count rate and rate_b6 is the soft band count
*   rate. This has been calculated for the 1936 sources which have a positive
*   detection in both bands.
*Note (6): Error on the hardness ratio calculated as:
*   sqrt(rate_b7_err*rate_b7_err + rate_b6_err*rate_b6_err) /(rate_b7+rate_b6)
*   where rate_b7_err and rate_b6_err are the errors on the hard and soft band
*   count rates respectively.
*Note (7): This measures the deviation from a point source of the spatial
*   distribution of the source counts. It is defined as the sigma of a Gaussian
*   which would need to be convolved with the point spread function (PSF) to
*   produce the observed counts distribution. The software (emldetect) fits
*   sources out to a maximum extent of 20 pixels.
*   Units: 4.1"x4.1" image pixels
*Note (8): A text string which is set to 'CLEAN_SAMPLE' if this source is
*   included in the clean subset.
*Note (9): 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 (10): If set true (1), this flag notes that a detection has been found with
*  in an extended source and is probably false. This flag is used to ensure that
*  only one source is quoted for the large supernova remnants.
*Note (11): If set true (1), this flag indicates that a detection lies within the
*  point spread function, or halo, of a very bright source and is probably
*  spurious.
*Note (12): If set true (1), this flag indicates that the source lies within a
*  bright region, caused by high background, and is probably spurious.
*Note (13): 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.
*Note (14): This is a catch-all for problems not included in the other flags. In
*  the catalogue 99 detections have this flag set true. Reasons include: the
*  exposure time has been calculated as zero, a detection due to a very bright
*  source, e.g. SCO X-1, out of the field of view, a possible cosmic ray or a
*  very bad attitude reconstruction.
*Note (15): A comment which explains why a particular source flag has been set
*  to true
*Note (16): Cross-correlations of the positions of the slew sources with
*  astronomical databases and catalogues have been performed (see section on
*  IDs). This column gives the catalogue name of the best match.
*Note (17):  Voges et al. (1999, Cat. IX/10) and Voges et al. (2000, Cat. IX/29).
*Note (18): The 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 (19): The astronomical database or catalogue from which the best match has
*  been selected. e.g. SIMBAD, NED, etc.
*Note (20): Observing mode of the EPIC-pn camera as follows:
*  FF= Full frame mode
*  eFF = extended full frame mode
*  LW = large window mode
*Note (21): 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 15.5. 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.9 ct/s.
*Note (22): This release of XMMSL2 makes use of work carried out within the
*  framework of the EXTraS project. XMMSL2 is closely linked to the long-term
*  variability (LTV) catalogue within EXTraS, and this US_EXTRAS column provides
*  the corresponding SRCID value within the EXTraS LTV catalogue.

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

C  Loading file 'xmmsl3c.dat'	! XMM-Newton slew survey Source Catalogue: XMMSL3
*                                 "clean version" (Release 1.0, 18th Feb 2025)

C  Format for file interpretation

    1 format(
     +  A23,1X,A10,1X,I4,1X,F15.11,1X,F15.11,1X,F11.7,1X,F15.11,1X,
     +  F15.11,1X,F9.6,1X,F8.6,1X,A19,1X,A19,1X,E12.6,1X,F9.5,1X,
     +  E12.6,1X,F8.5,1X,E12.6,1X,F9.5,1X,E12.6,1X,E12.6,1X,E12.6,1X,
     +  E12.6,1X,E12.6,1X,E12.6,1X,F9.6,1X,F9.6,1X,F9.6,1X,F9.6,1X,
     +  F9.6,1X,F9.6,1X,F12.6,1X,F12.6,1X,F12.6,1X,F12.6,1X,F12.6,1X,
     +  F12.6,1X,F8.6,1X,F8.6,1X,F8.6,1X,F10.6,1X,F10.6,1X,F10.6,1X,
     +  F12.6,1X,F12.6,1X,F12.6,1X,F12.6,1X,F11.6,1X,F10.6,1X,F11.6,
     +  1X,F10.6,1X,F11.6,1X,F10.6,1X,F11.6,1X,F10.6,1X,F15.11,1X,
     +  F15.11,1X,F11.7,1X,F15.11,1X,F15.11,1X,F15.11,1X,F15.11,1X,
     +  F11.7,1X,F15.11,1X,F15.11,1X,F15.11,1X,F15.11,1X,F11.7,1X,
     +  F15.11,1X,F15.11,1X,A12,1X,A37,1X,A37,1X,A37,1X,A31,1X,A31,1X,
     +  A31,1X,I1,1X,I1,1X,I1,1X,I1,1X,I1,1X,I1,1X,A38,1X,A38,1X,A21,
     +  1X,A16,1X,A20,1X,A8,1X,F10.6,1X,F6.3,1X,A3,1X,F5.1,1X,F10.4,
     +  1X,F10.4,1X,I1,1X,I4,1X,I4,1X,A23,1X,I6)

C  Effective file loading

      open(unit=1,status='old',file=
     +'xmmsl3c.dat')
      write(6,*) '....Loading file: xmmsl3c.dat'
      do i__=1,140735
        read(1,'(A1365)')ar__
        read(ar__,1)
     +  XMMSL3,ObsId,SNum,RAdeg,DEdeg,ePos,GLON,GLAT,HR1,e_HR1,DateS,
     +  DateE,SctsB8,e_SctsB8,SctsB7,e_SctsB7,SctsB6,e_SctsB6,XimaB8,
     +  YimaB8,XimaB7,YimaB7,XimaB6,YimaB6,ExtB8,e_ExtB8,ExtB7,
     +  e_ExtB7,ExtB6,e_ExtB6,DetMLB8,DetMLB7,DetMLB6,ExtMLB8,ExtMLB7,
     +  ExtMLB6,BgMapB8,BgMapB7,BgMapB6,ExpMapB8,ExpMapB7,ExpMapB6,
     +  FluxB8,e_FluxB8,FluxB7,e_FluxB7,FluxB6,e_FluxB6,RateB8,
     +  e_RateB8,RateB7,e_RateB7,RateB6,e_RateB6,RAdegB8,DEdegB8,
     +  ePosB8,GLONB8,GLATB8,RAdegB7,DEdegB7,ePosB7,GLONB7,GLATB7,
     +  RAdegB6,DEdegB6,ePosB6,GLONB6,GLATB6,Flag,SnameB8,SnameB7,
     +  SnameB6,XInameB8,XInameB7,XInameB6,Inext,Halo,HIbgnd,Nredg,
     +  Psusp,False,Com,Ident,AltID,v1RXS,Type,r_Type,DistC,DistR,
     +  ModeID,ImBGRate,MJDStart,MJDStop,OPTLOAD,FiltCt,UnfiltCt,
     +  USXMMSL1,USExtras
        if (idig(ar__(117:125)).EQ.0) HR1 =  rNULL__
        if (idig(ar__(127:134)).EQ.0) e_HR1 =  rNULL__
        if (idig(ar__(176:187)).EQ.0) SctsB8 =  rNULL__
        if (idig(ar__(189:197)).EQ.0) e_SctsB8 =  rNULL__
        if (idig(ar__(199:210)).EQ.0) SctsB7 =  rNULL__
        if (idig(ar__(212:219)).EQ.0) e_SctsB7 =  rNULL__
        if (idig(ar__(221:232)).EQ.0) SctsB6 =  rNULL__
        if (idig(ar__(234:242)).EQ.0) e_SctsB6 =  rNULL__
        if (idig(ar__(244:255)).EQ.0) XimaB8 =  rNULL__
        if (idig(ar__(257:268)).EQ.0) YimaB8 =  rNULL__
        if (idig(ar__(270:281)).EQ.0) XimaB7 =  rNULL__
        if (idig(ar__(283:294)).EQ.0) YimaB7 =  rNULL__
        if (idig(ar__(296:307)).EQ.0) XimaB6 =  rNULL__
        if (idig(ar__(309:320)).EQ.0) YimaB6 =  rNULL__
        if (idig(ar__(322:330)).EQ.0) ExtB8 =  rNULL__
        if (idig(ar__(332:340)).EQ.0) e_ExtB8 =  rNULL__
        if (idig(ar__(342:350)).EQ.0) ExtB7 =  rNULL__
        if (idig(ar__(352:360)).EQ.0) e_ExtB7 =  rNULL__
        if (idig(ar__(362:370)).EQ.0) ExtB6 =  rNULL__
        if (idig(ar__(372:380)).EQ.0) e_ExtB6 =  rNULL__
        if (idig(ar__(382:393)).EQ.0) DetMLB8 =  rNULL__
        if (idig(ar__(395:406)).EQ.0) DetMLB7 =  rNULL__
        if (idig(ar__(408:419)).EQ.0) DetMLB6 =  rNULL__
        if (idig(ar__(421:432)).EQ.0) ExtMLB8 =  rNULL__
        if (idig(ar__(434:445)).EQ.0) ExtMLB7 =  rNULL__
        if (idig(ar__(447:458)).EQ.0) ExtMLB6 =  rNULL__
        if (idig(ar__(460:467)).EQ.0) BgMapB8 =  rNULL__
        if (idig(ar__(469:476)).EQ.0) BgMapB7 =  rNULL__
        if (idig(ar__(478:485)).EQ.0) BgMapB6 =  rNULL__
        if (idig(ar__(487:496)).EQ.0) ExpMapB8 =  rNULL__
        if (idig(ar__(498:507)).EQ.0) ExpMapB7 =  rNULL__
        if (idig(ar__(509:518)).EQ.0) ExpMapB6 =  rNULL__
        if (idig(ar__(520:531)).EQ.0) FluxB8 =  rNULL__
        if (idig(ar__(533:544)).EQ.0) e_FluxB8 =  rNULL__
        if (idig(ar__(546:557)).EQ.0) FluxB7 =  rNULL__
        if (idig(ar__(559:570)).EQ.0) e_FluxB7 =  rNULL__
        if (idig(ar__(572:582)).EQ.0) FluxB6 =  rNULL__
        if (idig(ar__(584:593)).EQ.0) e_FluxB6 =  rNULL__
        if (idig(ar__(595:605)).EQ.0) RateB8 =  rNULL__
        if (idig(ar__(607:616)).EQ.0) e_RateB8 =  rNULL__
        if (idig(ar__(618:628)).EQ.0) RateB7 =  rNULL__
        if (idig(ar__(630:639)).EQ.0) e_RateB7 =  rNULL__
        if (idig(ar__(641:651)).EQ.0) RateB6 =  rNULL__
        if (idig(ar__(653:662)).EQ.0) e_RateB6 =  rNULL__
        if (idig(ar__(664:678)).EQ.0) RAdegB8 =  rNULL__
        if (idig(ar__(680:694)).EQ.0) DEdegB8 =  rNULL__
        if (idig(ar__(696:706)).EQ.0) ePosB8 =  rNULL__
        if (idig(ar__(708:722)).EQ.0) GLONB8 =  rNULL__
        if (idig(ar__(724:738)).EQ.0) GLATB8 =  rNULL__
        if (idig(ar__(740:754)).EQ.0) RAdegB7 =  rNULL__
        if (idig(ar__(756:770)).EQ.0) DEdegB7 =  rNULL__
        if (idig(ar__(772:782)).EQ.0) ePosB7 =  rNULL__
        if (idig(ar__(784:798)).EQ.0) GLONB7 =  rNULL__
        if (idig(ar__(800:814)).EQ.0) GLATB7 =  rNULL__
        if (idig(ar__(816:830)).EQ.0) RAdegB6 =  rNULL__
        if (idig(ar__(832:846)).EQ.0) DEdegB6 =  rNULL__
        if (idig(ar__(848:858)).EQ.0) ePosB6 =  rNULL__
        if (idig(ar__(860:874)).EQ.0) GLONB6 =  rNULL__
        if (idig(ar__(876:890)).EQ.0) GLATB6 =  rNULL__
        if (idig(ar__(1274:1283)).EQ.0) DistC =  rNULL__
        if (idig(ar__(1285:1290)).EQ.0) DistR =  rNULL__
        if (FiltCt .EQ. 45) FiltCt =  iNULL__
        if (UnfiltCt .EQ. 45) UnfiltCt =  iNULL__
        if (USExtras .EQ. 45) USExtras =  iNULL__
c    ..............Just test output...........
        write(6,1)
     +  XMMSL3,ObsId,SNum,RAdeg,DEdeg,ePos,GLON,GLAT,HR1,e_HR1,DateS,
     +  DateE,SctsB8,e_SctsB8,SctsB7,e_SctsB7,SctsB6,e_SctsB6,XimaB8,
     +  YimaB8,XimaB7,YimaB7,XimaB6,YimaB6,ExtB8,e_ExtB8,ExtB7,
     +  e_ExtB7,ExtB6,e_ExtB6,DetMLB8,DetMLB7,DetMLB6,ExtMLB8,ExtMLB7,
     +  ExtMLB6,BgMapB8,BgMapB7,BgMapB6,ExpMapB8,ExpMapB7,ExpMapB6,
     +  FluxB8,e_FluxB8,FluxB7,e_FluxB7,FluxB6,e_FluxB6,RateB8,
     +  e_RateB8,RateB7,e_RateB7,RateB6,e_RateB6,RAdegB8,DEdegB8,
     +  ePosB8,GLONB8,GLATB8,RAdegB7,DEdegB7,ePosB7,GLONB7,GLATB7,
     +  RAdegB6,DEdegB6,ePosB6,GLONB6,GLATB6,Flag,SnameB8,SnameB7,
     +  SnameB6,XInameB8,XInameB7,XInameB6,Inext,Halo,HIbgnd,Nredg,
     +  Psusp,False,Com,Ident,AltID,v1RXS,Type,r_Type,DistC,DistR,
     +  ModeID,ImBGRate,MJDStart,MJDStop,OPTLOAD,FiltCt,UnfiltCt,
     +  USXMMSL1,USExtras
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