FORTRAN Generation
(/./ftp/cats/J/A_A/597/A76)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/597/A76 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-Apr-19
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/597/A76       Mg-like ions energy levels               (Gustafsson+, 2017)
*================================================================================
*MCDHF and RCI calculations of energy levels, lifetimes and transition rates for
*3l3l', 3l4l' and 3s5l states in Ca IX. As XXII and Kr XXV.
*    Gustafsson S., Jonsson P., Froese Fischer C., Grant I.P.
*    <Astron. Astrophys. 597, A76 (2017)>
*    =2017A&A...597A..76G        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2.dat'	! Comparison of calculated and observed excitation
                                 energies

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

      character*8   Ion        (nr__) ! Ion
      character*1   J          (nr__) ! J quantum number
      character*1   P          (nr__) ! [+-] Parity
      character*12  State      (nr__) ! Quantum label of the state
      character*1   n_State    (nr__) ! [ab] Note on State (G1)
      integer*4     E_RCI      (nr__) ! (cm-1) Excitation energy from RCI calc. this work
      integer*4     E_obs      (nr__) ! (cm-1) ? Observed excitation energy (1)
      integer*4     DeltaE     (nr__) ! (cm-1) ? Difference between observed and RCI energies
*Note (1): From Kramida, A., Ralchenko, Yu., Reader, J., and NIST ASD Team
*  (2015). NIST Atomic Spectra Database (Version. 5.3),
*  available: http://physics.nist.gov/asd [2016, November 22].
*  National Institute of Standards and Technology, Gaithersburg, MD.

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

C  Declarations for 'table4.dat'	! Lifetimes

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

      character*8   Ion_1      (nr__1) ! Ion
      character*1   J_1        (nr__1) ! J quantum number
      character*1   P_1        (nr__1) ! [+-] Parity
      character*12  State_1    (nr__1) ! Quantum label of the state
      character*1   n_State_1  (nr__1) ! [ab] Note on State (G1)
      real*4        Tl         (nr__1) ! (s) Lifetime calculated in length form
      real*4        dT         (nr__1) ! Accuracy indicator dT (1)
*Note (1): dT = |T_l-T_v|/max(T_l,T_v), T_l and T_v lifetimes computed in
*   length and velocity form, respectively.

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

C  Declarations for 'table6.dat'	! Transition data

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

      character*8   Ion_2      (nr__2) ! Ion
      character*1   Ju         (nr__2) ! J quantum number upper state
      character*1   Pu         (nr__2) ! [+-] Parity upper state
      character*12  ustate     (nr__2) ! Quantum label of the upper state
      character*1   n_ustate   (nr__2) ! [ab] Note on Stateu (G1)
      character*1   Jl         (nr__2) ! J quantum number lower state
      character*1   Pl         (nr__2) ! [+-] Parity lower state
      character*12  lstate     (nr__2) ! Quantum label of the lower state
      character*1   n_lstate   (nr__2) ! [ab] Note on Statel (G1)
      character*2   EM         (nr__2) ! Electromagnetic multipole
      integer*4     DeltaE_1   (nr__2) ! (cm-1) Transition energy
      real*8        lambda     (nr__2) ! (0.1nm) Wavelength (in {AA})
      real*4        A          (nr__2) ! (s-1) Transition rate in length form
      real*4        gf         (nr__2) ! Weighted oscillator strength
      real*4        dA         (nr__2) ! ? Accuracy indicator dA (1)
*Note (1): dA = |A_l-A_v|/max(A_l,A_v), A_l and A_v transition rates computed in
*  length and velocity form, respectively.

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

C  Loading file 'table2.dat'	! Comparison of calculated and observed excitation
*                                 energies

C  Format for file interpretation

    1 format(A8,5X,A1,1X,A1,1X,A12,A1,4X,I7,6X,I7,3X,I7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,2248
        read(1,'(A64)')ar__
        read(ar__,1)
     +  Ion(i__),J(i__),P(i__),State(i__),n_State(i__),E_RCI(i__),
     +  E_obs(i__),DeltaE(i__)
        if(ar__(48:54) .EQ. '') E_obs(i__) = iNULL__
        if(ar__(58:64) .EQ. '') DeltaE(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Ion(i__),J(i__),P(i__),State(i__),n_State(i__),E_RCI(i__),
     +  E_obs(i__),DeltaE(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4.dat'	! Lifetimes

C  Format for file interpretation

    2 format(A8,5X,A1,1X,A1,1X,A12,A1,4X,E10.6,4X,E10.6)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,2270
        read(1,'(A58)')ar__1
        read(ar__1,2)
     +  Ion_1(i__),J_1(i__),P_1(i__),State_1(i__),n_State_1(i__),
     +  Tl(i__),dT(i__)
c    ..............Just test output...........
        write(6,2)
     +  Ion_1(i__),J_1(i__),P_1(i__),State_1(i__),n_State_1(i__),
     +  Tl(i__),dT(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table6.dat'	! Transition data

C  Format for file interpretation

    3 format(
     +  A8,5X,A1,1X,A1,1X,A12,A1,7X,A1,1X,A1,1X,A12,A1,3X,A2,7X,I7,
     +  13X,F9.3,4X,E9.4,4X,E9.4,8X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,46015
        read(1,'(A134)')ar__2
        read(ar__2,3)
     +  Ion_2(i__),Ju(i__),Pu(i__),ustate(i__),n_ustate(i__),Jl(i__),
     +  Pl(i__),lstate(i__),n_lstate(i__),EM(i__),DeltaE_1(i__),
     +  lambda(i__),A(i__),gf(i__),dA(i__)
        if(ar__2(130:134) .EQ. '') dA(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Ion_2(i__),Ju(i__),Pu(i__),ustate(i__),n_ustate(i__),Jl(i__),
     +  Pl(i__),lstate(i__),n_lstate(i__),EM(i__),DeltaE_1(i__),
     +  lambda(i__),A(i__),gf(i__),dA(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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