FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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.5, on 2013-Jun-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__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. J/ApJ/710/613               Broad HI absorbers                 (Danforth+, 2010)
*================================================================================
*Broad H I absorbers as metallicity-independent tracers of the warm-hot
*intergalactic medium.
*    Danforth C.W., Stocke J.T., Shull J.M.
*   <Astrophys. J., 710, 613-633 (2010)>
*   =2010ApJ...710..613D    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Broad Lyman{alpha} (BLA) sample sight lines

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

      real*8        RA_         ! (deg) Right Ascension J2000
      real*8        Dec         ! (deg)     Declination J2000
      character*12  AGN         ! Sight line
      integer*4     RAh         ! (h) Hour of right ascension (J2000)
      integer*4     RAm         ! (min) Minute of right ascension (J2000)
      real*4        RAs         ! (s) Second of right ascension (J2000)
      character*1   DE_         ! Sign of declination (J2000)
      integer*4     DEd         ! (deg) Degree of declination (J2000)
      integer*4     DEm         ! (arcmin) Arcminute of declination (J2000)
      integer*4     DEs         ! (arcsec) Arcsecond of declination (J2000)
      real*4        zAGN        ! AGN redshift
      real*4        Delz        ! Maximum absorption path length ({Delta}z_max_)
      real*4        DelX        ! Cosmologically corrected maximum path length
*                                  ({Delta}X_max_)
      character*79  Ref         ! Reference (1)
*Note (1): Most recent detailed STIS/E140M analysis; all are also included in
*          Lehner et al. (2007ApJ...658..680L) and Danforth & Shull (2008,
*          Cat. J/ApJ/679/194).

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

C  Declarations for 'table2.dat'	! Probable, possible, and non-BLA absorbers

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

      character*2   Abs         ! Probable, Possible or Non-absorber category (1)
      character*12  AGN_1       ! Sight line
      real*8        zabs        ! Absorption redshift
      integer*4     b1          ! (km/s) ? Line width of component 1 (2)
      character*1   u_b1        ! [:] Uncertainty flag on b1
      integer*4     E_b1        ! (km/s) ? Positive error on b1
      integer*4     e_b1_1      ! (km/s) ? Negative error on b1
      integer*4     b1d         ! (km/s) ? Second b1 value
      character*3   n_b1        ! [COG/Nd/Nm ] Note on b1 (3)
      real*4        logN1       ! ([cm-2]) ? Log of HI column density of component 1
      character*1   u_logN1     ! [?:] Uncertainty flag on logN1
      real*4        E_logN1     ! ([cm-2]) ? Positive error on logN1
      real*4        e_logN1_1   ! ([cm-2]) ? Negative error on logN1
      character*2   n_logN1     ! [Nd/Nm] Not detected or Not measured (3)
      character*3   Ref_1       ! Reference (4)
      integer*4     b2          ! (km/s) ? Line width of component 2 (2)
      character*1   u_b2        ! [:] Uncertainty flag on b2
      integer*4     E_b2        ! (km/s) ? Positive error on b2
      integer*4     e_b2_1      ! (km/s) ? Negative error on b2
      integer*4     b2d         ! (km/s) ? Second b2 value
      character*3   n_b2        ! [COG/Nd/Nm/bl ] Note on b2 (3)
      character*1   l_logN2     ! Limit flag on logN2
      real*4        logN2       ! ([cm-2]) ? Log of HI column density of component 2
      real*4        E_logN2     ! ([cm-2]) ? Positive error on logN2
      real*4        e_logN2_1   ! ([cm-2]) ? Negative error on logN2
      character*2   n_logN2     ! [Nd/Nm] Not detected or Not measured (3)
      character*4   Ref2        ! Reference (4)
      integer*4     b0          ! (km/s) ? Mean line width (2)
      character*1   u_b0        ! [:] Uncertainty flag on b0
      integer*4     b0d         ! (km/s) ? Second b0 value
      character*3   n_b0        ! [COG/LW* ] Note on b0 (3)
      real*4        logN0       ! ([cm-2]) ? Log of mean Hydrogen column density
      character*2   n_logN0     ! [Nd] Nd: Non detected (3)
      character*38  Notes       ! Absorber notes
*Note (1): Category as follows:
*   Pr   = Probable BLA. There is no definitive test for BLAs, but we classify as
*          "probable" any system with well-defined b_COG_>=40km/s or b_LW_>60km/s
*          ("LW" for Ly{alpha} line width; "COG" for curve of growth) confirmed
*          by independent measurement of Lehner et al. (2007ApJ...658..680L) and
*          ourselves and with no obvious sign of multiple component structure
*          (such as an asymmetric profile) in Ly{alpha} or higher Lyman lines or
*          metal ions (if available). Fifteen systems fall within this category.
*          Note that we do not a priori use the presence or absence of OVI, NV,
*          or other warm-hot intergalactic medium (WHIM) sign posts as a BLA
*          determinant, although several OVI detections are present in this
*          sample.
*   Po   = Possible BLA. Less likely than category A, the "possible" category
*          includes systems with 40km/s<=b_LW_<=60km/s. This category also holds
*          intermediate cases, where an absorber shows ambiguous component
*          structure or a high degree of uncertainty as to line width and/or
*          continuum fit, but a broad HI system component cannot be reasonably
*          ruled out. Forty-eight HI absorbers fall in this category.
*   No   = Non-BLA. Nearly half (56/119) of the HI lines with b>=40km/s published
*          by Lehner et al. (2007ApJ...658..680L) or Danforth & Shull (2008,
*          Cat. J/ApJ/679/194) are most likely not BLAs by our assessment for a
*          variety of reasons: measured b_COG_<40km/s or b_LW_<40km/s; probable
*          alternate line identification; obvious narrow component structure; or
*          simply not detected as absorption features in our reduction of the
*          data.
*Note (2): Line width is usually denoted in terms of the corresponding Doppler
*          parameter b~FWHM/2(ln2)^0.5^~(2{sigma})^0.5^ where {sigma} is the
*          Gaussian width. See section 1 for further details.
*Note (3): Flag as follows:
*   Nd   = Non detected
*   Nm   = Non measured
*   LW   = Ly{alpha} line width
*   COG  = curve of growth
*Note (4): Measurement sources as follows:
*   L07  = Lehner et al. 2007ApJ...658..680L (and sources therein);
*   DS08 = Danforth & Shull 2008, Cat. J/ApJ/679/194;
*   W06  = Williger et al. 2006, Cat. J/ApJ/636/631;
*   S05  = Savage et al. 2005ApJ...626..776S;
*   S04  = Sembach et al. 2004, Cat. J/ApJS/155/351;
*   R04  = Richter et al. 2004ApJS..153..165R;
*   This = this work.

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

C  Loading file 'table1.dat'	! Broad Lyman{alpha} (BLA) sample sight lines

C  Format for file interpretation

    1 format(
     +  A12,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,F5.3,1X,F5.3,
     +  1X,F5.3,1X,A79)

C  Effective file loading

      open(unit=1,file='table1.dat', status='old')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,7
        read(1,'(A131)')ar__
        read(ar__,1)
     +  AGN,RAh,RAm,RAs,DE_,DEd,DEm,DEs,zAGN,Delz,DelX,Ref
c       Derive coordinates RA_ and Dec from input data
c       (RA_ and Dec are set to rNULL_ when unknown)
        RA_ = RAh
        if(RAh .GE. 0) RA_=RAh*15.
        if(RAm .GE. 0) RA_=RA_+RAm/4.
        if(RAs .GE. 0) RA_=RA_+RAs/240.
        Dec = DEd
        if(DEm .GE. 0) Dec=Dec+DEm/60.
        if(DEs .GE. 0) Dec=Dec+DEs/3600.
        if(DE_.EQ.'-'.AND.Dec.GE.0) Dec=-Dec
c    ..............Just test output...........
        write(6,1)
     +  AGN,RAh,RAm,RAs,DE_,DEd,DEm,DEs,zAGN,Delz,DelX,Ref
        write(6,'(6H Pos: 2F8.4)') RA_,Dec
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Probable, possible, and non-BLA absorbers

C  Format for file interpretation

    2 format(
     +  A2,1X,A12,1X,F7.5,1X,I3,A1,1X,I2,1X,I2,1X,I2,1X,A3,1X,F5.2,A1,
     +  1X,F4.2,1X,F4.2,A2,1X,A3,1X,I3,A1,1X,I2,1X,I2,1X,I2,1X,A3,1X,
     +  A1,F5.2,1X,F4.2,1X,F4.2,1X,A2,1X,A4,1X,I3,A1,1X,I2,1X,A3,1X,
     +  F5.2,A2,1X,A38)

C  Effective file loading

      open(unit=1,file='table2.dat', status='old')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,119
        read(1,'(A166)')ar__1
        read(ar__1,2)
     +  Abs,AGN_1,zabs,b1,u_b1,E_b1,e_b1_1,b1d,n_b1,logN1,u_logN1,
     +  E_logN1,e_logN1_1,n_logN1,Ref_1,b2,u_b2,E_b2,e_b2_1,b2d,n_b2,
     +  l_logN2,logN2,E_logN2,e_logN2_1,n_logN2,Ref2,b0,u_b0,b0d,n_b0,
     +  logN0,n_logN0,Notes
        if(ar__1(25:27) .EQ. '') b1 = iNULL__
        if(ar__1(30:31) .EQ. '') E_b1 = iNULL__
        if(ar__1(33:34) .EQ. '') e_b1_1 = iNULL__
        if(ar__1(36:37) .EQ. '') b1d = iNULL__
        if(ar__1(43:47) .EQ. '') logN1 = rNULL__
        if(ar__1(50:53) .EQ. '') E_logN1 = rNULL__
        if(ar__1(55:58) .EQ. '') e_logN1_1 = rNULL__
        if(ar__1(66:68) .EQ. '') b2 = iNULL__
        if(ar__1(71:72) .EQ. '') E_b2 = iNULL__
        if(ar__1(74:75) .EQ. '') e_b2_1 = iNULL__
        if(ar__1(77:78) .EQ. '') b2d = iNULL__
        if(ar__1(85:89) .EQ. '') logN2 = rNULL__
        if(ar__1(91:94) .EQ. '') E_logN2 = rNULL__
        if(ar__1(96:99) .EQ. '') e_logN2_1 = rNULL__
        if(ar__1(109:111) .EQ. '') b0 = iNULL__
        if(ar__1(114:115) .EQ. '') b0d = iNULL__
        if(ar__1(121:125) .EQ. '') logN0 = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Abs,AGN_1,zabs,b1,u_b1,E_b1,e_b1_1,b1d,n_b1,logN1,u_logN1,
     +  E_logN1,e_logN1_1,n_logN1,Ref_1,b2,u_b2,E_b2,e_b2_1,b2d,n_b2,
     +  l_logN2,logN2,E_logN2,e_logN2_1,n_logN2,Ref2,b0,u_b0,b0d,n_b0,
     +  logN0,n_logN0,Notes
c    .......End.of.Just test output...........
      end do
      close(1)

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