FORTRAN Generation
(/./ftp/cats/J/MNRAS/423/122)

Conversion of standardized ReadMe file for file /./ftp/cats/J/MNRAS/423/122 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-May-17
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/MNRAS/423/122   Abundances of 93 solar-type Kepler targets    (Bruntt+, 2012)
*================================================================================
*Accurate fundamental parameters and detailed abundance patterns from
*spectroscopy of 93 solar-type Kepler targets.
*    Bruntt H., Basu S., Smalley B., Chaplin W.J., Verner G.A., Bedding T.R.,
*    Catala C., Gazzano J.-C., Molenda-Zakowicz J., Thygesen A.O.,
*    Uytterhoeven K., Hekker S., Huber D., Karoff C., Mathur S., Mosser B.,
*    Appourchaux T., Campante T.L., Elsworth Y., Garcia R.A., Handberg R.,
*    Metcalfe T.S., Quirion P.-O., Regulo C., Roxburgh I.W., Stello D.,
*    Christensen-Dalsgaard J., Kawaler S.D., Kjeldsen H., Morris R.L.,
*    Quintana E.V., Sanderfer D.T.
*   <Mon. Not. R. Astron. Soc., 423, 122-131 (2012)>
*   =2012MNRAS.423..122B
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Atomic data used in the spectral analysis

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

      character*4   El          ! Element with ionization state
      real*8        lambda      ! (0.1nm) wavelength {lambda} ({AA})
      real*4        Ep          ! (eV) excitation potential
      real*4        loggfV      ! ([-]) Oscillator strength from VALD
      real*8        loggf       ! ([-]) Adjusted oscillator strength value

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

C  Declarations for 'table3.dat'	! Observed targets and their properties

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

      integer*4     KIC         ! KIC number (Cat. V/133)
      integer*4     HIP         ! ? HIP number (Cat. I/311)
      integer*4     HD          ! ? HD number (Cat. III/135)
      real*4        VTmag       ! (mag) Tycho V magnitude
      real*4        VT_K        ! (mag) VT-Ks colour index
      real*4        E_B_V       ! (mag) ? B-V colour excess
      real*4        e_E_B_V     ! (mag) ? rms uncertainty on E(B-V)
      integer*4     Teff1       ! (K) ? Effective temperature  from KIC
      real*4        logg1       ! ([cm/s2]) ? Gravity surface from KIC
      real*4        v_Fe_H_1    ! ([Sun]) ? Metallicity from KIC
      integer*4     Teff2       ! (K) Effective temperature from spectroscopy
*                                 (+/-70K)
      real*4        logg2       ! ([cm/s2]) Gravity surface from spectroscopy (+/-0.08dex)
      integer*4     Teff        ! (K) Final (asteroseismic) effective temperature
*                                 (+/-60K)
      real*4        logg        ! ([cm/s2]) Final (asteroseismic) gravity surface
*                                 (+/-0.03dex)
      real*4        v_Fe_H_     ! ([-]) Final (asteroseismic) metallicity (+/-0.06dex)
      real*4        xi          ! (km/s) Final (asteroseismic) microturbulent velocity
*                                 {xi} (+/-0.06km/s) (1)
      real*4        vsini       ! (km/s) Final (asteroseismic) rotational velocity (1)
*Note (1): We only list the `asteroseismic' values of vsini and xi, since
*          the `spectroscopic' values are almost identical.

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

C  Declarations for 'table4.dat'	! Abundances relative to the Sun and the number of
                             lines used for 13 elements

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

      integer*4     KIC_1       ! KIC number (1)
      integer*4     Ion         ! [1/2] Ionisation state:
*                               1 for neutral, 2 for singly-ionized
      real*4        Li          ! ([Sun]) ?=- Lithum abundance (2)
      real*4        e_Li        ! ([Sun]) ?=- rms uncertainty on Li
      integer*4     o_Li        ! ?=- Number of lines used for Li
      real*4        C           ! ([Sun]) ?=- Carbon abundance (2)
      real*4        e_C         ! ([Sun]) ?=- rms uncertainty on C
      integer*4     o_C         ! ?=- Number of lines used for C
      real*4        N           ! ([Sun]) ?=- Nitrogen abundance (2)
      real*4        e_N         ! ([Sun]) ?=- rms uncertainty on N
      integer*4     o_N         ! ?=- Number of lines used for N
      real*4        O           ! ([Sun]) ?=- Oxygen abundance (2)
      real*4        e_O         ! ([Sun]) ?=- rms uncertainty on O
      integer*4     o_O         ! ?=- Number of lines used for O
      real*4        Na          ! ([Sun]) ?=- Sodium abundance (2)
      real*4        e_Na        ! ([Sun]) ?=- rms uncertainty on Na
      integer*4     o_Na        ! ?=- Number of lines used for Na
      real*4        Mg          ! ([Sun]) ?=- Magnesium abundance (2)
      real*4        e_Mg        ! ([Sun]) ?=- rms uncertainty on Mg
      integer*4     o_Mg        ! ?=- Number of lines used for Mg
      real*4        Si          ! ([Sun]) ?=- Silicium abundance (2)
      real*4        e_Si        ! ([Sun]) ?=- rms uncertainty on Si
      integer*4     o_Si        ! ?=- Number of lines used for Si
      real*4        Ca          ! ([Sun]) ?=- Calcium abundance (2)
      real*4        e_Ca        ! ([Sun]) ?=- rms uncertainty on Ca
      integer*4     o_Ca        ! ?=- Number of lines used for Ca
      real*4        Ti          ! ([Sun]) ?=- Titanium abundance (2)
      real*4        e_Ti        ! ([Sun]) ?=- rms uncertainty on Ti
      integer*4     o_Ti        ! ?=- Number of lines used for Ti
      real*4        V           ! ([Sun]) ?=- Vanadium abundance (2)
      real*4        e_V         ! ([Sun]) ?=- rms uncertainty on V
      integer*4     o_V         ! ?=- Number of lines used for V
      real*4        Cr          ! ([Sun]) ?=- Chromium abundance (2)
      real*4        e_Cr        ! ([Sun]) ?=- rms uncertainty on Cr
      integer*4     o_Cr        ! ?=- Number of lines used for Cr
      real*4        Fe          ! ([Sun]) ?=- Iron abundance (2)
      real*4        e_Fe        ! ([Sun]) ?=- rms uncertainty on Fe
      integer*4     o_Fe        ! ?=- Number of lines used for Fe
      real*4        Ni          ! ([Sun]) ?=- Nickel abundance (2)
      real*4        e_Ni        ! ([Sun]) ?=- rms uncertainty on Ni
      integer*4     o_Ni        ! ?=- Number of lines used for Ni
*Note (1): For each star there are two rows: One for the neutral species and
*          one for the singly-ionized species (for example Fe 1 and Fe 2).
*Note (2): All abundances are relative to the Solar values.
*     "---"  means that no lines were available to determine the abundance.

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

C  Loading file 'table1.dat'	! Atomic data used in the spectral analysis

C  Format for file interpretation

    1 format(1X,A4,2X,F8.3,1X,F6.3,1X,F6.3,1X,F7.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,1042
        read(1,'(A37)')ar__
        read(ar__,1)El,lambda,Ep,loggfV,loggf
c    ..............Just test output...........
        write(6,1)El,lambda,Ep,loggfV,loggf
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Observed targets and their properties

C  Format for file interpretation

    2 format(
     +  I8,1X,I5,1X,I6,1X,F6.3,1X,F5.3,1X,F4.2,1X,F4.2,1X,I4,1X,F4.2,
     +  1X,F5.2,1X,I4,1X,F4.2,1X,I4,1X,F4.2,1X,F5.2,1X,F4.2,1X,F4.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,93
        read(1,'(A96)')ar__1
        read(ar__1,2)
     +  KIC,HIP,HD,VTmag,VT_K,E_B_V,e_E_B_V,Teff1,logg1,v_Fe_H_1,
     +  Teff2,logg2,Teff,logg,v_Fe_H_,xi,vsini
        if(ar__1(10:14) .EQ. '') HIP = iNULL__
        if(ar__1(16:21) .EQ. '') HD = iNULL__
        if(ar__1(36:39) .EQ. '') E_B_V = rNULL__
        if(ar__1(41:44) .EQ. '') e_E_B_V = rNULL__
        if(ar__1(46:49) .EQ. '') Teff1 = iNULL__
        if(ar__1(51:54) .EQ. '') logg1 = rNULL__
        if(ar__1(56:60) .EQ. '') v_Fe_H_1 = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  KIC,HIP,HD,VTmag,VT_K,E_B_V,e_E_B_V,Teff1,logg1,v_Fe_H_1,
     +  Teff2,logg2,Teff,logg,v_Fe_H_,xi,vsini
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4.dat'	! Abundances relative to the Sun and the number of
*                             lines used for 13 elements

C  Format for file interpretation

    3 format(
     +  I8,1X,I1,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,
     +  2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,
     +  F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,
     +  I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,
     +  F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,186
        read(1,'(A218)')ar__2
        read(ar__2,3)
     +  KIC_1,Ion,Li,e_Li,o_Li,C,e_C,o_C,N,e_N,o_N,O,e_O,o_O,Na,e_Na,
     +  o_Na,Mg,e_Mg,o_Mg,Si,e_Si,o_Si,Ca,e_Ca,o_Ca,Ti,e_Ti,o_Ti,V,
     +  e_V,o_V,Cr,e_Cr,o_Cr,Fe,e_Fe,o_Fe,Ni,e_Ni,o_Ni
        if (idig(ar__2(12:16)).EQ.0) Li =  rNULL__
        if (idig(ar__2(19:22)).EQ.0) e_Li =  rNULL__
        if (o_Li .EQ. 45) o_Li =  iNULL__
        if (idig(ar__2(28:32)).EQ.0) C =  rNULL__
        if (idig(ar__2(35:38)).EQ.0) e_C =  rNULL__
        if (o_C .EQ. 45) o_C =  iNULL__
        if (idig(ar__2(44:48)).EQ.0) N =  rNULL__
        if (idig(ar__2(51:54)).EQ.0) e_N =  rNULL__
        if (o_N .EQ. 45) o_N =  iNULL__
        if (idig(ar__2(60:64)).EQ.0) O =  rNULL__
        if (idig(ar__2(67:70)).EQ.0) e_O =  rNULL__
        if (o_O .EQ. 45) o_O =  iNULL__
        if (idig(ar__2(76:80)).EQ.0) Na =  rNULL__
        if (idig(ar__2(83:86)).EQ.0) e_Na =  rNULL__
        if (o_Na .EQ. 45) o_Na =  iNULL__
        if (idig(ar__2(92:96)).EQ.0) Mg =  rNULL__
        if (idig(ar__2(99:102)).EQ.0) e_Mg =  rNULL__
        if (o_Mg .EQ. 45) o_Mg =  iNULL__
        if (idig(ar__2(108:112)).EQ.0) Si =  rNULL__
        if (idig(ar__2(115:118)).EQ.0) e_Si =  rNULL__
        if (o_Si .EQ. 45) o_Si =  iNULL__
        if (idig(ar__2(124:128)).EQ.0) Ca =  rNULL__
        if (idig(ar__2(131:134)).EQ.0) e_Ca =  rNULL__
        if (o_Ca .EQ. 45) o_Ca =  iNULL__
        if (idig(ar__2(140:144)).EQ.0) Ti =  rNULL__
        if (idig(ar__2(147:150)).EQ.0) e_Ti =  rNULL__
        if (o_Ti .EQ. 45) o_Ti =  iNULL__
        if (idig(ar__2(156:160)).EQ.0) V =  rNULL__
        if (idig(ar__2(163:166)).EQ.0) e_V =  rNULL__
        if (o_V .EQ. 45) o_V =  iNULL__
        if (idig(ar__2(172:176)).EQ.0) Cr =  rNULL__
        if (idig(ar__2(179:182)).EQ.0) e_Cr =  rNULL__
        if (o_Cr .EQ. 45) o_Cr =  iNULL__
        if (idig(ar__2(188:192)).EQ.0) Fe =  rNULL__
        if (idig(ar__2(195:198)).EQ.0) e_Fe =  rNULL__
        if (o_Fe .EQ. 45) o_Fe =  iNULL__
        if (idig(ar__2(204:208)).EQ.0) Ni =  rNULL__
        if (idig(ar__2(211:214)).EQ.0) e_Ni =  rNULL__
        if (o_Ni .EQ. 45) o_Ni =  iNULL__
c    ..............Just test output...........
        write(6,3)
     +  KIC_1,Ion,Li,e_Li,o_Li,C,e_C,o_C,N,e_N,o_N,O,e_O,o_O,Na,e_Na,
     +  o_Na,Mg,e_Mg,o_Mg,Si,e_Si,o_Si,Ca,e_Ca,o_Ca,Ti,e_Ti,o_Ti,V,
     +  e_V,o_V,Cr,e_Cr,o_Cr,Fe,e_Fe,o_Fe,Ni,e_Ni,o_Ni
c    .......End.of.Just test output...........
      end do
      close(1)

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

C Locate position of first digit in string; or return 0
      integer function idig(c)
      character*(*) c
      character*1 c1
      integer lc,i
      lc=len(c)
      idig=0
      do i=1,lc
         if(c(i:i).ne.' ') go to 1
      end do
    1 if(i.gt.lc) return
      c1=c(i:i)
      if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
      if(i.gt.lc) return
      c1=c(i:i)
      if(c1.ge.'0'.and.c1.le.'9') idig=i
      return
      end