FORTRAN Generation
(/./ftp/cats/J/A_A/447/685)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/447/685 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-28
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/447/685       Elemental abundance analyses. XXIX.      (Adelman+, 2006)
*================================================================================
*Elemental abundance analyses with DAO spectrograms
*XXIX. The Mercury-Manganese stars 53 Tau, beta Tau, gamma Crv, and upsilon Her.
*    Adelman S.J., Caliskan H., Gulliver A.F., Teker A.
*   <Astron. Astrophys. 447, 685 (2006)>
*   =2006A&A...447..685A
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table4.dat'	! He/H determinations

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

      character*9   Name       (nr__) ! Star name
      integer*4     lambda     (nr__) ! (0.1nm) Wavelength
      real*4        He_H       (nr__) ! He/H abundace value (1)
*Note (1): Average values:
*       53 Tau : He/H = 0.042+/-0.008
*     beta Tau : He/H = 0.070+/-0.010
*    gamma Crv : He/H = 0.067+/-0.010

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

C  Declarations for 'tab567.dat'	! Abundances for {beta} Tau, {gamma} Crv, 53 Tau
                            and from newly measured lines of {upsilon} Her

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

      character*9   Name_1     (nr__1) ! Star name
      character*6   Ion        (nr__1) ! Ion
      character*5   Mult       (nr__1) ! Multiplet number (1)
      real*8        lambda_1   (nr__1) ! (0.1nm) Laboratory wavelength
      real*4        log_gf     (nr__1) ! log gf value
      character*2   r_log_gf   (nr__1) ! Reference for log(gf) (2)
      integer*4     EWlambda   (nr__1) ! (0.1pm) ?=- Equivalent width
      real*4        log_Nel_Ntot(nr__1) ! ?=- Derived abundance
*Note (1): Multiplet number from Moore 1945 if first line of multiplet;
*          if not from Moore an initial indicating the paper
*Note (2): gf value references are as follows:
*     BG = Biemont et al. (1981ApJ...248..867B)
*     GB = Grevesse et al. (1981, Upper Main Sequence CP Stars, 23rd.
*          Liege Astrophys. Coll., 211)
*     DW = Dworetsky (1980A&A....84..350D)
*     FW = Fuhr & Wiese (1990, in Lide, D. R. ed, CRC Handbook of Chemistry
*          and Physics, CRC Press, Cleveland, OH)
*     HL = Hannaford et al. (1982ApJ...261..736H)
*     KX = Kurucz & Bell (1995, Kurucz CD-Rom No. 23)
*     LA = Lanz & Artru (1985PhyS...32..115L)
*     LD = Lawler & Dakin (1989, JOSA B, 6, 1457)
*     MF = Fuhr, Martin & Wiese, 1988, and Martin, Fuhr & Wiese, 1988, Cat. VI/72
*     N4 = Fuhr & Wiese (2005, "A Critical Compilation of Atomic Transition
*          Probabilities for Neutral and Singly-Ionized Iron",
*          J. Phys. Chem. Ref. Data, in press)
*     SG = Schulz-Gulde (1969, JQSRT, 9, 13)
*     WF = Wiese, Fuhr & Deters (1996, Atomic transition probabilities of
*          carbon, nitrogen, and oxygen : a critical data compilation.
*          Edited by W.L. Wiese, J.R.  Fuhr, and T.M. Deters. Washington, DC)
*     WM = Wiese & Martin (1980, NSRDS-NBS 68. Part 2, US Government
*          Printing Office, Washington, DC)
*     WS = Wiese, Smith & Glennon (1966, NSRDS-NBS 4, US Governement
*          Printing Office, Washington) and Wiese, Smith & Miles (1969, 
*          NSRDS-NBS, D.C.: US Department of Commerce, National Bureau 
*          of Standards)

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

C  Declarations for 'abund.dat'	! Atomic abundances

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

      character*9   Name_2     (nr__2) ! Star name
      character*6   Ion_1      (nr__2) ! Ion
      character*2   Element    (nr__2) ! Element (identical to bytes 11-12)
      real*4        log_Nel_Ntot_1(nr__2) ! Derived abundance of element (1)
      real*4        e_log_Nel_Ntot(nr__2) ! ? rms uncertainty on (Nel/Ntot)
*Note (1): Ratio of number of atoms to the total number of atoms per unit volume

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

C  Declarations for 'table8.dat'	! Comparison of Results (logN/H) for 53 Tau, {gamma} 
                            Crv, and {upsilon} Her last analysis with this paper

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

      character*9   Name_3     (nr__3) ! Star name
      character*6   Ion_2      (nr__3) ! Ion
      real*4        log_Nel_H_old(nr__3) ! Previous relative abundance (1)
      real*4        log_Nel_H  (nr__3) ! This Paper relative abundance
*Note (1): Previous log(Nel/H) values are from
*     Paper II (Adelman, 1987MNRAS.228..573A) for 53 Tau,
*     Fremat & Houziaux ( 1997A&A...320..580F) for {gamma} Crv,
*     Paper XXIV (Adelman et al., 2001, Cat. <J/A+A/367/597> for {upsilon} Her

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

C  Loading file 'table4.dat'	! He/H determinations

C  Format for file interpretation

    1 format(A9,2X,I4,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,26
        read(1,'(A20)')ar__
        read(ar__,1)Name(i__),lambda(i__),He_H(i__)
c    ..............Just test output...........
        write(6,1)Name(i__),lambda(i__),He_H(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tab567.dat'	! Abundances for {beta} Tau, {gamma} Crv, 53 Tau
*                            and from newly measured lines of {upsilon} Her

C  Format for file interpretation

    2 format(A9,1X,A6,2X,A5,1X,F7.2,2X,F5.2,2X,A2,2X,I3,2X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tab567.dat')
      write(6,*) '....Loading file: tab567.dat'
      do i__=1,667
        read(1,'(A54)')ar__1
        read(ar__1,2)
     +  Name_1(i__),Ion(i__),Mult(i__),lambda_1(i__),log_gf(i__),
     +  r_log_gf(i__),EWlambda(i__),log_Nel_Ntot(i__)
        if (EWlambda(i__) .EQ. 45) EWlambda(i__) =  iNULL__
        if (idig(ar__1(50:54)).EQ.0) log_Nel_Ntot(i__) =  rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1(i__),Ion(i__),Mult(i__),lambda_1(i__),log_gf(i__),
     +  r_log_gf(i__),EWlambda(i__),log_Nel_Ntot(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'abund.dat'	! Atomic abundances

C  Format for file interpretation

    3 format(A9,1X,A6,2X,A2,2X,F5.2,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'abund.dat')
      write(6,*) '....Loading file: abund.dat'
      do i__=1,73
        read(1,'(A32)')ar__2
        read(ar__2,3)
     +  Name_2(i__),Ion_1(i__),Element(i__),log_Nel_Ntot_1(i__),
     +  e_log_Nel_Ntot(i__)
        if(ar__2(29:32) .EQ. '') e_log_Nel_Ntot(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2(i__),Ion_1(i__),Element(i__),log_Nel_Ntot_1(i__),
     +  e_log_Nel_Ntot(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table8.dat'	! Comparison of Results (logN/H) for 53 Tau, {gamma} 
*                            Crv, and {upsilon} Her last analysis with this paper

C  Format for file interpretation

    4 format(A9,2X,A6,3X,F5.2,2X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table8.dat')
      write(6,*) '....Loading file: table8.dat'
      do i__=1,56
        read(1,'(A32)')ar__3
        read(ar__3,4)
     +  Name_3(i__),Ion_2(i__),log_Nel_H_old(i__),log_Nel_H(i__)
c    ..............Just test output...........
        write(6,4)
     +  Name_3(i__),Ion_2(i__),log_Nel_H_old(i__),log_Nel_H(i__)
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