FORTRAN Generation
(/./ftp/cats/J/A_AS/135/359)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_AS/135/359 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/A+AS/135/359      HI and HeII fine structure components    (Clegg+ 1999)
*================================================================================
*Recombination line intensities for hydrogenic ions:
*the fine structure components of HI and HeII
*    Clegg R.E.S., Miller S., Storey P.J., Kisielius R.
*   <Astron. Astrophys. Suppl. Ser. 135, 359 (1999)>
*   =1999A&AS..135..359C
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Summary of components, and the reference
                              wavelengths of hydrogenic transitions

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

      integer*4     nu         (nr__) ! [2/6] Upper state principal quantum number
      integer*4     nl         (nr__) ! [1/5] Lower state principal quantum number
      integer*4     Nc         (nr__) ! [2/25] Number of components
      real*4        D_v_HI     (nr__) ! (km/s) [0/10] Total range in velocity space of
*                                        components for HI lines
      real*4        D_v_HeII   (nr__) ! (km/s) [0/37] Total range in velocity space of
*                                        components for HeII lines
      real*8        v1HI       (nr__) ! (0.1nm) Reference wavelength for ^1^HI ({AA})
      real*8        v2HI       (nr__) ! (0.1nm) Reference wavelength for ^2^HI ({AA})
      real*8        v3HeII     (nr__) ! (0.1nm) Reference wavelength for ^3^HeII ({AA})
      real*8        v4HeII     (nr__) ! (0.1nm) Reference wavelength for ^4^HeII ({AA})

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

C  Declarations for 'table2a.dat'	! Fine structure components for n-2 transitions

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

      integer*4     Index      (nr__1) ! [1/13] Index of transition
      character*2   Statu      (nr__1) ! Upper state nl in spectroscopic notation
      integer*4     Su         (nr__1) ! [2] 2S+1 of upper state term
      character*1   Lu         (nr__1) ! L (spectroscopic) of upper state term
      integer*4     Pu         (nr__1) ! Parity (0 for even, 1 for odd) of upper state term
      real*4        Ju         (nr__1) ! [0.5/3.5] J of upper state term
      character*2   Statl      (nr__1) ! Lower state nl in spectroscopic notation
      integer*4     Sl         (nr__1) ! [2] 2S+1 of lower state term
      character*1   Ll         (nr__1) ! L (spectroscopic) of lower state term
      integer*4     Pl         (nr__1) ! Parity (0 for even, 1 for odd) of lower state term
      real*4        Jl         (nr__1) ! [0.5/2.5] J of lower state term
      integer*4     lu_1       (nr__1) ! [0/3] Orbital quantum number l of upper state
      integer*4     v2ju       (nr__1) ! [1/7] Double total quantum number 2j of upper state
      integer*4     ll_1       (nr__1) ! [0/2] Orbital quantum number l of lower state
      integer*4     v2jl       (nr__1) ! [1/5] Double total quantum number 2j of lower state

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

C  Declarations for 'table2b.dat'	! Fine structure components for n-3 transitions

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

      integer*4     Index_1    (nr__2) ! [1/13] Index of transition
      character*2   Statu_1    (nr__2) ! Upper state nl in spectroscopic notation
      integer*4     Su_1       (nr__2) ! [2] 2S+1 of upper state term
      character*1   Lu_2       (nr__2) ! L (spectroscopic) of upper state term
      integer*4     Pu_1       (nr__2) ! Parity (0 for even, 1 for odd) of upper state term
      real*4        Ju_1       (nr__2) ! [0.5/3.5] J of upper state term
      character*2   Statl_1    (nr__2) ! Lower state nl in spectroscopic notation
      integer*4     Sl_1       (nr__2) ! [2] 2S+1 of lower state term
      character*1   Ll_2       (nr__2) ! L (spectroscopic) of lower state term
      integer*4     Pl_1       (nr__2) ! Parity (0 for even, 1 for odd) of lower state term
      real*4        Jl_1       (nr__2) ! [0.5/2.5] J of lower state term
      integer*4     lu_3       (nr__2) ! [0/3] Orbital quantum number l of upper state
      integer*4     v2ju_1     (nr__2) ! [1/7] Double total quantum number 2j of upper state
      integer*4     ll_3       (nr__2) ! [0/2] Orbital quantum number l of lower state
      integer*4     v2jl_1     (nr__2) ! [1/5] Double total quantum number 2j of lower state

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

C  Declarations for 'tab34.dat'	! Normalized component intensities

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

      character*5   Comp       (nr__3) ! Component (1)
      character*1   Case       (nr__3) ! [AB] Baker & Menzel (1938ApJ....88...52B) case
      real*4        Ne         (nr__3) ! (cm-3) Electron density
      integer*4     Index_2    (nr__3) ! [1/13] Transition index
      real*4        D_lambda   (nr__3) ! (0.1nm) [-0.48/0.07] Shift in wavelength ({AA})
      real*4        D_v        (nr__3) ! (km/s) [-32/5] Shift in velocity
      real*4        I300       (nr__3) ! ? Normalized component intensity at Te=300K
      real*4        I1000      (nr__3) ! Normalized component intensity at Te=1000K
      real*4        I3000      (nr__3) ! Normalized component intensity at Te=3000K
      real*4        I10000     (nr__3) ! Normalized component intensity at Te=10000K
      real*4        I30000     (nr__3) ! Normalized component intensity at Te=30000K
*Note (1): Reference wavelengths are:
*   (H{alpha}) H3-2 = 6562.8812{AA}
*    (H{beta}) H4-2 = 4861.3784{AA}
*   (H{gamma}) H5-2 = 4340.5086{AA}
*             He3-2 = 1640.5055{AA}
*             He4-2 = 1215.1893{AA}
*             He4-3 = 4685.8471{AA}
*             He5-3 = 3203.1867{AA}

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

C  Declarations for 'table5.dat'	! Line emissivities

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

      character*4   Comp_1     (nr__4) ! Component (HI or HeII)
      character*1   Case_1     (nr__4) ! [AB] Baker & Menzel (1938ApJ....88...52B) case
      integer*4     nu_1       (nr__4) ! [3/5] Upper state principal quantum number
      integer*4     nl_1       (nr__4) ! [2/3] Lower state principal quantum number
      real*4        Ne_1       (nr__4) ! (cm-3) Electron density
      real*4        I300_1     (nr__4) ! (mW/m2/cm) ? Line emissivity at Te=300K
      real*4        I1000_1    (nr__4) ! (mW/m2/cm) Line emissivity at Te=1000K
      real*4        I3000_1    (nr__4) ! (mW/m2/cm) Line emissivity at Te=3000K
      real*4        I10000_1   (nr__4) ! (mW/m2/cm) Line emissivity at Te=10000K
      real*4        I30000_1   (nr__4) ! (mW/m2/cm) Line emissivity at Te=30000K

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

C  Declarations for 'table6.dat'	! Line centre positions

      integer*4 nr__5
      parameter (nr__5=76)	! Number of records
      character*77 ar__5  	! Full-size record

      character*4   Comp_2     (nr__5) ! Component (HI or HeII)
      character*1   Case_2     (nr__5) ! [AB] Baker & Menzel (1938ApJ....88...52B) case
      integer*4     nu_2       (nr__5) ! [3/5] Upper state principal quantum number
      integer*4     nl_2       (nr__5) ! [2/3] Lower state principal quantum number
      real*4        Ne_2       (nr__5) ! (cm-3) Electron density
      real*8        I300_2     (nr__5) ! (0.1nm) ? Line centre positions at Te=300K
      real*8        I1000_2    (nr__5) ! (0.1nm) Line centre positions at Te=1000K
      real*8        I3000_2    (nr__5) ! (0.1nm) Line centre positions at Te=3000K
      real*8        I10000_2   (nr__5) ! (0.1nm) Line centre positions at Te=10000K
      real*8        I30000_2   (nr__5) ! (0.1nm) Line centre positions at Te=30000K

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

C  Declarations for 'table7.dat'	! H{alpha} full line widths and broadening
                              terms {delta}

      integer*4 nr__6
      parameter (nr__6=23)	! Number of records
      character*33 ar__6  	! Full-size record

      real*4        vbroad     (nr__6) ! (km/s) Full line width at half maximum excluding
*                                   fine-structure effects
      real*4        FWHM       (nr__6) ! (km/s) Full line width at half maximum including
*                                   fine-structure effects
      real*4        delta      (nr__6) ! (km/s) Broadening term {delta}

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

C  Loading file 'table1.dat'	! Summary of components, and the reference
*                              wavelengths of hydrogenic transitions

C  Format for file interpretation

    1 format(
     +  1X,I1,3X,I1,4X,I2,3X,F4.2,2X,F5.2,2X,F10.4,2X,F10.4,2X,F10.4,
     +  2X,F10.4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,15
        read(1,'(A74)')ar__
        read(ar__,1)
     +  nu(i__),nl(i__),Nc(i__),D_v_HI(i__),D_v_HeII(i__),v1HI(i__),
     +  v2HI(i__),v3HeII(i__),v4HeII(i__)
c    ..............Just test output...........
        write(6,1)
     +  nu(i__),nl(i__),Nc(i__),D_v_HI(i__),D_v_HeII(i__),v1HI(i__),
     +  v2HI(i__),v3HeII(i__),v4HeII(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2a.dat'	! Fine structure components for n-2 transitions

C  Format for file interpretation

    2 format(
     +  1X,I2,3X,A2,3X,I1,2X,A1,2X,I1,2X,F3.1,5X,A2,3X,I1,2X,A1,2X,I1,
     +  2X,F3.1,3X,I1,4X,I1,4X,I1,4X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2a.dat')
      write(6,*) '....Loading file: table2a.dat'
      do i__=1,7
        read(1,'(A64)')ar__1
        read(ar__1,2)
     +  Index(i__),Statu(i__),Su(i__),Lu(i__),Pu(i__),Ju(i__),
     +  Statl(i__),Sl(i__),Ll(i__),Pl(i__),Jl(i__),lu_1(i__),
     +  v2ju(i__),ll_1(i__),v2jl(i__)
c    ..............Just test output...........
        write(6,2)
     +  Index(i__),Statu(i__),Su(i__),Lu(i__),Pu(i__),Ju(i__),
     +  Statl(i__),Sl(i__),Ll(i__),Pl(i__),Jl(i__),lu_1(i__),
     +  v2ju(i__),ll_1(i__),v2jl(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2b.dat'	! Fine structure components for n-3 transitions

C  Format for file interpretation

    3 format(
     +  1X,I2,3X,A2,3X,I1,2X,A1,2X,I1,2X,F3.1,5X,A2,3X,I1,2X,A1,2X,I1,
     +  2X,F3.1,3X,I1,4X,I1,4X,I1,4X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2b.dat')
      write(6,*) '....Loading file: table2b.dat'
      do i__=1,13
        read(1,'(A64)')ar__2
        read(ar__2,3)
     +  Index_1(i__),Statu_1(i__),Su_1(i__),Lu_2(i__),Pu_1(i__),
     +  Ju_1(i__),Statl_1(i__),Sl_1(i__),Ll_2(i__),Pl_1(i__),
     +  Jl_1(i__),lu_3(i__),v2ju_1(i__),ll_3(i__),v2jl_1(i__)
c    ..............Just test output...........
        write(6,3)
     +  Index_1(i__),Statu_1(i__),Su_1(i__),Lu_2(i__),Pu_1(i__),
     +  Ju_1(i__),Statl_1(i__),Sl_1(i__),Ll_2(i__),Pl_1(i__),
     +  Jl_1(i__),lu_3(i__),v2ju_1(i__),ll_3(i__),v2jl_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tab34.dat'	! Normalized component intensities

C  Format for file interpretation

    4 format(
     +  A5,1X,A1,2X,E5.1,2X,I2,4X,F6.3,1X,F6.2,1X,F5.3,1X,F5.3,1X,
     +  F5.3,1X,F5.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tab34.dat')
      write(6,*) '....Loading file: tab34.dat'
      do i__=1,652
        read(1,'(A66)')ar__3
        read(ar__3,4)
     +  Comp(i__),Case(i__),Ne(i__),Index_2(i__),D_lambda(i__),
     +  D_v(i__),I300(i__),I1000(i__),I3000(i__),I10000(i__),
     +  I30000(i__)
        if(ar__3(37:41) .EQ. '') I300(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  Comp(i__),Case(i__),Ne(i__),Index_2(i__),D_lambda(i__),
     +  D_v(i__),I300(i__),I1000(i__),I3000(i__),I10000(i__),
     +  I30000(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table5.dat'	! Line emissivities

C  Format for file interpretation

    5 format(
     +  A4,1X,A1,2X,I1,5X,I1,2X,E5.1,2X,E9.3,2X,E9.3,2X,E9.3,2X,E9.3,
     +  2X,E9.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table5.dat')
      write(6,*) '....Loading file: table5.dat'
      do i__=1,76
        read(1,'(A78)')ar__4
        read(ar__4,5)
     +  Comp_1(i__),Case_1(i__),nu_1(i__),nl_1(i__),Ne_1(i__),
     +  I300_1(i__),I1000_1(i__),I3000_1(i__),I10000_1(i__),
     +  I30000_1(i__)
        if(ar__4(25:33) .EQ. '') I300_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,5)
     +  Comp_1(i__),Case_1(i__),nu_1(i__),nl_1(i__),Ne_1(i__),
     +  I300_1(i__),I1000_1(i__),I3000_1(i__),I10000_1(i__),
     +  I30000_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table6.dat'	! Line centre positions

C  Format for file interpretation

    6 format(
     +  A4,1X,A1,2X,I1,5X,I1,2X,E5.1,2X,F9.4,2X,F9.4,2X,F9.4,2X,F9.4,
     +  2X,F9.4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,76
        read(1,'(A77)')ar__5
        read(ar__5,6)
     +  Comp_2(i__),Case_2(i__),nu_2(i__),nl_2(i__),Ne_2(i__),
     +  I300_2(i__),I1000_2(i__),I3000_2(i__),I10000_2(i__),
     +  I30000_2(i__)
        if(ar__5(25:33) .EQ. '') I300_2(i__) = rNULL__
c    ..............Just test output...........
        write(6,6)
     +  Comp_2(i__),Case_2(i__),nu_2(i__),nl_2(i__),Ne_2(i__),
     +  I300_2(i__),I1000_2(i__),I3000_2(i__),I10000_2(i__),
     +  I30000_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table7.dat'	! H{alpha} full line widths and broadening
*                              terms {delta}

C  Format for file interpretation

    7 format(F5.1,2X,F6.2,3X,F6.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table7.dat')
      write(6,*) '....Loading file: table7.dat'
      do i__=1,23
        read(1,'(A33)')ar__6
        read(ar__6,7)vbroad(i__),FWHM(i__),delta(i__)
c    ..............Just test output...........
        write(6,7)vbroad(i__),FWHM(i__),delta(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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