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

Conversion of standardized ReadMe file for file /./ftp/cats/V/32A 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-18
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/32A       Stars within 25 pc of the Sun    (Woolley+ 1970)
*================================================================================
*Catalogue of Stars within 25 Parsecs of the Sun
*     Woolley R.v.d.R., Epps E.A., Penston M.J., Pocock S.B.
*    <Royal Obs. Ann. 5 (1970)>
*    =1970ROAn....5....1W
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The catalogue of stars within 25pc

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

C  B1950 position composed of: RAh RAm RAs DE- DEd (Epoch=1950)
      real*8        RAdeg       ! (deg) Right Ascension B1950, Epoch=1950
      real*8        DEdeg       ! (deg)     Declination B1950, Epoch=1950
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     Woolley     ! *Sequence number
      character*1   m_Woolley   ! Component identification
      integer*4     plx         ! (mas) ?Parallax
      character*2   e_plx       ! (mas) *[S0-9 ]Probable error in plx
      integer*4     n_plx       ! ?Note:'8' if e_plx < 15%, '9' if e_plx < 10%
      real*4        pmRA        ! (s/yr) ?Proper motion in RA
      real*8        pmDE        ! (arcsec/yr) ?Proper motion in Dec
      real*4        RVel        ! (km/s) ?Radial velocity
      character*1   n_RVel      ! *[JV]Note on RV
      integer*4     U           ! (km/s) ?U component of space velocity
*                                    (toward galactic centre)
      integer*4     V           ! (km/s) ?V component of space velocity
*                                    (toward galactic rotation)
      integer*4     W           ! (km/s) ?W component of space velocity
*                                    (toward North galactic pole)
      integer*4     GCdist      ! (10-4) *?Galactocentric distance in units of
*                                    Sun's distance from the center
      integer*4     e           ! ?Box orbit eccentricity (1)
      integer*4     i           ! (10-4rad) ?Box orbit angle (highest inclination
*                                     of the orbit) (1)
      integer*4     LC_Code     ! *?Luminosity class code
      character*3   SpType      ! Spectral type
      character*1   r_SpType    ! *[124] Coded source of spectral type
      real*4        Mag         ! (mag) [-2/19]? Magnitude m(v) or m(pg) (see n_Mag)
      character*1   n_Mag       ! *[JPV]Magnitude code
      real*4        B_V         ! (mag) ?B-V color
      real*4        U_B         ! (mag) ?U-B color
      real*4        Mv          ! (mag) *?Absolute visual magnitude
      integer*4     RA1900h     ! (h) ?Hours RA, equinox B1900, epoch 1900.0
      integer*4     RA1900dm    ! (0.1min) ?Minutes RA, equinox B1900, epoch 1900.0
      character*1   DE1900_     ! ?Sign Dec, equinox B1900, epoch 1900.0
      integer*4     DE1900d     ! (deg) ?Degrees Dec, equinox B1900, epoch 1900.0
      integer*4     DE1900m     ! (arcmin) ?Minutes Dec, equinox B1900, epoch 1900.0
      integer*4     RAh         ! (h) ?Right Ascension B1950, epoch 1950 (hours)
      integer*4     RAm         ! (min) ?Right Ascension B1950, epoch 1950 (minutes)
      integer*4     RAs         ! (s) ?Right Ascension B1950, epoch 1950 (seconds)
      character*1   DE_         ! ?Declination B1950, epoch 1950 (sign)
      integer*4     DEd         ! (deg) ?Declination B1950, epoch 1950 (degrees)
      integer*4     DEdm        ! (0.1arcmin) ?Declination B1950, epoch 1950 (deci-minutes)
      character*5   GCTP        ! Gen. Cat. of Trigonometric Parallaxes <I/60>
      integer*4     HD          ! [1/290000]? Henry Draper Catalog (HD) number
      character*10  DM          ! Durchmusterung (BD, CD, or CP)
      character*5   GCRV        ! Gen. Cat. of Radial Velocities (GCRV) number
      character*6   PM_Name     ! Name from other proper-motion catalog
      integer*4     HR          ! ?Bright Star = Harvard Revised catalog <V.50>
      character*3   Vys         ! Number in red dwarf lists of Vyssotsky
      character*1   Remark1     ! [23456789] First remark code (2)
      character*1   Remark2     ! [23456789] Second remark code (2)
*Note on Woolley:
*    Star sequence numbers less than 1000 are from Gliese (1957);
*    new stars have a number > 9000; The Sun is #0 (and therefore lacks entries
*    in fields such as the RA and Dec.
*Note on e_plx:
*   "S" indicates spectroscopic parallax
*Note on n_RVel:
*    J = combined components of binary
*    V = variable velocity
*Note on GCdist:
*    i.e GCdist represents parsecs if the Sun distance is 10kpc. See
*    also in file "adc.doc"
*Note on LC_Code:
*    1 = I or c;   2 = II or c;
*    3 = III or g; 4 = IV or sg;
*    5 = V or d;   6 = VI or sd;
*    7 = D or wd.
*    Intermediate classes have no codes, e.g. 4 is given for IV-V.
*Note on r_SpType:
*    1 if MK;
*    2 if combined MK type for multiple system;
*    4 if combined non-MK;
*    blank  if non-MK.
*Note on n_Mag:
*    J = combined light for multiple system
*    P = Mag indicates a photographic magnitude
*    V = variable magnitude
*Note on Mv:
*    Visual magnitude is reported to 0.01 mag if both probable error of
*    parallax < 10% and V is given to 0.01 mag.
*Note (1): see details in file "adc.doc" or in the original publication.
*Note (2): the codes are
*   2 = spectroscopic binary
*   3 = spectroscopic triple
*   4 = unresolved double, unknown nature
*   5 = UV Ceti flare star
*   6 = eclipsing binary
*   7 = semi-regular variable
*   8 = astrometric binary
*   9 = planetary nebula

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

C  Loading file 'catalog.dat'	! The catalogue of stars within 25pc

C  Format for file interpretation

    1 format(
     +  I4,A1,I3,A2,I1,F6.4,F7.3,F6.1,A1,I4,I4,I4,I5,I4,I4,I1,A3,A1,
     +  F5.2,A1,F5.2,F5.2,F5.2,I2,I3,A1,I2,I2,I2,I2,I2,A1,I2,I3,A5,I6,
     +  A10,A5,A6,I4,A3,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,2150
        read(1,'(A145)')ar__
        read(ar__,1)
     +  Woolley,m_Woolley,plx,e_plx,n_plx,pmRA,pmDE,RVel,n_RVel,U,V,W,
     +  GCdist,e,i,LC_Code,SpType,r_SpType,Mag,n_Mag,B_V,U_B,Mv,
     +  RA1900h,RA1900dm,DE1900_,DE1900d,DE1900m,RAh,RAm,RAs,DE_,DEd,
     +  DEdm,GCTP,HD,DM,GCRV,PM_Name,HR,Vys,Remark1,Remark2
        if(ar__(6:8) .EQ. '') plx = iNULL__
        if(ar__(11:11) .EQ. '') n_plx = iNULL__
        if(ar__(12:17) .EQ. '') pmRA = rNULL__
        if(ar__(18:24) .EQ. '') pmDE = rNULL__
        if(ar__(25:30) .EQ. '') RVel = rNULL__
        if(ar__(32:35) .EQ. '') U = iNULL__
        if(ar__(36:39) .EQ. '') V = iNULL__
        if(ar__(40:43) .EQ. '') W = iNULL__
        if(ar__(44:48) .EQ. '') GCdist = iNULL__
        if(ar__(49:52) .EQ. '') e = iNULL__
        if(ar__(53:56) .EQ. '') i = iNULL__
        if(ar__(57:57) .EQ. '') LC_Code = iNULL__
        if(ar__(62:66) .EQ. '') Mag = rNULL__
        if(ar__(68:72) .EQ. '') B_V = rNULL__
        if(ar__(73:77) .EQ. '') U_B = rNULL__
        if(ar__(78:82) .EQ. '') Mv = rNULL__
        if(ar__(83:84) .EQ. '') RA1900h = iNULL__
        if(ar__(85:87) .EQ. '') RA1900dm = iNULL__
        if(ar__(89:90) .EQ. '') DE1900d = iNULL__
        if(ar__(91:92) .EQ. '') DE1900m = iNULL__
        if(ar__(93:94) .EQ. '') RAh = iNULL__
        if(ar__(95:96) .EQ. '') RAm = iNULL__
        if(ar__(97:98) .EQ. '') RAs = iNULL__
        if(ar__(100:101) .EQ. '') DEd = iNULL__
        if(ar__(102:104) .EQ. '') DEdm = iNULL__
        if(ar__(110:115) .EQ. '') HD = iNULL__
        if(ar__(137:140) .EQ. '') HR = 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(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Woolley,m_Woolley,plx,e_plx,n_plx,pmRA,pmDE,RVel,n_RVel,U,V,W,
     +  GCdist,e,i,LC_Code,SpType,r_SpType,Mag,n_Mag,B_V,U_B,Mv,
     +  RA1900h,RA1900dm,DE1900_,DE1900d,DE1900m,RAh,RAm,RAs,DE_,DEd,
     +  DEdm,GCTP,HD,DM,GCRV,PM_Name,HR,Vys,Remark1,Remark2
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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