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