FORTRAN Generation
(/./ftp/cats/J/ApJS/186/175)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJS/186/175 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/ApJS/186/175      Far-UV spectroscopic atlas of B stars          (Smith, 2010)
*================================================================================
*A detailed far-ultraviolet spectral atlas of main-sequence B stars.
*    Smith M.A.
*   <Astrophys. J. Suppl. Ser., 186, 175-190 (2010)>
*   =2010ApJS..186..175S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Star sample

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

      character*9   Name       (nr__) ! Star name for which FUSE spectra were used
      character*2   f_Name     (nr__) ! [*C ] Flag on object (1)
      character*8   SpT        (nr__) ! MK Spectral type
      real*4        E_B_V      (nr__) ! ? Interstellar reddening
      integer*4     Teff       (nr__) ! (K) Effective temperature
      character*9   SStar      (nr__) ! Name of star when a HST/STIS or IUE spectrum
*                                  was used. See section 2.2 for further details.
      character*1   f_SStar    (nr__) ! [*] Flag on the second star (1)
      character*5   SpT2       (nr__) ! MK Spectral type of the second star
      integer*4     Teff2      (nr__) ! (K) ? Effective temperature of the second star
*Note (1): Flags as follows:
*   * = stars for which spectral templates were adopted to identify atomic and
*       ISM lines.
*   C = exclusive use of the Copernicus atlas data (Rogerson et al.,
*       1977STIN...7820024R) for tau Sco (not FUSE).

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

C  Declarations for 'tableb0.dat'	! Line identifications in B0 spectra

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

      integer*4     fSp        (nr__1) ! Presence of line in B0(1), B2(2), B8
      real*8        lambda1    (nr__1) ! (0.1nm) ? B0, B2 or B8 primary wavelength (1)
      real*8        lambda2    (nr__1) ! (0.1nm) ? Secondary (member) wavelength (1)
      character*6   Ion        (nr__1) ! Ion identification ("UN" for unknown)
      character*1   u_Ion      (nr__1) ! Uncertainty flag (:) on ion identification
      character*4   ISM        (nr__1) ! "ISM" for interstellar line, "pISM" for
*                                  lines that may appear in photosphere and ISM.
*Note (1): only one of the columns is filled: the line is either the
*     primary or member of a line group.

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

C  Declarations for 'tableb2.dat'	! Line identifications in B2 spectra

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

      integer*4     fSp_1      (nr__2) ! Presence of line in B0(1), B2(2), B8
      real*8        lambda1_1  (nr__2) ! (0.1nm) ? B0, B2 or B8 primary wavelength (1)
      real*8        lambda2_1  (nr__2) ! (0.1nm) ? Secondary (member) wavelength (1)
      character*6   Ion_1      (nr__2) ! Ion identification ("UN" for unknown)
      character*1   u_Ion_1    (nr__2) ! Uncertainty flag (:) on ion identification
      character*4   ISM_1      (nr__2) ! "ISM" for interstellar line, "pISM" for
*                                  lines that may appear in photosphere and ISM.
*Note (1): only one of the columns is filled: the line is either the
*     primary or member of a line group.

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

C  Declarations for 'tableb8.dat'	! Line identifications in B8 spectra

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

      integer*4     fSp_2      (nr__3) ! Presence of line in B0(1), B2(2), B8
      real*8        lambda1_2  (nr__3) ! (0.1nm) ? B0, B2 or B8 primary wavelength (1)
      real*8        lambda2_2  (nr__3) ! (0.1nm) ? Secondary (member) wavelength (1)
      character*6   Ion_2      (nr__3) ! Ion identification ("UN" for unknown)
      character*1   u_Ion_2    (nr__3) ! Uncertainty flag (:) on ion identification
      character*4   ISM_2      (nr__3) ! "ISM" for interstellar line, "pISM" for
*                                  lines that may appear in photosphere and ISM.
*Note (1): only one of the columns is filled: the line is either the
*     primary or member of a line group.

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

C  Loading file 'table1.dat'	! Star sample

C  Format for file interpretation

    1 format(A9,A2,1X,A8,1X,F4.2,1X,I5,1X,A9,A1,1X,A5,1X,I5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,10
        read(1,'(A54)')ar__
        read(ar__,1)
     +  Name(i__),f_Name(i__),SpT(i__),E_B_V(i__),Teff(i__),
     +  SStar(i__),f_SStar(i__),SpT2(i__),Teff2(i__)
        if(ar__(22:25) .EQ. '') E_B_V(i__) = rNULL__
        if(ar__(50:54) .EQ. '') Teff2(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),f_Name(i__),SpT(i__),E_B_V(i__),Teff(i__),
     +  SStar(i__),f_SStar(i__),SpT2(i__),Teff2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tableb0.dat'	! Line identifications in B0 spectra

C  Format for file interpretation

    2 format(1X,I3,4X,F8.3,4X,F8.3,4X,A6,A1,1X,A4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tableb0.dat')
      write(6,*) '....Loading file: tableb0.dat'
      do i__=1,2289
        read(1,'(A44)')ar__1
        read(ar__1,2)
     +  fSp(i__),lambda1(i__),lambda2(i__),Ion(i__),u_Ion(i__),
     +  ISM(i__)
        if(ar__1(9:16) .EQ. '') lambda1(i__) = rNULL__
        if(ar__1(21:28) .EQ. '') lambda2(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  fSp(i__),lambda1(i__),lambda2(i__),Ion(i__),u_Ion(i__),
     +  ISM(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tableb2.dat'	! Line identifications in B2 spectra

C  Format for file interpretation

    3 format(1X,I3,4X,F8.3,4X,F8.3,4X,A6,A1,1X,A4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tableb2.dat')
      write(6,*) '....Loading file: tableb2.dat'
      do i__=1,1612
        read(1,'(A44)')ar__2
        read(ar__2,3)
     +  fSp_1(i__),lambda1_1(i__),lambda2_1(i__),Ion_1(i__),
     +  u_Ion_1(i__),ISM_1(i__)
        if(ar__2(9:16) .EQ. '') lambda1_1(i__) = rNULL__
        if(ar__2(21:28) .EQ. '') lambda2_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  fSp_1(i__),lambda1_1(i__),lambda2_1(i__),Ion_1(i__),
     +  u_Ion_1(i__),ISM_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tableb8.dat'	! Line identifications in B8 spectra

C  Format for file interpretation

    4 format(1X,I3,4X,F8.3,4X,F8.3,4X,A6,A1,1X,A4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tableb8.dat')
      write(6,*) '....Loading file: tableb8.dat'
      do i__=1,2468
        read(1,'(A44)')ar__3
        read(ar__3,4)
     +  fSp_2(i__),lambda1_2(i__),lambda2_2(i__),Ion_2(i__),
     +  u_Ion_2(i__),ISM_2(i__)
        if(ar__3(9:16) .EQ. '') lambda1_2(i__) = rNULL__
        if(ar__3(21:28) .EQ. '') lambda2_2(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  fSp_2(i__),lambda1_2(i__),lambda2_2(i__),Ion_2(i__),
     +  u_Ion_2(i__),ISM_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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