FORTRAN Generation
(/./ftp/cats/J/ApJS/221/24)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJS/221/24 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-Sep-10
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/221/24    SDSS-III APOGEE H-band spectral line lists    (Shetrone+, 2015)
*================================================================================
*The SDSS-III APOGEE spectral line list for H-band spectroscopy.
*    Shetrone M., Bizyaev D., Lawler J.E., Allende Prieto C., Johnson J.A.,
*    Smith V.V., Cunha K., Holtzman J., Garcia Perez A.E., Meszaros SZ.,
*    Sobeck J., Zamora O., Garcia-Hernandez D.A., Souto D., Chojnowski D.,
*    Koesterke L., Majewski S., Zasowski G.
*   <Astrophys. J. Suppl. Ser., 221, 24 (2015)>
*   =2015ApJS..221...24S    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table6.dat'	! Missing lines

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

      real*8        lambda      ! (0.1nm) [15174.1/16945.8] Vacuum wavelength in Angstroms
      integer*4     EW          ! (10-13m) [10/219]? Equivalent width in milli-Angstroms
      character*1   f_EW        ! Flag on EqWid (e=emission or N=N/A)
      character*10  Notes       ! [ ,a-k] Additional notes (1)
*Note (1): Note as follows:
*    a = Seen in the cool APOGEE giant spectra residual;
*    b = Seen in the hot APOGEE spectra residual;
*    c = Between APOGEE detectors;
*    d = all FTS stars;
*    e = only M FTS stars;
*    f = found only in HD199799;
*    g = see Hasselquist et al. 2016 in prep.;
*    h = Seen in cool APOGEE dwarf spectra residuals
*    i = Seen in APOGEE Be spectra, see Chojnowski et al. (2015, J/AJ/149/7)
*    j = This may be a DIB feature, see Zasowski et al. (2015ApJ...798...35Z)
*    k = This may be a DIB feature, see Geballe et al. (2011Natur.479..200G).

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

C  Declarations for 'table7.dat'	! *ASPCAP DR12 (20131216) line list

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

      real*8        lambda_1    ! (nm) [1500.4/1700.5] Vacuum wavelength
      real*8        orggf       ! ([-]) [-16.8/1.2]? Original log(gf) value
      real*8        newgf       ! ([-]) [-9.5/1.1]? Improved literature or
*                              laboratory log(gf)
      real*4        e_newgf     ! ([-]) [0.01/1]? Error in newgf, when available
      character*3   r_newgf     ! Source for newgf
      real*8        astgf       ! ([-]) [-14.7/1.3]? Astrophysical log(gf)
      character*3   r_astgf     ! Source for astrogf
      real*8        specid      ! [1/608.18] Species identifier
      real*8        EP1         ! (cm-1) [0/771723.1] Lower Energy Level
      real*4        J1          ! [0/159] J value for EP1
      character*11  EP1id       ! EP1 level identification
      real*8        EP2         ! (cm-2) [6200.7/778194.1] Upper Energy Level
      real*4        J2          ! [0/160] J value for EP2
      character*11  EP2id       ! EP2 level identification
      real*4        Rad         ! [0/11.1]? Damping Rad
      real*4        Sta         ! [-8/0]? Damping Stark
      real*4        vdW         ! [-8.4/0]? Damping vdW
      integer*4     unlte       ! [0/99]? NLTE level number upper
      integer*4     lnlte       ! [0/99]? NLTE level number lower
      integer*4     iso1        ! [0/65]? First isotope number
      real*4        hyp         ! ([-]) [-9.999/0]? Hyperfine component log fractional
*                              strength
      integer*4     iso2        ! [0/65]? Second isotope number
      real*4        isof        ! ([-]) [-4/0]? Log isotopic abundance fraction
      integer*4     hE1         ! (mK) [-520/425]? Hyperfine shift for 1st level to be
*                              added to E1
      integer*4     hE2         ! (mK) [-603/469]? Hyperfine shift for 1st level to be
*                              added to E2
      character*1   F0          ! [F] Hyperfine F symbol
      integer*4     F1          ! [0/9]? Hyperfine F for the first level
      character*1   Note1       ! [?z] Note on character of hyperfine data
*                              for first level (z=none; ?=guessed)
      character*1   S           ! [-] The symbol "-" for legibility
      integer*4     F2          ! [0/9]? Hyperfine F' for the second level
      character*1   note2       ! [?z] Note on character of hyperfine data for
*                              second level (z=none; ?=guessed)
      integer*4     g1          ! [-720/3934]? Lande g for first level times 1000
      integer*4     g2          ! [-689/4006]? Lande g for second level times 1000
      character*3   vdWorg      ! Source for the original vdW damping
      real*4        vdWast      ! [-8.1/-5.2]? Astrophysical vdW damping

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

C  Declarations for 'table8.dat'	! *ASPCAP INT (20120216) line list

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

      real*8        lambda_2    ! (nm) [1500.4/1700.5] Vacuum wavelength
      real*8        orggf_1     ! ([-]) [-16.8/1.2]? Original log(gf) value
      real*8        newgf_1     ! ([-]) [-9.5/1.1]? Improved literature or
*                              laboratory log(gf)
      real*4        e_newgf_1   ! ([-]) [0.01/1]? Error in newgf, when available
      character*3   r_newgf_1   ! Source for newgf
      real*8        astgf_1     ! ([-]) [-14.7/1.3]? Astrophysical log(gf)
      character*3   r_astgf_1   ! Source for astrogf
      real*8        specid_1    ! [1/608.18] Species identifier
      real*8        EP1_1       ! (cm-1) [0/771723.1] Lower Energy Level
      real*4        J1_1        ! [0/159] J value for EP1
      character*11  EP1id_1     ! EP1 level identification
      real*8        EP2_1       ! (cm-2) [6200.7/778194.1] Upper Energy Level
      real*4        J2_1        ! [0/160] J value for EP2
      character*11  EP2id_1     ! EP2 level identification
      real*4        Rad_1       ! [0/11.1]? Damping Rad
      real*4        Sta_1       ! [-8/0]? Damping Stark
      real*4        vdW_1       ! [-8.4/0]? Damping vdW
      integer*4     unlte_1     ! [0/99]? NLTE level number upper
      integer*4     lnlte_1     ! [0/99]? NLTE level number lower
      integer*4     iso1_1      ! [0/65]? First isotope number
      real*4        hyp_1       ! ([-]) [-9.999/0]? Hyperfine component log fractional
*                              strength
      integer*4     iso2_1      ! [0/65]? Second isotope number
      real*4        isof_1      ! ([-]) [-4/0]? Log isotopic abundance fraction
      integer*4     hE1_1       ! (mK) [-520/425]? Hyperfine shift for 1st level to be
*                              added to E1
      integer*4     hE2_1       ! (mK) [-603/469]? Hyperfine shift for 1st level to be
*                              added to E2
      character*1   F0_1        ! [F] Hyperfine F symbol
      integer*4     F1_1        ! [0/9]? Hyperfine F for the first level
      character*1   Note1_1     ! [?z] Note on character of hyperfine data
*                              for first level (z=none; ?=guessed)
      character*1   S_1         ! [-] The symbol "-" for legibility
      integer*4     F2_1        ! [0/9]? Hyperfine F' for the second level
      character*1   note2_1     ! [?z] Note on character of hyperfine data for
*                              second level (z=none; ?=guessed)
      integer*4     g1_1        ! [-720/3934]? Lande g for first level times 1000
      integer*4     g2_1        ! [-689/4006]? Lande g for second level times 1000
      character*3   vdWorg_1    ! Source for the original vdW damping
      real*4        vdWast_1    ! [-8.1/-5.2]? Astrophysical vdW damping

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

C  Declarations for 'table9.dat'	! *ASPCAP DR10 (20110510) line list

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

      real*8        lambda_3    ! (nm) [1500.4/1700.5] Vacuum wavelength
      real*8        orggf_2     ! ([-]) [-16.8/1.2]? Original log(gf) value
      real*8        newgf_2     ! ([-]) [-9.5/1.1]? Improved literature or
*                              laboratory log(gf)
      real*4        e_newgf_2   ! ([-]) [0.01/1]? Error in newgf, when available
      character*3   r_newgf_2   ! Source for newgf
      real*8        astgf_2     ! ([-]) [-14.7/1.3]? Astrophysical log(gf)
      character*3   r_astgf_2   ! Source for astrogf
      real*8        specid_2    ! [1/608.18] Species identifier
      real*8        EP1_2       ! (cm-1) [0/771723.1] Lower Energy Level
      real*4        J1_2        ! [0/159] J value for EP1
      character*11  EP1id_2     ! EP1 level identification
      real*8        EP2_2       ! (cm-2) [6200.7/778194.1] Upper Energy Level
      real*4        J2_2        ! [0/160] J value for EP2
      character*11  EP2id_2     ! EP2 level identification
      real*4        Rad_2       ! [0/11.1]? Damping Rad
      real*4        Sta_2       ! [-8/0]? Damping Stark
      real*4        vdW_2       ! [-8.4/0]? Damping vdW
      integer*4     unlte_2     ! [0/99]? NLTE level number upper
      integer*4     lnlte_2     ! [0/99]? NLTE level number lower
      integer*4     iso1_2      ! [0/65]? First isotope number
      real*4        hyp_2       ! ([-]) [-9.999/0]? Hyperfine component log fractional
*                              strength
      integer*4     iso2_2      ! [0/65]? Second isotope number
      real*4        isof_2      ! ([-]) [-4/0]? Log isotopic abundance fraction
      integer*4     hE1_2       ! (mK) [-520/425]? Hyperfine shift for 1st level to be
*                              added to E1
      integer*4     hE2_2       ! (mK) [-603/469]? Hyperfine shift for 1st level to be
*                              added to E2
      character*1   F0_2        ! [F] Hyperfine F symbol
      integer*4     F1_2        ! [0/9]? Hyperfine F for the first level
      character*1   Note1_2     ! [?z] Note on character of hyperfine data
*                              for first level (z=none; ?=guessed)
      character*1   S_2         ! [-] The symbol "-" for legibility
      integer*4     F2_2        ! [0/9]? Hyperfine F' for the second level
      character*1   note2_2     ! [?z] Note on character of hyperfine data for
*                              second level (z=none; ?=guessed)
      integer*4     g1_2        ! [-720/3934]? Lande g for first level times 1000
      integer*4     g2_2        ! [-689/4006]? Lande g for second level times 1000
      character*3   vdWorg_2    ! Source for the original vdW damping
      real*4        vdWast_2    ! [-8.1/-5.2]? Astrophysical vdW damping

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

C  Loading file 'table6.dat'	! Missing lines

C  Format for file interpretation

    1 format(F7.1,1X,I3,A1,1X,A10)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,445
        read(1,'(A23)')ar__
        read(ar__,1)lambda,EW,f_EW,Notes
        if(ar__(9:11) .EQ. '') EW = iNULL__
c    ..............Just test output...........
        write(6,1)lambda,EW,f_EW,Notes
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table7.dat'	! *ASPCAP DR12 (20131216) line list

C  Format for file interpretation

    2 format(
     +  F9.4,1X,F7.3,1X,F7.3,1X,F4.2,1X,A3,F7.3,1X,A3,1X,F8.2,F12.3,
     +  F5.1,A11,F12.3,F5.1,A11,F6.2,F6.2,F6.2,1X,I2,I2,I3,F6.3,I3,
     +  F6.3,I5,I5,A1,I1,A1,A1,I1,A1,I5,I5,A3,F6.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table7.dat')
      write(6,*) '....Loading file: table7.dat'
      do i__=1,134457
        read(1,'(A186)')ar__1
        read(ar__1,2)
     +  lambda_1,orggf,newgf,e_newgf,r_newgf,astgf,r_astgf,specid,EP1,
     +  J1,EP1id,EP2,J2,EP2id,Rad,Sta,vdW,unlte,lnlte,iso1,hyp,iso2,
     +  isof,hE1,hE2,F0,F1,Note1,S,F2,note2,g1,g2,vdWorg,vdWast
        if(ar__1(11:17) .EQ. '') orggf = rNULL__
        if(ar__1(19:25) .EQ. '') newgf = rNULL__
        if(ar__1(27:30) .EQ. '') e_newgf = rNULL__
        if(ar__1(35:41) .EQ. '') astgf = rNULL__
        if(ar__1(111:116) .EQ. '') Rad = rNULL__
        if(ar__1(117:122) .EQ. '') Sta = rNULL__
        if(ar__1(123:128) .EQ. '') vdW = rNULL__
        if(ar__1(130:131) .EQ. '') unlte = iNULL__
        if(ar__1(132:133) .EQ. '') lnlte = iNULL__
        if(ar__1(134:136) .EQ. '') iso1 = iNULL__
        if(ar__1(137:142) .EQ. '') hyp = rNULL__
        if(ar__1(143:145) .EQ. '') iso2 = iNULL__
        if(ar__1(146:151) .EQ. '') isof = rNULL__
        if(ar__1(152:156) .EQ. '') hE1 = iNULL__
        if(ar__1(157:161) .EQ. '') hE2 = iNULL__
        if(ar__1(163:163) .EQ. '') F1 = iNULL__
        if(ar__1(166:166) .EQ. '') F2 = iNULL__
        if(ar__1(168:172) .EQ. '') g1 = iNULL__
        if(ar__1(173:177) .EQ. '') g2 = iNULL__
        if(ar__1(181:186) .EQ. '') vdWast = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  lambda_1,orggf,newgf,e_newgf,r_newgf,astgf,r_astgf,specid,EP1,
     +  J1,EP1id,EP2,J2,EP2id,Rad,Sta,vdW,unlte,lnlte,iso1,hyp,iso2,
     +  isof,hE1,hE2,F0,F1,Note1,S,F2,note2,g1,g2,vdWorg,vdWast
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table8.dat'	! *ASPCAP INT (20120216) line list

C  Format for file interpretation

    3 format(
     +  F9.4,1X,F7.3,1X,F7.3,1X,F4.2,1X,A3,F7.3,1X,A3,1X,F8.2,F12.3,
     +  F5.1,A11,F12.3,F5.1,A11,F6.2,F6.2,F6.2,1X,I2,I2,I3,F6.3,I3,
     +  F6.3,I5,I5,A1,I1,A1,A1,I1,A1,I5,I5,A3,F6.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table8.dat')
      write(6,*) '....Loading file: table8.dat'
      do i__=1,134230
        read(1,'(A186)')ar__2
        read(ar__2,3)
     +  lambda_2,orggf_1,newgf_1,e_newgf_1,r_newgf_1,astgf_1,
     +  r_astgf_1,specid_1,EP1_1,J1_1,EP1id_1,EP2_1,J2_1,EP2id_1,
     +  Rad_1,Sta_1,vdW_1,unlte_1,lnlte_1,iso1_1,hyp_1,iso2_1,isof_1,
     +  hE1_1,hE2_1,F0_1,F1_1,Note1_1,S_1,F2_1,note2_1,g1_1,g2_1,
     +  vdWorg_1,vdWast_1
        if(ar__2(11:17) .EQ. '') orggf_1 = rNULL__
        if(ar__2(19:25) .EQ. '') newgf_1 = rNULL__
        if(ar__2(27:30) .EQ. '') e_newgf_1 = rNULL__
        if(ar__2(35:41) .EQ. '') astgf_1 = rNULL__
        if(ar__2(111:116) .EQ. '') Rad_1 = rNULL__
        if(ar__2(117:122) .EQ. '') Sta_1 = rNULL__
        if(ar__2(123:128) .EQ. '') vdW_1 = rNULL__
        if(ar__2(130:131) .EQ. '') unlte_1 = iNULL__
        if(ar__2(132:133) .EQ. '') lnlte_1 = iNULL__
        if(ar__2(134:136) .EQ. '') iso1_1 = iNULL__
        if(ar__2(137:142) .EQ. '') hyp_1 = rNULL__
        if(ar__2(143:145) .EQ. '') iso2_1 = iNULL__
        if(ar__2(146:151) .EQ. '') isof_1 = rNULL__
        if(ar__2(152:156) .EQ. '') hE1_1 = iNULL__
        if(ar__2(157:161) .EQ. '') hE2_1 = iNULL__
        if(ar__2(163:163) .EQ. '') F1_1 = iNULL__
        if(ar__2(166:166) .EQ. '') F2_1 = iNULL__
        if(ar__2(168:172) .EQ. '') g1_1 = iNULL__
        if(ar__2(173:177) .EQ. '') g2_1 = iNULL__
        if(ar__2(181:186) .EQ. '') vdWast_1 = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  lambda_2,orggf_1,newgf_1,e_newgf_1,r_newgf_1,astgf_1,
     +  r_astgf_1,specid_1,EP1_1,J1_1,EP1id_1,EP2_1,J2_1,EP2id_1,
     +  Rad_1,Sta_1,vdW_1,unlte_1,lnlte_1,iso1_1,hyp_1,iso2_1,isof_1,
     +  hE1_1,hE2_1,F0_1,F1_1,Note1_1,S_1,F2_1,note2_1,g1_1,g2_1,
     +  vdWorg_1,vdWast_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table9.dat'	! *ASPCAP DR10 (20110510) line list

C  Format for file interpretation

    4 format(
     +  F9.4,1X,F7.3,1X,F7.3,1X,F4.2,1X,A3,F7.3,1X,A3,1X,F8.2,F12.3,
     +  F5.1,A11,F12.3,F5.1,A11,F6.2,F6.2,F6.2,1X,I2,I2,I3,F6.3,I3,
     +  F6.3,I5,I5,A1,I1,A1,A1,I1,A1,I5,I5,A3,F6.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table9.dat')
      write(6,*) '....Loading file: table9.dat'
      do i__=1,134052
        read(1,'(A186)')ar__3
        read(ar__3,4)
     +  lambda_3,orggf_2,newgf_2,e_newgf_2,r_newgf_2,astgf_2,
     +  r_astgf_2,specid_2,EP1_2,J1_2,EP1id_2,EP2_2,J2_2,EP2id_2,
     +  Rad_2,Sta_2,vdW_2,unlte_2,lnlte_2,iso1_2,hyp_2,iso2_2,isof_2,
     +  hE1_2,hE2_2,F0_2,F1_2,Note1_2,S_2,F2_2,note2_2,g1_2,g2_2,
     +  vdWorg_2,vdWast_2
        if(ar__3(11:17) .EQ. '') orggf_2 = rNULL__
        if(ar__3(19:25) .EQ. '') newgf_2 = rNULL__
        if(ar__3(27:30) .EQ. '') e_newgf_2 = rNULL__
        if(ar__3(35:41) .EQ. '') astgf_2 = rNULL__
        if(ar__3(111:116) .EQ. '') Rad_2 = rNULL__
        if(ar__3(117:122) .EQ. '') Sta_2 = rNULL__
        if(ar__3(123:128) .EQ. '') vdW_2 = rNULL__
        if(ar__3(130:131) .EQ. '') unlte_2 = iNULL__
        if(ar__3(132:133) .EQ. '') lnlte_2 = iNULL__
        if(ar__3(134:136) .EQ. '') iso1_2 = iNULL__
        if(ar__3(137:142) .EQ. '') hyp_2 = rNULL__
        if(ar__3(143:145) .EQ. '') iso2_2 = iNULL__
        if(ar__3(146:151) .EQ. '') isof_2 = rNULL__
        if(ar__3(152:156) .EQ. '') hE1_2 = iNULL__
        if(ar__3(157:161) .EQ. '') hE2_2 = iNULL__
        if(ar__3(163:163) .EQ. '') F1_2 = iNULL__
        if(ar__3(166:166) .EQ. '') F2_2 = iNULL__
        if(ar__3(168:172) .EQ. '') g1_2 = iNULL__
        if(ar__3(173:177) .EQ. '') g2_2 = iNULL__
        if(ar__3(181:186) .EQ. '') vdWast_2 = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  lambda_3,orggf_2,newgf_2,e_newgf_2,r_newgf_2,astgf_2,
     +  r_astgf_2,specid_2,EP1_2,J1_2,EP1id_2,EP2_2,J2_2,EP2id_2,
     +  Rad_2,Sta_2,vdW_2,unlte_2,lnlte_2,iso1_2,hyp_2,iso2_2,isof_2,
     +  hE1_2,hE2_2,F0_2,F1_2,Note1_2,S_2,F2_2,note2_2,g1_2,g2_2,
     +  vdWorg_2,vdWast_2
c    .......End.of.Just test output...........
      end do
      close(1)

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