FORTRAN Generation
(/./ftp/cats/J/A_A/408/789)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/408/789 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 2024-Mar-29
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+A/408/789       Iron Project. LIII. Fe XVII              (Nahar+, 2003)
*================================================================================
*Atomic data from the Iron Project.
*LIII. Relativistic allowed and forbidden transition probabilities for FeXVII.
*      Nahar S.N., Eissner W., Chen G.X., Pradhan A.K.
*     <Astron. Astrophys. 408, 789 (2003)>
*     =2003A&A...408..789N
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2b.dat'	! Fine structure energy levels of the ion,
                                   with spectroscopic designation, ordered in
                                   J{pi} and energy

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

      integer*4     Nlv        (nr__) ! Total number of symmetry J{pi} (1)
      integer*4     J          (nr__) ! [0,8] Total angular momentum
      character*1   P          (nr__) ! [oe] Parity (o: odd, e: even)
      integer*4     iiii       (nr__) ! [1,45] Level position
      character*6   Ct         (nr__) ! T configuration (2)
      character*3   SLpit      (nr__) ! T core level
      character*3   Jt         (nr__) ! Total angular momentum value at t (2)
      character*3   nl         (nr__) ! Principal and orbital quantum numbers of
*                                   the outer electron
      real*4        E          (nr__) ! (Ry) Energy
      real*4        EQN        (nr__) ! ? Effective Quantum Number (3)
      character*7   Terms      (nr__) ! Possible LS terms of the energy level
*Note (1): Z = 26, No. of core electrons =  9,
*            Number of fine structure levels:
*          ---------------------------------
*            J pi    Nlv(c)
*          ---------------------------------
*            0  0     18
*            0  1     17
*            2  0     40
*            2  1     41
*            4  0     45
*            4  1     45
*            6  0     39
*            6  1     40
*            8  0     32
*            8  1     33
*           10  0     21
*           10  1     26
*           12  0     15
*           12  1     16
*           14  0      9
*           14  1      9
*           16  0      4
*           16  1      4
*          ---------------------------------
*          Total number of levels =  454
*Note (2): T(config SLpi Jt):   T -> target (core) of the level
*Note (3): No EQN is assigned for Equivalent electron levels

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

C  Declarations for 'table2c.dat'	! Fine structure levels of the core/target
                                   included in the eigenfunction expansion
                                   of ion

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

      integer*4     Level      (nr__1) ! Level
      character*8   Config     (nr__1) ! Configuration
      character*3   SLp        (nr__1) ! SLp term
      character*3   J_1        (nr__1) ! Total angular momentum
      real*4        E_1        (nr__1) ! (Ry) Energy

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

C  Declarations for 'table4a.dat'	! Fine structure levels

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

      integer*4     i          (nr__2) ! [1,454] Level index
      integer*4     J_2        (nr__2) ! J level
      character*1   P_1        (nr__2) ! [oe] Parity
      integer*4     iiii_1     (nr__2) ! Level position
      real*4        E_2        (nr__2) ! (Ry) Energy
      character*17  Config_1   (nr__2) ! Configuration
      character*7   LS         (nr__2) ! LS term (1)
      integer*4     jjpiiii    (nr__2) ! Energy level ids (2)
*Note (1): There may be more than one possible LS term for some j-levels.
*          Simple assumption: higher L -> lower energy
*Note (2): Energy levels with ids: jjpiiii, where
*          jj=2 x total angular momentum j, p=parity (e=0, o=1),
*          iii=level position

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

C  Declarations for 'table4b.dat'	! *Table of fine structure transitions

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

      integer*4     gi         (nr__3) ! [1/17] Initial level 2J+1 value
      integer*4     Pi         (nr__3) ! [0/1] Initial level parity
      integer*4     gf         (nr__3) ! [2/17] Final level 2J'+1 value
      integer*4     Pf         (nr__3) ! [0/1] Final level parity
      integer*4     Ni         (nr__3) ! Number of bound levels of symmetry i
      integer*4     Nf         (nr__3) ! Number of bound levels of symmetry j
      integer*4     NN         (nr__3) ! NN=NixNj
      integer*4     i_1        (nr__3) ! [1,45] Level of symmetry i
      integer*4     j_3        (nr__3) ! [1,45] Level of symmetry j
      real*8        wl         (nr__3) ! (0.1nm) Wavelength (Angstroems)
      real*4        Ei         (nr__3) ! (Ry) Initial energy
      real*4        Ef         (nr__3) ! (Ry) Final energy
      real*4        fL         (nr__3) ! Oscillator strength value (1)
      real*4        S          (nr__3) ! Line Strength (atomic units)
      real*4        Aji        (nr__3) ! (s-1) Transition probability
*Note (1): If a f-value is negative. the lower level is i (absorption) and
*          if it is positive, the lower level is j (emission).

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

C  Declarations for 'table5.dat'	! Table of oscillator strengths

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

      character*8   Ci         (nr__4) ! Initial configuration (1)
      character*8   Cj         (nr__4) ! Final configuration
      character*3   SiLiPi     (nr__4) ! Initial core level
      character*3   SjLjPj     (nr__4) ! Final core level
      integer*4     Ji         (nr__4) ! Initial total angular momentum value
      integer*4     Ii         (nr__4) ! ? Energy level index of Ji
*                                    (no value when Ci = LS)
      integer*4     Jf         (nr__4) ! Final total angular momentum value
      integer*4     If         (nr__4) ! ? Energy level index of Jf
*                                    (no value when Ci = LS)
      real*8        Ei_1       (nr__4) ! (Ry) Initial energy
      real*8        Ef_1       (nr__4) ! (Ry) Final energy
      real*4        f          (nr__4) ! Oscillator strength
      real*4        A          (nr__4) ! (s-1) Transition probability
*Note (1): nz = 26, No. of core electrons = 9, No of transitions = 342

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

C  Declarations for 'lifetime.dat'	! Lifetimes of fine structure levels using
                                   allowed transitions only

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

      integer*4     Level_1    (nr__5) ! [1,453] Level number
      character*28  Conf       (nr__5) ! Configuration
      integer*4     J_4        (nr__5) ! [0,8] Total angular momentum
      integer*4     Ij         (nr__5) ! [1,45] Final level
      real*4        E_3        (nr__5) ! (Ry) Energy
      real*4        Lifetime   (nr__5) ! (s) ? Lifetime
      character*1   n_Lifetime (nr__5) ! [i] i for infinity
      integer*4     NTrans     (nr__5) ! Number of transitions

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

C  Loading file 'table2b.dat'	! Fine structure energy levels of the ion,
*                                   with spectroscopic designation, ordered in
*                                   J{pi} and energy

C  Format for file interpretation

    1 format(
     +  I2,1X,I1,1X,A1,2X,I2,1X,A6,5X,A3,2X,A3,1X,A3,8X,E12.5,1X,F5.2,
     +  2X,A7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2b.dat')
      write(6,*) '....Loading file: table2b.dat'
      do i__=1,454
        read(1,'(A69)')ar__
        read(ar__,1)
     +  Nlv(i__),J(i__),P(i__),iiii(i__),Ct(i__),SLpit(i__),Jt(i__),
     +  nl(i__),E(i__),EQN(i__),Terms(i__)
        if(ar__(56:60) .EQ. '') EQN(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Nlv(i__),J(i__),P(i__),iiii(i__),Ct(i__),SLpit(i__),Jt(i__),
     +  nl(i__),E(i__),EQN(i__),Terms(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2c.dat'	! Fine structure levels of the core/target
*                                   included in the eigenfunction expansion
*                                   of ion

C  Format for file interpretation

    2 format(I2,1X,A8,2X,A3,3X,A3,3X,E11.6)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2c.dat')
      write(6,*) '....Loading file: table2c.dat'
      do i__=1,60
        read(1,'(A36)')ar__1
        read(ar__1,2)Level(i__),Config(i__),SLp(i__),J_1(i__),E_1(i__)
c    ..............Just test output...........
        write(6,2)Level(i__),Config(i__),SLp(i__),J_1(i__),E_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4a.dat'	! Fine structure levels

C  Format for file interpretation

    3 format(2X,I3,2X,I1,3X,A1,2X,I3,4X,E12.7,2X,A17,2X,A7,11X,I7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4a.dat')
      write(6,*) '....Loading file: table4a.dat'
      do i__=1,454
        read(1,'(A79)')ar__2
        read(ar__2,3)
     +  i(i__),J_2(i__),P_1(i__),iiii_1(i__),E_2(i__),Config_1(i__),
     +  LS(i__),jjpiiii(i__)
c    ..............Just test output...........
        write(6,3)
     +  i(i__),J_2(i__),P_1(i__),iiii_1(i__),E_2(i__),Config_1(i__),
     +  LS(i__),jjpiiii(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4b.dat'	! *Table of fine structure transitions

C  Format for file interpretation

    4 format(
     +  I2,1X,I1,1X,I2,1X,I1,1X,I2,1X,I2,1X,I4,1X,I2,1X,I2,1X,F10.2,
     +  1X,E11.6,1X,E11.6,1X,E10.5,2X,E9.4,2X,E9.4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4b.dat')
      write(6,*) '....Loading file: table4b.dat'
      do i__=1,20951
        read(1,'(A94)')ar__3
        read(ar__3,4)
     +  gi(i__),Pi(i__),gf(i__),Pf(i__),Ni(i__),Nf(i__),NN(i__),
     +  i_1(i__),j_3(i__),wl(i__),Ei(i__),Ef(i__),fL(i__),S(i__),
     +  Aji(i__)
c    ..............Just test output...........
        write(6,4)
     +  gi(i__),Pi(i__),gf(i__),Pf(i__),Ni(i__),Nf(i__),NN(i__),
     +  i_1(i__),j_3(i__),wl(i__),Ei(i__),Ef(i__),fL(i__),S(i__),
     +  Aji(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table5.dat'	! Table of oscillator strengths

C  Format for file interpretation

    5 format(
     +  1X,A8,5X,A8,4X,A3,1X,A3,1X,I2,1X,I2,1X,I2,1X,I2,1X,F7.4,1X,
     +  F7.4,1X,E9.3,1X,E8.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table5.dat')
      write(6,*) '....Loading file: table5.dat'
      do i__=1,447
        read(1,'(A80)')ar__4
        read(ar__4,5)
     +  Ci(i__),Cj(i__),SiLiPi(i__),SjLjPj(i__),Ji(i__),Ii(i__),
     +  Jf(i__),If(i__),Ei_1(i__),Ef_1(i__),f(i__),A(i__)
        if(ar__4(38:39) .EQ. '') Ii(i__) = iNULL__
        if(ar__4(44:45) .EQ. '') If(i__) = iNULL__
c    ..............Just test output...........
        write(6,5)
     +  Ci(i__),Cj(i__),SiLiPi(i__),SjLjPj(i__),Ji(i__),Ii(i__),
     +  Jf(i__),If(i__),Ei_1(i__),Ef_1(i__),f(i__),A(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'lifetime.dat'	! Lifetimes of fine structure levels using
*                                   allowed transitions only

C  Format for file interpretation

    6 format(1X,I3,1X,A28,I1,4X,I2,1X,E11.6,2X,E9.4,A1,5X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'lifetime.dat')
      write(6,*) '....Loading file: lifetime.dat'
      do i__=1,453
        read(1,'(A72)')ar__5
        read(ar__5,6)
     +  Level_1(i__),Conf(i__),J_4(i__),Ij(i__),E_3(i__),
     +  Lifetime(i__),n_Lifetime(i__),NTrans(i__)
        if(ar__5(55:63) .EQ. '') Lifetime(i__) = rNULL__
c    ..............Just test output...........
        write(6,6)
     +  Level_1(i__),Conf(i__),J_4(i__),Ij(i__),E_3(i__),
     +  Lifetime(i__),n_Lifetime(i__),NTrans(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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