FORTRAN Generation
(/./ftp/cats/J/A_A/613/A65)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/613/A65 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-20
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/613/A65       Spectroscopic parameters of O-type stars    (Holgado+, 2018)
*================================================================================
*The IACOB project.
*V. Spectroscopic parameters of the O-type stars in the modern grid of standards
*for spectral classification.
*    Holgado G., Simon-Diaz S., Barba R.H., Puls J., Herrero A., Castro N.,
*    Garcia M., Maiz Apellaniz J., Negueruela I., Sabin-Sanjulian C.
*    <Astron. Astrophys. 613, A65 (2018)>
*    =2018A&A...613A..65H        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'tabled1.dat'	! Complete list of stars considered in this work

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

      character*17  Target     (nr__) ! Name of the star
      character*14  OName      (nr__) ! Alternative name of the star
      character*4   SpType     (nr__) ! Spectral type
      character*5   LumClass   (nr__) ! Luminosity class
      integer*4     NOT        (nr__) ! Number of available spectra with NOT
      integer*4     Mercator   (nr__) ! Number of available spectra with Mercator
      integer*4     FEROS_MPI2_2(nr__) ! Number of available spectra with FEROS
      integer*4     CAFE       (nr__) ! Number of available spectra with CAFE
      character*37  SpecUsed   (nr__) ! Spectra used in the analysis
      real*8        JD         (nr__) ! (d) ?=- Julian date (JD-2450000)
      integer*4     S_Nc       (nr__) ! ?=0 Signal-to-noise of the continuum
      character*18  Line       (nr__) ! Line used for the broadening parameter
      integer*4     S_Nl       (nr__) ! ?=- Signal-to-noise of the line
      integer*4     EW         (nr__) ! (0.1pm) ?=- Equivalent width of the line (m{AA})
      integer*4     RV         (nr__) ! (km/s) ?=- Radial velocity
      integer*4     e_RV       (nr__) ! (km/s) ? rms uncertainty on RV
      real*4        RVlit      (nr__) ! (km/s) ?=- Radial velocity in literature
      real*4        e_RVlit    (nr__) ! (km/s) ? rms uncertainty on RVlit
      character*2   r_RVlit    (nr__) ! [* ] Reference for RVlit (1)
*Note (1): References as follows:
*     *  = Values from Gontcharov et al. (2006AstL...32..759G, Cat. III/252)
*     ** = Values from Kharchenko et al. (2007AN....328..889K, Cat. III/254)

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

C  Declarations for 'tabled2.dat'	! Spectroscopic parameters for the complete
                                 sample of stars

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

      character*17  Target_1   (nr__1) ! Name of the star
      character*1   n_Target   (nr__1) ! [a] Note (1)
      character*5   SpType_1   (nr__1) ! Spectral type
      character*11  LumClass_1 (nr__1) ! Luminosity class
      integer*4     vsini      (nr__1) ! (km/s) ?=- Projected rotational velocity
      integer*4     vmac       (nr__1) ! (km/s) ?=- Macroturbulent velocity
      character*1   l_Teff     (nr__1) ! Limit flag on Teff
      real*4        Teff       (nr__1) ! (kK) ?=- Effective temperature
      real*4        e_Teff     (nr__1) ! (kK) ? rms uncertainty on Teff
      character*1   l_logg     (nr__1) ! Limit flag on logg
      real*4        logg       (nr__1) ! ([cm/s2]) ?=- logarithm of the surface gravity
      real*4        e_logg     (nr__1) ! ([cm/s2]) ? rms uncertainty on logg
      character*1   l_loggt    (nr__1) ! Limit flag on loggt
      real*4        loggt      (nr__1) ! ([cm/s2]) ?=- Gravity corrected from rotational
*                                     effects (2)
      real*4        e_loggt    (nr__1) ! ([cm/s2]) ? rms uncertainty on loggt
      character*1   l_Y_He     (nr__1) ! Limit flag on Y(He)
      real*4        Y_He       (nr__1) ! ([-]) ?=- Helium abundance
      real*4        e_Y_He     (nr__1) ! ([-]) ? rms uncertainty on Y(He)
      character*1   l_vmic     (nr__1) ! Limit flag on vmic
      real*4        vmic       (nr__1) ! (km/s) ?=- Microturbulence velocity or lower value
*                                     of microturbulence velocity interval
      integer*4     e_vmic     (nr__1) ! (km/s) ? rms uncertainty on vmic
      real*4        Bvmic      (nr__1) ! (km/s) ? Upper value of microturbulence velocity
*                                     interval
      character*1   l_logQ     (nr__1) ! Limit flag on logQ
      real*4        logQ       (nr__1) ! ?=- Wind-strength parameter
      real*4        e_logQ     (nr__1) ! ? rms uncertainty on logQ
      character*2   Qual       (nr__1) ! Quality flag (Q1-Q4) (3)
      character*7   Notes      (nr__1) ! Multi-epoch notes (4)
      character*4   OWNNote    (nr__1) ! OWN multi-epoch notes (4)
*Note (1): Note as follows:
*  a = For these three stars the luminosity class has changed from III to IV in
*        the new GOSSS OB2500 v3.0 grid of standards (Maiz Apellaniz et al.,
*        2016ApJS..224....4M)
*Note (2): g_true_=g+g_cent_, g_cent_~(V_rot_*sini)^2^)/R*
*Note (3): Quality flag as follows:
*   Q1 = acceptable fit with no major remarks,
*   Q2 = HeII {lambda}4686 appearing in the observed spectrum as an inverse
*         P-Cygni profile or showing a double peak
*   Q3 = H{alpha} and HeII {lambda}4686 not fitting at the same time
*   Q4 = no HeI available to properly constrain the effective temperature of
*         the star
*Note (4): Notes as follows:
*      C    = Constant
*      LPV  = Line profile variability
*      WVa  = Wind variable
*      WVe  = Wind variable
*      MD0  = More Data needed, only 0 spectra available
*      MD1  = More Data needed, only 1 spectra available
*      MD2  = More Data needed, only 2 spectra available
*      SB1  = single-line eclipsing binary
*      SB2  = double-line eclipsing binary
*      VAR  = Variable
*      VAR? = Variable ?

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

C  Loading file 'tabled1.dat'	! Complete list of stars considered in this work

C  Format for file interpretation

    1 format(
     +  A17,3X,A14,1X,A4,1X,A5,1X,I3,1X,I3,1X,I2,1X,I2,1X,A37,1X,F8.3,
     +  1X,I3,1X,A18,1X,I3,1X,I3,1X,I4,1X,I1,1X,F6.1,1X,F4.1,A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tabled1.dat')
      write(6,*) '....Loading file: tabled1.dat'
      do i__=1,131
        read(1,'(A158)')ar__
        read(ar__,1)
     +  Target(i__),OName(i__),SpType(i__),LumClass(i__),NOT(i__),
     +  Mercator(i__),FEROS_MPI2_2(i__),CAFE(i__),SpecUsed(i__),
     +  JD(i__),S_Nc(i__),Line(i__),S_Nl(i__),EW(i__),RV(i__),
     +  e_RV(i__),RVlit(i__),e_RVlit(i__),r_RVlit(i__)
        if (idig(ar__(99:106)).EQ.0) JD(i__) =  rNULL__
        if (S_Nl(i__) .EQ. 45) S_Nl(i__) =  iNULL__
        if (EW(i__) .EQ. 45) EW(i__) =  iNULL__
        if (RV(i__) .EQ. 45) RV(i__) =  iNULL__
        if(ar__(144:144) .EQ. '') e_RV(i__) = iNULL__
        if (idig(ar__(146:151)).EQ.0) RVlit(i__) =  rNULL__
        if(ar__(153:156) .EQ. '') e_RVlit(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Target(i__),OName(i__),SpType(i__),LumClass(i__),NOT(i__),
     +  Mercator(i__),FEROS_MPI2_2(i__),CAFE(i__),SpecUsed(i__),
     +  JD(i__),S_Nc(i__),Line(i__),S_Nl(i__),EW(i__),RV(i__),
     +  e_RV(i__),RVlit(i__),e_RVlit(i__),r_RVlit(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tabled2.dat'	! Spectroscopic parameters for the complete
*                                 sample of stars

C  Format for file interpretation

    2 format(
     +  A17,A1,1X,A5,1X,A11,1X,I3,1X,I3,1X,A1,F4.1,1X,F3.1,1X,A1,F4.2,
     +  1X,F4.2,1X,A1,F4.2,1X,F4.2,1X,A1,F4.2,1X,F4.2,1X,A1,F4.1,2X,
     +  I1,1X,F4.1,1X,A1,F5.1,1X,F3.1,1X,A2,1X,A7,1X,A4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tabled2.dat')
      write(6,*) '....Loading file: tabled2.dat'
      do i__=1,131
        read(1,'(A128)')ar__1
        read(ar__1,2)
     +  Target_1(i__),n_Target(i__),SpType_1(i__),LumClass_1(i__),
     +  vsini(i__),vmac(i__),l_Teff(i__),Teff(i__),e_Teff(i__),
     +  l_logg(i__),logg(i__),e_logg(i__),l_loggt(i__),loggt(i__),
     +  e_loggt(i__),l_Y_He(i__),Y_He(i__),e_Y_He(i__),l_vmic(i__),
     +  vmic(i__),e_vmic(i__),Bvmic(i__),l_logQ(i__),logQ(i__),
     +  e_logQ(i__),Qual(i__),Notes(i__),OWNNote(i__)
        if (vsini(i__) .EQ. 45) vsini(i__) =  iNULL__
        if (vmac(i__) .EQ. 45) vmac(i__) =  iNULL__
        if (idig(ar__1(47:50)).EQ.0) Teff(i__) =  rNULL__
        if(ar__1(52:54) .EQ. '') e_Teff(i__) = rNULL__
        if (idig(ar__1(57:60)).EQ.0) logg(i__) =  rNULL__
        if(ar__1(62:65) .EQ. '') e_logg(i__) = rNULL__
        if (idig(ar__1(68:71)).EQ.0) loggt(i__) =  rNULL__
        if(ar__1(73:76) .EQ. '') e_loggt(i__) = rNULL__
        if (idig(ar__1(79:82)).EQ.0) Y_He(i__) =  rNULL__
        if(ar__1(84:87) .EQ. '') e_Y_He(i__) = rNULL__
        if (idig(ar__1(90:93)).EQ.0) vmic(i__) =  rNULL__
        if(ar__1(96:96) .EQ. '') e_vmic(i__) = iNULL__
        if(ar__1(98:101) .EQ. '') Bvmic(i__) = rNULL__
        if (idig(ar__1(104:108)).EQ.0) logQ(i__) =  rNULL__
        if(ar__1(110:112) .EQ. '') e_logQ(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Target_1(i__),n_Target(i__),SpType_1(i__),LumClass_1(i__),
     +  vsini(i__),vmac(i__),l_Teff(i__),Teff(i__),e_Teff(i__),
     +  l_logg(i__),logg(i__),e_logg(i__),l_loggt(i__),loggt(i__),
     +  e_loggt(i__),l_Y_He(i__),Y_He(i__),e_Y_He(i__),l_vmic(i__),
     +  vmic(i__),e_vmic(i__),Bvmic(i__),l_logQ(i__),logQ(i__),
     +  e_logQ(i__),Qual(i__),Notes(i__),OWNNote(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