FORTRAN Generation
(/./ftp/cats/J/ApJS/150/165)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJS/150/165 into FORTRAN code for loading all data files into arrays.

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-Jun-08
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/ApJS/150/165      AGNs emission-line from Post-COSTAR   (Kuraszkiewicz+, 2004)
*================================================================================
*Emission line properties of active galactic nuclei from a Post-COSTAR Hubble
*Space Telescope Faint Object Spectrograph spectral atlas.
*    Kuraszkiewicz J.K., Green P.J., Crenshaw D.M., Dunn J., Forster K.,
*    Vestergaard M., Aldcroft T.L.
*   <Astrophys. J. Suppl. Ser., 150, 165 (2004)>
*   =2004ApJS..150..165K
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! List of objects and spectra

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

      character*9   Name       (nr__) ! Object designation (1)
      character*1   f_Name     (nr__) ! [*] BL Lac object, see note (2)
      character*14  CName      (nr__) ! Common name
      character*5   Type       (nr__) ! AGN type (3)
      real*4        z          (nr__) ! Redshift
      real*4        NH         (nr__) ! (10+20cm-2) Neutral hydrogen column density
      character*11  NSpect     (nr__) ! Spectrum name (G1)
*Note (1): Based on the equinox J2000 position (in standard IAU format
*           consisting of HHMM+/-DDMM).
*Note (2): We include this BL Lac object as it shows weak emission lines.
*Note (3): AGN types are as follows:
*      Q = QSO;
*    Sy1 = Seyfert 1;
*    Sy2 = Seyfert 2;
*   NLS1 = Narrow Line Seyfert 1;
*   NLRG = Narrow Line Radio Galaxy.

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

C  Declarations for 'table2.dat'	! Representative list of objects and FOS spectra

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

      character*11  NSpect_1   (nr__1) ! Spectrum name (G1)
      character*9   Dataset    (nr__1) ! HST Dataset
      character*2   Config     (nr__1) ! FOC configuration
      character*5   Grating    (nr__1) ! Grating
      real*8        Exp        (nr__1) ! (s) Exposure time
      character*11  Time       (nr__1) ! ("MMM-DD-YYYY") Date of observation

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

C  Declarations for 'table3.dat'	! Continuum parameters

      integer*4 nr__2
      parameter (nr__2=220)	! Number of records
      character*76 ar__2  	! Full-size record

      character*11  NSpect_2   (nr__2) ! Spectrum name (G1)
      character*1   f_NSpect   (nr__2) ! [*] See notes on spectra in Appendix
      real*4        GammaUV    (nr__2) ! ? UV power law continuum slope (2)
      real*4        E_GammaUV  (nr__2) ! ? Upper 2{sigma} error in GammaUV
      real*4        e_GammaUV_1(nr__2) ! ? Lower 2{sigma} error in GammaUV
      real*4        F_norm     (nr__2) ! (10-16W/m2/nm) Normalization of UV power law in units of
*                                       10^-14^erg/cm^2^/s/{AA} (2)
      real*4        E_F_norm   (nr__2) ! (10-16W/m2/nm) Upper 2{sigma} error in F(norm)
      real*4        e_F_norm_1 (nr__2) ! (10-16W/m2/nm) Lower 2{sigma} error in F(norm)
      real*4        WLnorm     (nr__2) ! (0.1nm) Observed norm wavelength in Angstroems
      real*4        GammaOpt   (nr__2) ! ? Optical power law continuum slope (2)
      real*4        E_GammaOpt (nr__2) ! ? Upper 2{sigma} error in GammaOpt
      real*4        e_GammaOpt_1(nr__2) ! ? Lower 2{sigma} error in GammaOpt
*Note (2): The dereddened continuum spectrum is fitted as
*       F({lambda}) = F(norm) . {lambda}^-GammaUV^   
*    for UV wavelengths ({lambda}_rest_<4200{AA}), and
*       F({lambda}) = F(norm) . {lambda}^-GammaOpt^.
*    for optical wavelengths ({lambda}_rest_>4200{AA}).
*    Slopes with no listed errors show the assumed slope value in cases
*    where only a single continuum window was available.

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

C  Declarations for 'table4a.dat'	! Emission line measurements

      integer*4 nr__3
      parameter (nr__3=9460)	! Number of records
      character*135 ar__3  	! Full-size record

      character*11  NSpect_3   (nr__3) ! Spectrum name (G1)
      real*8        z_1        (nr__3) ! Redshift
      character*17  Line       (nr__3) ! Emission line identification
      integer*4     FWHM       (nr__3) ! (km/s) Rest frame Full Width at Half Maximum
      integer*4     E_FWHM     (nr__3) ! (km/s) Upper 2{sigma} error limit on FWHM
      integer*4     e_FWHM_1   (nr__3) ! (km/s) Lower 2{sigma} error limit on FWHM
      integer*4     VPeak      (nr__3) ! (km/s) Gaussian emission line model peak offset from
*                                   expected position based on tabulated redshift
      integer*4     E_VPeak    (nr__3) ! (km/s) Upper 2{sigma} error limit on VPeak
      integer*4     e_VPeak_1  (nr__3) ! (km/s) Lower 2{sigma} error limit on VPeak
      real*8        EW         (nr__3) ! (0.1nm) Rest frame equivalent width in Angstroms
      real*4        E_EW       (nr__3) ! (0.1nm) Upper 2{sigma} error limit on EW (2)
      real*4        e_EW_1     (nr__3) ! (0.1nm) Lower 2{sigma} error limit on EW (2)
      real*8        Flux       (nr__3) ! (10-17W/m2) Observed flux in units of 10^-14^erg/s/cm^2^
      real*4        E_Flux     (nr__3) ! (10-17W/m2) Upper 2{sigma} error limit on Flux (2)
      real*4        e_Flux_1   (nr__3) ! (10-17W/m2) Lower 2{sigma} error limit on Flux (2)
      integer*4     o_Line     (nr__3) ! ? Number of narrow absorption features
*                                     used in the emission line modeling
*Note (2): Based on the uncertainties in the amplitude and FWHM of the
*    Gaussian model and do not include an error from an uncertainty in the
*    underlying continuum flux level which we estimate to be about 10%. For
*    emission lines where only an upper limit on Flux and EW is available,
*    no values for the VPeak are quoted as the position of the line was
*    fixed at the line's expected wavelength. Also, the FWHM value in this
*    case was set to the median value for the LBQS sample (see Table 3,
*    Paper II, <J/ApJS/143/257>) with no associated errors.

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

C  Declarations for 'table4b.dat'	! Total line FWHM measurements

      integer*4 nr__4
      parameter (nr__4=220)	! Number of records
      character*155 ar__4  	! Full-size record

      character*11  NSpect_4   (nr__4) ! Spectrum name (G1)
      integer*4     Lya        (nr__4) ! (km/s) ?=0 Rest frame FWHM of total Ly{alpha}
      integer*4     E_Lya      (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on Lya
      integer*4     e_Lya_1    (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on Lya
      integer*4     CIV        (nr__4) ! (km/s) ?=0 Rest frame FWHM of total CIV
      integer*4     E_CIV      (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on CIV
      integer*4     e_CIV_1    (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on CIV
      integer*4     CIII       (nr__4) ! (km/s) ?=0 Rest frame FWHM of total CIII]
      integer*4     E_CIII     (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on CIII
      integer*4     e_CIII_1   (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on CIII
      integer*4     MgII       (nr__4) ! (km/s) ?=0 Rest frame FWHM of total MgII
      integer*4     E_MgII     (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on MgII
      integer*4     e_MgII_1   (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on MgII
      integer*4     Hb         (nr__4) ! (km/s) ?=0 Rest frame FWHM of total H{beta}
      integer*4     E_Hb       (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on Hb
      integer*4     e_Hb_1     (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on Hb
      integer*4     Ha         (nr__4) ! (km/s) ?=0 Rest frame FWHM of total H{alpha}
      integer*4     E_Ha       (nr__4) ! (km/s) ?=0 Upper 2{sigma} error limit on Ha
      integer*4     e_Ha_1     (nr__4) ! (km/s) ?=0 Lower 2{sigma} error limit on Ha

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

C  Loading file 'table1.dat'	! List of objects and spectra

C  Format for file interpretation

    1 format(A9,A1,1X,A14,1X,A5,1X,F5.3,2X,F5.2,1X,A11)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,220
        read(1,'(A58)')ar__
        read(ar__,1)
     +  Name(i__),f_Name(i__),CName(i__),Type(i__),z(i__),NH(i__),
     +  NSpect(i__)
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),f_Name(i__),CName(i__),Type(i__),z(i__),NH(i__),
     +  NSpect(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Representative list of objects and FOS spectra

C  Format for file interpretation

    2 format(A11,2X,A9,3X,A2,2X,A5,2X,F7.1,3X,A11)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,707
        read(1,'(A57)')ar__1
        read(ar__1,2)
     +  NSpect_1(i__),Dataset(i__),Config(i__),Grating(i__),Exp(i__),
     +  Time(i__)
c    ..............Just test output...........
        write(6,2)
     +  NSpect_1(i__),Dataset(i__),Config(i__),Grating(i__),Exp(i__),
     +  Time(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Continuum parameters

C  Format for file interpretation

    3 format(
     +  A11,A1,1X,F5.2,1X,F4.2,1X,F5.2,1X,F6.3,1X,F5.3,1X,F5.3,1X,
     +  F6.1,1X,F5.2,1X,F6.2,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,220
        read(1,'(A76)')ar__2
        read(ar__2,3)
     +  NSpect_2(i__),f_NSpect(i__),GammaUV(i__),E_GammaUV(i__),
     +  e_GammaUV_1(i__),F_norm(i__),E_F_norm(i__),e_F_norm_1(i__),
     +  WLnorm(i__),GammaOpt(i__),E_GammaOpt(i__),e_GammaOpt_1(i__)
        if(ar__2(14:18) .EQ. '') GammaUV(i__) = rNULL__
        if(ar__2(20:23) .EQ. '') E_GammaUV(i__) = rNULL__
        if(ar__2(25:29) .EQ. '') e_GammaUV_1(i__) = rNULL__
        if(ar__2(57:61) .EQ. '') GammaOpt(i__) = rNULL__
        if(ar__2(63:68) .EQ. '') E_GammaOpt(i__) = rNULL__
        if(ar__2(70:74) .EQ. '') e_GammaOpt_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  NSpect_2(i__),f_NSpect(i__),GammaUV(i__),E_GammaUV(i__),
     +  e_GammaUV_1(i__),F_norm(i__),E_F_norm(i__),e_F_norm_1(i__),
     +  WLnorm(i__),GammaOpt(i__),E_GammaOpt(i__),e_GammaOpt_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4a.dat'	! Emission line measurements

C  Format for file interpretation

    4 format(
     +  A11,1X,F8.5,1X,A17,1X,I5,2X,I5,1X,I5,2X,I5,2X,I5,1X,I5,2X,
     +  F7.2,3X,F6.2,2X,F6.2,2X,F7.2,3X,F6.2,2X,F6.2,1X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4a.dat')
      write(6,*) '....Loading file: table4a.dat'
      do i__=1,9460
        read(1,'(A135)')ar__3
        read(ar__3,4)
     +  NSpect_3(i__),z_1(i__),Line(i__),FWHM(i__),E_FWHM(i__),
     +  e_FWHM_1(i__),VPeak(i__),E_VPeak(i__),e_VPeak_1(i__),EW(i__),
     +  E_EW(i__),e_EW_1(i__),Flux(i__),E_Flux(i__),e_Flux_1(i__),
     +  o_Line(i__)
        if(ar__3(131:132) .EQ. '') o_Line(i__) = iNULL__
c    ..............Just test output...........
        write(6,4)
     +  NSpect_3(i__),z_1(i__),Line(i__),FWHM(i__),E_FWHM(i__),
     +  e_FWHM_1(i__),VPeak(i__),E_VPeak(i__),e_VPeak_1(i__),EW(i__),
     +  E_EW(i__),e_EW_1(i__),Flux(i__),E_Flux(i__),e_Flux_1(i__),
     +  o_Line(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4b.dat'	! Total line FWHM measurements

C  Format for file interpretation

    5 format(
     +  A11,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,
     +  I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4b.dat')
      write(6,*) '....Loading file: table4b.dat'
      do i__=1,220
        read(1,'(A155)')ar__4
        read(ar__4,5)
     +  NSpect_4(i__),Lya(i__),E_Lya(i__),e_Lya_1(i__),CIV(i__),
     +  E_CIV(i__),e_CIV_1(i__),CIII(i__),E_CIII(i__),e_CIII_1(i__),
     +  MgII(i__),E_MgII(i__),e_MgII_1(i__),Hb(i__),E_Hb(i__),
     +  e_Hb_1(i__),Ha(i__),E_Ha(i__),e_Ha_1(i__)
c    ..............Just test output...........
        write(6,5)
     +  NSpect_4(i__),Lya(i__),E_Lya(i__),e_Lya_1(i__),CIV(i__),
     +  E_CIV(i__),e_CIV_1(i__),CIII(i__),E_CIII(i__),e_CIII_1(i__),
     +  MgII(i__),E_MgII(i__),e_MgII_1(i__),Hb(i__),E_Hb(i__),
     +  e_Hb_1(i__),Ha(i__),E_Ha(i__),e_Ha_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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