FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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.5, on 2013-May-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__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. III/226              Rotational Velocities of Stars     (Glebocki+ 2000)
*================================================================================
*The Catalogue of Stellar Projected Rotational Velocities
*    Glebocki R., Gnacinski P., Stawikowski A.
*   <Acta Astron., 50, 509 (2000)>
*   =2000AcA....50..509G
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! Catalog of rotational velocities

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

      real*8        RA_         ! (deg) Right Ascension J2000
      real*8        Dec         ! (deg)     Declination J2000
      integer*4     Seq         ! [1-17490]+ Sequential number
      character*17  Name        ! Star Name
      integer*4     HD          ! ? HD catalog number
      character*3   Bin         ! Binarity note (1)
      integer*4     HR          ! ? HR catalog number
      character*12  DM          ! DM catalog symbol
      integer*4     HIP         ! ? Hipparcos number
      integer*4     RAh         ! (h) ? Right Ascension J2000 (hours)
      real*4        RAm         ! (min) ? Right Ascension J2000 (minutes)
      character*1   DE_         ! ? Declination J2000 (sign)
      integer*4     DEd         ! (deg) ? Declination J2000 (degrees)
      real*4        DEm         ! (arcmin) ? Declination J2000 (minutes)
      real*4        Vmag        ! (mag) ? Magnitude in V filter (2)
      character*17  SpType      ! Spectral Type
      real*8        vsini       ! (km/s) Rotational Velocity
      real*4        e_vsini     ! (km/s) ? Error on vsini
      character*2   n_vsini     ! [':<=> ] Notes about vsini and its error (3)
      character*4   Method      ! Method used for RotVel (4)
      character*3   r_vsini     ! Reference detailed in refs.dat
*Note (1): A=prim., B=sec., T=tertiary, C=cold, H=hot.
*     For other designations see the referenced paper.
*Note (2): If V magnitude was not given in the Simbad Database, then
*     the B filter magnitude was used.
*Note (3): The symbols <,<=,>,>=  denote that vsini is an upper or
*    lower limit. Colon (:) indicates an uncertain value, double-colon
*    (::) indicates very uncertain value. The apostrophe (') is used for
*    estimation of error given for the whole analysed sample.
*Note (4): The symbols have the following meaning:
*    FTLP = Fourier Transform of Line Profile,
*    C-C  = Cross-correlation technique,
*    FWHM = Calibrated line width at half maximum,
*    Conv = Convolution with calculated rotational broadening,
*    LW   = Comparison (eye) with standards,
*    Ref  = Special procedure: see the referenced paper.

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

C  Declarations for 'refs.dat'	! References

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

      character*3   RefNo       ! Reference Symbol
      character*19  BibCode     ! Bicode
      character*25  Aut         ! Author's name
      character*124 Com         ! Comments

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

C  Loading file 'catalog.dat'	! Catalog of rotational velocities

C  Format for file interpretation

    1 format(
     +  I5,1X,A17,1X,I6,1X,A3,1X,I4,1X,A12,1X,I6,1X,I2,1X,F4.1,1X,A1,
     +  I2,1X,F4.1,1X,F5.1,1X,A17,1X,F7.2,1X,F6.2,A2,1X,A4,1X,A3)

C  Effective file loading

      open(unit=1,file='catalog.dat', status='old')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,17490
        read(1,'(A126)')ar__
        read(ar__,1)
     +  Seq,Name,HD,Bin,HR,DM,HIP,RAh,RAm,DE_,DEd,DEm,Vmag,SpType,
     +  vsini,e_vsini,n_vsini,Method,r_vsini
        if(ar__(25:30) .EQ. '') HD = iNULL__
        if(ar__(36:39) .EQ. '') HR = iNULL__
        if(ar__(54:59) .EQ. '') HIP = iNULL__
        if(ar__(61:62) .EQ. '') RAh = iNULL__
        if(ar__(64:67) .EQ. '') RAm = rNULL__
        if(ar__(70:71) .EQ. '') DEd = iNULL__
        if(ar__(73:76) .EQ. '') DEm = rNULL__
        if(ar__(78:82) .EQ. '') Vmag = rNULL__
        if(ar__(110:115) .EQ. '') e_vsini = rNULL__
c       Derive coordinates RA_ and Dec from input data
c       (RA_ and Dec are set to rNULL_ when unknown)
        RA_ = RAh
        if(RAh .GE. 0) RA_=RAh*15.
        if(RAm .GE. 0) RA_=RA_+RAm/4.
        Dec = DEd
        if(DEm .GE. 0) Dec=Dec+DEm/60.
        if(DE_.EQ.'-'.AND.Dec.GE.0) Dec=-Dec
c    ..............Just test output...........
        write(6,1)
     +  Seq,Name,HD,Bin,HR,DM,HIP,RAh,RAm,DE_,DEd,DEm,Vmag,SpType,
     +  vsini,e_vsini,n_vsini,Method,r_vsini
        write(6,'(6H Pos: 2F8.4)') RA_,Dec
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    2 format(A3,1X,A19,1X,A25,1X,A124)

C  Effective file loading

      open(unit=1,file='refs.dat', status='old')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,242
        read(1,'(A174)')ar__1
        read(ar__1,2)RefNo,BibCode,Aut,Com
c    ..............Just test output...........
        write(6,2)RefNo,BibCode,Aut,Com
c    .......End.of.Just test output...........
      end do
      close(1)

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