FORTRAN Generation
(/./ftp/cats/J/ApJ/948/35)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJ/948/35 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-Aug-12
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/948/35 Abundances of optically thick Ly{alpha} absorbers (Saccardi+, 2023)
*================================================================================
*Evidence of first stars-enriched gas in high-redshift absorbers.
*    Saccardi A., Salvadori S., D'Odorico V., Cupani G., Fumagalli M.,
*    Berg T.A.M., Becker G.D., Ellison S., Lopez S.
*   <Astrophys. J., 948, 35 (2023)>
*   =2023ApJ...948...35S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2.dat'	! Absorption redshift, neutral hydrogen column density,
                            iron abundance, and relative chemical abundances for
                            all absorption systems with a measure/Upper limit
                            of FeII

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

      character*10  Name        ! QSO name (JHHMM+DDMM) (G1)
      character*3   f_Name      ! Flag(s) on Name (1)
      real*8        zabs        ! [3/4.3] Absorption redshift
      real*4        NHI         ! [17.2/19.9] Neutral hydrogen column density
      real*4        e_NHI       ! [0.15/0.3] NHI uncertainty
      real*4        logZ        ! ([Sun]) [-2.91/-0.25] Metal abundance
      character*1   l__Fe_H_    ! Limit flag on [Fe/H]
      real*4        v_Fe_H_     ! ([Sun]) [-3.3/0.8] Fe/H abundance
      real*4        e__Fe_H_    ! ([Sun]) [0.1/0.3]? [Fe/H] uncertainty
      character*1   l__C_H_     ! Limit flag on [C/H]
      real*4        v_C_H_      ! ([Sun]) [-2.55/2.1] C/H abundance
      real*4        e__C_H_     ! ([Sun]) [0.13/0.2]? [C/H] uncertainty
      character*1   l__O_H_     ! Limit flag on [O/H]
      real*4        v_O_H_      ! ([Sun]) [-2.5/2.2]? O/H abundance
      real*4        e__O_H_     ! ([Sun]) [0.16/0.3]? [O/H] uncertainty
      character*1   l__Mg_H_    ! Limit flag on [Mg/H]
      real*4        v_Mg_H_     ! ([Sun]) [-2.52/0.96]? Mg/H abundance
      real*4        e__Mg_H_    ! ([Sun]) [0.14/0.3]? [Mg/H] uncertainty
      real*4        v_Al_H_     ! ([Sun]) [-3.2/-0.09]? Al/H abundance
      real*4        e__Al_H_    ! ([Sun]) [0.1/0.3]? [Al/H] uncertainty
      real*4        v_Si_H_     ! ([Sun]) [-2.51/0.1] Si/H abundance
      real*4        e__Si_H_    ! ([Sun]) [0.12/0.3] [Si/H] uncertainty
      character*1   l__C_Fe_    ! Limit flag on [C/Fe]
      real*4        v_C_Fe_     ! ([Sun]) [-2.17/1.9] C/Fe abundance (2)
      real*4        e__C_Fe_    ! ([Sun]) [0.07/0.3]? [C/Fe] uncertainty
*Note (1): Flag as follows:
*   b = Very metal-poor absorption systems with [Fe/H]{<}-2
*   c = The carbon-enhanced very metal-poor absorbers
*Note (2): [C/Fe] is computed directly by using the carbon and
*          iron column densities.

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

C  Declarations for 'table6.dat'	! Voigt fit parameters

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

      character*10  Name_1      ! System identifier (G1)
      real*8        zAvg        ! [3/4.3] Average spectroscopic redshift of system
      character*49  Trans       ! Transition
      real*8        z           ! [3/4.5] Central spectroscopic redshift from Trans
      character*1   l_logN      ! Limit flag on logN
      real*4        logN        ! ([cm-2]) [11.1/17.5] log column density in Trans
      real*4        e_logN      ! ([cm-2]) [0/0.7]? Uncertainty in logN
      real*4        b           ! [5/66]? Doppler broadening parameter
      real*4        e_b         ! [0/10]? Uncertainty in b

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

C  Loading file 'table2.dat'	! Absorption redshift, neutral hydrogen column density,
*                            iron abundance, and relative chemical abundances for
*                            all absorption systems with a measure/Upper limit
*                            of FeII

C  Format for file interpretation

    1 format(
     +  A10,1X,A3,1X,F7.5,1X,F5.2,1X,F4.2,1X,F5.2,1X,A1,1X,F5.2,1X,
     +  F4.2,1X,A1,1X,F5.2,1X,F4.2,1X,A1,1X,F5.2,1X,F4.2,1X,A1,1X,
     +  F5.2,1X,F4.2,1X,F5.2,1X,F4.2,1X,F5.2,1X,F4.2,1X,A1,1X,F5.2,1X,
     +  F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,30
        read(1,'(A126)')ar__
        read(ar__,1)
     +  Name,f_Name,zabs,NHI,e_NHI,logZ,l__Fe_H_,v_Fe_H_,e__Fe_H_,
     +  l__C_H_,v_C_H_,e__C_H_,l__O_H_,v_O_H_,e__O_H_,l__Mg_H_,
     +  v_Mg_H_,e__Mg_H_,v_Al_H_,e__Al_H_,v_Si_H_,e__Si_H_,l__C_Fe_,
     +  v_C_Fe_,e__C_Fe_
        if(ar__(49:52) .EQ. '') e__Fe_H_ = rNULL__
        if(ar__(62:65) .EQ. '') e__C_H_ = rNULL__
        if(ar__(69:73) .EQ. '') v_O_H_ = rNULL__
        if(ar__(75:78) .EQ. '') e__O_H_ = rNULL__
        if(ar__(82:86) .EQ. '') v_Mg_H_ = rNULL__
        if(ar__(88:91) .EQ. '') e__Mg_H_ = rNULL__
        if(ar__(93:97) .EQ. '') v_Al_H_ = rNULL__
        if(ar__(99:102) .EQ. '') e__Al_H_ = rNULL__
        if(ar__(123:126) .EQ. '') e__C_Fe_ = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Name,f_Name,zabs,NHI,e_NHI,logZ,l__Fe_H_,v_Fe_H_,e__Fe_H_,
     +  l__C_H_,v_C_H_,e__C_H_,l__O_H_,v_O_H_,e__O_H_,l__Mg_H_,
     +  v_Mg_H_,e__Mg_H_,v_Al_H_,e__Al_H_,v_Si_H_,e__Si_H_,l__C_Fe_,
     +  v_C_Fe_,e__C_Fe_
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table6.dat'	! Voigt fit parameters

C  Format for file interpretation

    2 format(
     +  A10,1X,F7.5,1X,A49,1X,F9.7,1X,A1,F6.3,1X,F5.3,1X,F6.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,577
        read(1,'(A105)')ar__1
        read(ar__1,2)Name_1,zAvg,Trans,z,l_logN,logN,e_logN,b,e_b
        if(ar__1(88:92) .EQ. '') e_logN = rNULL__
        if(ar__1(94:99) .EQ. '') b = rNULL__
        if(ar__1(101:105) .EQ. '') e_b = rNULL__
c    ..............Just test output...........
        write(6,2)Name_1,zAvg,Trans,z,l_logN,logN,e_logN,b,e_b
c    .......End.of.Just test output...........
      end do
      close(1)

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