FORTRAN Generation
(/./ftp/cats/J/ApJ/643/356)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJ/643/356 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 2024-Apr-19
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/ApJ/643/356       Transient X-ray sources in M31           (Williams+, 2006)
*================================================================================
*A catalog of transient X-ray sources in M31.
*    Williams B.F., Naik S., Garcia M.R., Callanan P.J.
*   <Astrophys. J., 643, 356-375 (2006)>
*   =2006ApJ...643..356W
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Transient catalog

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

C  J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg       ! (deg) Right Ascension J2000.0
      real*8        DEdeg       ! (deg)     Declination J2000.0
C  ---------------------------------- ! (position vector(s) in degrees)

      character*6   v_KGP2002_  ! Source identification (origin in Kong et al. 
*                                   2002ApJ...577..738K, Cat. J/ApJ/577/738)
      integer*4     RAh         ! (h) Riight ascension (J2000.0)
      integer*4     RAm         ! (min) Right ascension (J2000.0)
      real*4        RAs         ! (s) Right ascension (J2000.0)
      character*1   DE_         ! Declination sign (J2000.0)
      integer*4     DEd         ! (deg) Declination (J2000.0)
      integer*4     DEm         ! (arcmin) Declination (J2000.0)
      real*4        DEs         ! (arcsec) Declination (J2000.0)
      character*5   Ref         ! Detection references (1)
*Note (1): References as follows:
*      1 = Di Stefano et al., 2004ApJ...610..247D, Cat. <J/ApJ/610/247>
*      2 = Garcia et al., 2001ATel...79....1G
*      3 = Kong et al., 2001ATel...76....1K
*      4 = Kong et al., 2002ApJ...577..738K, Cat. <J/ApJ/577/738>
*      5 = Kong et al., 2002ATel...97....1K
*      6 = New
*      7 = Osborne et al., 2001A&A...378..800O
*      8 = Shirey, 2001IAUC.7659....1S
*      9 = Trinchieri & Fabbiano, 1991ApJ...382...82T
*     10 = Trudolyubov et al., 2001ApJ...563L.119T
*     11 = Trudolyubov et al., 2002IAUC.7798....2T
*     12 = Williams et al., 2004ApJ...609..735W, Cat. <J/ApJ/609/735>

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

C  Declarations for 'table2.dat'	! Spectral Fits to Transient Detections

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

      character*6   v_KGP2002__1 ! Source identification
      character*10  Obs_Date    ! ("DD/MM/YYYY") Date of Observation
      character*6   Inst        ! Telescope/Instrument used
      integer*8     OBSID       ! Observational identification code
      integer*4     Ct1         ! (ct) ? Net counts in detection (1)
      integer*4     Ct2         ! (ct) ? XMM MOS1 net counts in detection
      integer*4     Ct3         ! (ct) ? XMM MOS2 net counts in detection
      character*3   Model       ! Model used to fit spectrum (2)
      real*4        NH          ! (10-21cm-2) ? Hydrogen column density
      real*4        E_NH        ! (10-21cm-2) ? Upper uncertainty limit in NH
      real*4        e_NH_1      ! (10-21cm-2) ? Uncertainty (or lower limit) in NH
      real*4        Gamma       ! ? Best fit power law slope
      real*4        E_Gamma     ! ? Upper uncertainty limit in Gamma
      real*4        e_Gamma_1   ! ? Uncertainty (or lower limit) in Gamma
      real*4        T           ! ? Temperature parameter (3)
      real*4        E_T         ! ? Upper uncertainty limit in T
      real*4        e_T_1       ! ? Uncertainty (or lower limit) in T
      real*8        chi2        ! ? Model {chi}^2^ value
      integer*4     DoF         ! ? Degrees of freedom
      real*4        Prob        ! ? Probability of fit (4)
      real*4        HR1         ! ? First hardness ratio, M-S/M+S (5)
      real*4        e_HR1       ! ? Uncertainty in HR1
      real*4        HR2         ! ? Second hardness ratio, H-S/H+S (6)
      real*4        e_HR2       ! ? Uncertainty in HR2
      real*4        LX          ! (10+29W) Absorption-corrected X-ray luminosity
*                                      in units of 10^36^ erg/s (7)
      real*4        E_LX        ! (10+29W) ? Upper uncertainty limit in LX
      real*4        e_LX_1      ! (10+29W) Uncertainty (or lower limit) in LX
*Note (1): If an XMM observation then this is from the PN instrument.
*Note (2): Model used to fit spectrum as follows:
*     pl = power-law
*     bb = blackbody
*     pb = power-law plus blackbody
*    dbb = disk blackbody
*    pdb = power-law plus disk blackbody
*    nsa = neutron star atmosphere
*Note (3): For the bb or pb models, this number is kT in keV. For the dbb
*     model this value is kT in keV of the inner edge of the accretion disk.
*     For the nsa model this value is log(T_eff_) for the atmosphere of the
*     neutron star.
*Note (4): The probability that this fit is representative of the true
*     spectrum, determined from chi/DoF.
*Note (5): Calculated by taking the ratio of M-S/M+S, where S is the number
*     of counts from 0.3-1keV and M is the number of counts from 1-2keV.
*Note (6): Calculated by taking the ratio of H-S/H+S, where S is the number
*     of counts from 0.3-1keV and H is the number of counts from 2-7keV.
*Note (7): Assuming a distance of 780kpc.

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

C  Loading file 'table1.dat'	! Transient catalog

C  Format for file interpretation

    1 format(A6,2X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,A5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,45
        read(1,'(A38)')ar__
        read(ar__,1)v_KGP2002_,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Ref
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)v_KGP2002_,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Ref
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Spectral Fits to Transient Detections

C  Format for file interpretation

    2 format(
     +  A6,1X,A10,1X,A6,1X,I10,1X,I5,1X,I4,1X,I4,1X,A3,1X,F5.2,1X,
     +  F4.2,1X,F4.2,1X,F3.1,1X,F3.1,1X,F3.1,1X,F5.3,1X,F5.3,1X,F5.3,
     +  1X,F7.3,1X,I3,1X,F5.3,1X,F5.2,1X,F4.2,1X,F5.2,1X,F4.2,1X,F6.1,
     +  1X,F5.1,1X,F5.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,195
        read(1,'(A160)')ar__1
        read(ar__1,2)
     +  v_KGP2002__1,Obs_Date,Inst,OBSID,Ct1,Ct2,Ct3,Model,NH,E_NH,
     +  e_NH_1,Gamma,E_Gamma,e_Gamma_1,T,E_T,e_T_1,chi2,DoF,Prob,HR1,
     +  e_HR1,HR2,e_HR2,LX,E_LX,e_LX_1
        if(ar__1(37:41) .EQ. '') Ct1 = iNULL__
        if(ar__1(43:46) .EQ. '') Ct2 = iNULL__
        if(ar__1(48:51) .EQ. '') Ct3 = iNULL__
        if(ar__1(57:61) .EQ. '') NH = rNULL__
        if(ar__1(63:66) .EQ. '') E_NH = rNULL__
        if(ar__1(68:71) .EQ. '') e_NH_1 = rNULL__
        if(ar__1(73:75) .EQ. '') Gamma = rNULL__
        if(ar__1(77:79) .EQ. '') E_Gamma = rNULL__
        if(ar__1(81:83) .EQ. '') e_Gamma_1 = rNULL__
        if(ar__1(85:89) .EQ. '') T = rNULL__
        if(ar__1(91:95) .EQ. '') E_T = rNULL__
        if(ar__1(97:101) .EQ. '') e_T_1 = rNULL__
        if(ar__1(103:109) .EQ. '') chi2 = rNULL__
        if(ar__1(111:113) .EQ. '') DoF = iNULL__
        if(ar__1(115:119) .EQ. '') Prob = rNULL__
        if(ar__1(121:125) .EQ. '') HR1 = rNULL__
        if(ar__1(127:130) .EQ. '') e_HR1 = rNULL__
        if(ar__1(132:136) .EQ. '') HR2 = rNULL__
        if(ar__1(138:141) .EQ. '') e_HR2 = rNULL__
        if(ar__1(150:154) .EQ. '') E_LX = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  v_KGP2002__1,Obs_Date,Inst,OBSID,Ct1,Ct2,Ct3,Model,NH,E_NH,
     +  e_NH_1,Gamma,E_Gamma,e_Gamma_1,T,E_T,e_T_1,chi2,DoF,Prob,HR1,
     +  e_HR1,HR2,e_HR2,LX,E_LX,e_LX_1
c    .......End.of.Just test output...........
      end do
      close(1)

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