FORTRAN Generation
(/./ftp/cats/V/31A)

Conversion of standardized ReadMe file for file /./ftp/cats/V/31A 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 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. V/31A               Kinematic data for O-B5 stars    (Rubin+, 1962)
*================================================================================
*Catalogue of Kinematic Data for O-B5 stars
*     Rubin V.C., Burley J., Kiasatpoor A., Klock B., Pease G.,
*     Rutscheidt E., Smith C.
*    <Astron. J. 67, 491 (1962)>
*    =1962AJ.....67..491R                (SIMBAD/NED Reference)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The catalogue

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

C  B1950 position composed of: RAh DE- DEd DEm
      real*8        RAdeg       ! (deg) Right Ascension B1950
      real*8        DEdeg       ! (deg)     Declination B1950
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     Num         ! [1/1440]+ Running number
      character*1   pmPubl      ! [*] "*" if star has a published
*                                    proper motion
      integer*4     r_RVel      ! [1/16]? Source for radial velocity if
*                                    not in GCRV (see "refs" file)
      integer*4     GCRV        ! [1/15037]? GCRV (Wilson ref. 58) number
      integer*4     HD          ! [1/350000]? Henry Draper (HD) Catalogue
*                                    number
      character*9   Other       ! Identifier if no HD number was available (1)
      integer*4     GLON        ! (0.01deg) [0/36000[ Galactic longitude
      integer*4     GLAT        ! (0.01deg) [-9000/+9000] Galactic latitude
      integer*4     RAh         ! (h) Right ascension in hours [B1950]
      integer*4     RAdm        ! (0.1min) Right ascension in tenths of minutes [B1950]
      character*1   DE_         ! Sign of declination
      integer*4     DEd         ! (deg) Declination degrees [B1950]
      integer*4     DEm         ! (arcmin) Declination arcminutes [B1950]
      real*4        RVel        ! (km/s) Radial velocity
      real*4        Vmag        ! (mag) ? Visual or Photographic magnitude
*                                    (see n_Vmag)
      character*1   n_Vmag      ! [PV:+] Remark on Vmag (2)
      character*12  SpType      ! Spectral classification, on the MK
*                                    system when available
      integer*4     AbsMag      ! (0.1mag) Absolute magnitude (M) when available,
*                                    most often from Johnson and Iriarte
*                                    (1958, ref.25)
      character*1   n_AbsMag    ! [*] The "*" indicates stars with no
*                                    luminosity class available; class V was
*                                    assumed and Johnson-Iriarte calibration
*                                    adopted
      real*4        Av          ! (mag) [0/6]?=9.99 Visual absorption (Av) (3)
      integer*4     m_M         ! (0.1mag) []?=999 Distance modulus computed from m-M-Av
      character*1   n_m_M       ! [*] "*" indicates that photometric data
*                                    were missing for second star in a binary
      integer*4     r_Vmag      ! [1/60]? Source for visual apparent
*                                    magnitude Vmag
      integer*4     r_Sp        ! [1/60] Source for spectral classification
      integer*4     r_AbsMag    ! [1/60]? Source for absolute magnitude M
      integer*4     r_Av        ! [1/60]? Source for visual absorption Av
      integer*4     pmRA        ! (0.1ms/yr) ? Proper motion in right ascension
      integer*4     pmDE        ! (mas/yr) ? Proper motion in declination
      integer*4     pmGLON      ! (mas/yr) ? Proper-motion in galactic longitude
      integer*4     pmGLAT      ! (mas/yr) ? Proper-motion in galactic latitude
      integer*4     r           ! (100pc) ? Heliocentric Distance computed from (m-M)
      integer*4     R_1         ! (100pc) ? Galactocentric distance (Rsun=8.2kpc)
      integer*4     Tl          ! (km/s) ? Tangential motion in galactic frame (4)
      integer*4     Tb          ! (km/s) ? Tangential motion in galactic frame (4)
      integer*4     xdot        ! (km/s) ? Space motion of the star (4)
      integer*4     ydot        ! (km/s) ? Space motion of the star (4)
      integer*4     zdot        ! (km/s) ? Space motion of the star (4)
      integer*4     cirVel      ! (km/s) ? Circular velocity (ortho-radial in
*                                    the galactocentric frame)
      integer*4     e_cirVel    ! (km/s) ? Probable error on cirVel
      integer*4     Pi          ! (km/s) ? Radial velocity in the galactocentric frame
      integer*4     e_Pi        ! (km/s) ? Probable error on Pi
      character*5   pmRef       ! References for proper motions (5)
*Note (1): If no HD number is available, this designation represents
*    depending on byte 22:
*    "+" or "-" : sign of Bonner Durchmusterung (BD) or
*                 Cape Photographic Durchmusterung (CPD)
*                 For BD and CPD numbers, form is ZZNNNNNL where
*                       ZZ = absolute value of declination zone
*                    NNNNN = number within zone
*                        L = blank, or "A", "B", etc.
*           "A" : Aitken Double Star Catalogue number
*           "I" : Index Catalogue (IC) number
*           "K" : Rspteyn (K) Selected Area number
*           "M" : Messier's (M) Catalogue number
*           "N" : New General Catalogue (NGC) number
*Note (2): the following remark concerns the magnitude:
*     "P" indicates a photographic magnitude;
*     "V" refers to a variable;
*     "+" indicates a variable photographic
*     ":" indicates last digit is uncertain
*Note (3): the absorption is most often from (B-V) measures.
*    A value of 3 for the ratio of total to selective absorption has
*    been assumed. The entry Av = 0.0 indicates that the computed value
*    was negative, but always equal to 0.0 to one decimal place.
*Note (4): velocity not corrected for the solar motion
*Note (5): References of proper motions:
*    ---------------------------------------------------------------------
*                                                      Number   Prob.Err.
*    #                                                 Stars     (mas/yr)
*    ---------------------------------------------------------------------
*    1   Bertiau, F. C., S. J. 1958                       30       3
*          Astrophys. J., 128, 533.
*    2   Morgan, H. R. 1956, Astron. J., 61, 90.         304       3
*    3   Morgan, H. R. 1952, Astron. Papers Am.           51       3
*          Ephemeris and Naut. Almanac XIII, part III.
*    4   Trans. Astron. Obs. Yale University,             78       4
*          24, 1953; 25, 1954; 26, 1959; 27, 1959.
*    5   Annals Cape Observatory, XVII, 1954;              35      7
*          XVIII, 1954; XIX, 1958; XX, 1958.
*    6   Boss, B. 1937, General Catalogue of             211       6
*          33 342 Stars for Epoch 1950 (Carnegie
*          Institution of Washington, Washington, D.C.)
*    7   Trans. Astron. Obs. Yale University,            185       7
*          12, 1940; 13, 1943; 14, 1943; 16, 1945;
*          17, 1945; 18, 1947; 19, 1948; 20, 1949;
*          21, 1950; 22, 1950.
*    8   Reiz, A., 1957, Ann. Lund Obs. 14,1               3       6
*    9   Morgan, H.R., 1933, Publ. U.S. Naval Obs.         1       6
*          2nd Ser. XIII, 163.
*    ---------------------------------------------------------------------

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

C  Declarations for 'refs.dat'	! References

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

      integer*4     RefNo       ! [1,60] Reference number, repeated when
*                                     several lines
      character*76  Text        ! Text of reference

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

C  Loading file 'catalog.dat'	! The catalogue

C  Format for file interpretation

    1 format(
     +  I4,A1,1X,I2,1X,I5,1X,I6,A9,1X,I5,1X,I5,1X,I2,I3,1X,A1,I2,I2,
     +  F6.1,F5.2,A1,1X,A12,1X,I3,A1,F4.2,1X,I3,A1,1X,I2,2X,I2,2X,I2,
     +  2X,I2,1X,I3,1X,I3,1X,I3,1X,I3,1X,I2,1X,I3,1X,I4,1X,I4,1X,I4,
     +  1X,I4,1X,I4,1X,I4,1X,I3,1X,I4,I3,1X,A5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,1440
        read(1,'(A179)')ar__
        read(ar__,1)
     +  Num,pmPubl,r_RVel,GCRV,HD,Other,GLON,GLAT,RAh,RAdm,DE_,DEd,
     +  DEm,RVel,Vmag,n_Vmag,SpType,AbsMag,n_AbsMag,Av,m_M,n_m_M,
     +  r_Vmag,r_Sp,r_AbsMag,r_Av,pmRA,pmDE,pmGLON,pmGLAT,r,R_1,Tl,Tb,
     +  xdot,ydot,zdot,cirVel,e_cirVel,Pi,e_Pi,pmRef
        if(ar__(7:8) .EQ. '') r_RVel = iNULL__
        if(ar__(10:14) .EQ. '') GCRV = iNULL__
        if(ar__(16:21) .EQ. '') HD = iNULL__
        if(ar__(61:65) .EQ. '') Vmag = rNULL__
        if(ar__(95:96) .EQ. '') r_Vmag = iNULL__
        if(ar__(103:104) .EQ. '') r_AbsMag = iNULL__
        if(ar__(107:108) .EQ. '') r_Av = iNULL__
        if(ar__(110:112) .EQ. '') pmRA = iNULL__
        if(ar__(114:116) .EQ. '') pmDE = iNULL__
        if(ar__(118:120) .EQ. '') pmGLON = iNULL__
        if(ar__(122:124) .EQ. '') pmGLAT = iNULL__
        if(ar__(126:127) .EQ. '') r = iNULL__
        if(ar__(129:131) .EQ. '') R_1 = iNULL__
        if(ar__(133:136) .EQ. '') Tl = iNULL__
        if(ar__(138:141) .EQ. '') Tb = iNULL__
        if(ar__(143:146) .EQ. '') xdot = iNULL__
        if(ar__(148:151) .EQ. '') ydot = iNULL__
        if(ar__(153:156) .EQ. '') zdot = iNULL__
        if(ar__(158:161) .EQ. '') cirVel = iNULL__
        if(ar__(163:165) .EQ. '') e_cirVel = iNULL__
        if(ar__(167:170) .EQ. '') Pi = iNULL__
        if(ar__(171:173) .EQ. '') e_Pi = iNULL__
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Num,pmPubl,r_RVel,GCRV,HD,Other,GLON,GLAT,RAh,RAdm,DE_,DEd,
     +  DEm,RVel,Vmag,n_Vmag,SpType,AbsMag,n_AbsMag,Av,m_M,n_m_M,
     +  r_Vmag,r_Sp,r_AbsMag,r_Av,pmRA,pmDE,pmGLON,pmGLAT,r,R_1,Tl,Tb,
     +  xdot,ydot,zdot,cirVel,e_cirVel,Pi,e_Pi,pmRef
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    2 format(I2,2X,A76)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,74
        read(1,'(A80)')ar__1
        read(ar__1,2)RefNo,Text
c    ..............Just test output...........
        write(6,2)RefNo,Text
c    .......End.of.Just test output...........
      end do
      close(1)

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