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

Conversion of standardized ReadMe file for file /./ftp/cats/V/70A 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-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/70A               Nearby Stars, Preliminary 3rd Version  (Gliese+ 1991)
*================================================================================
*Preliminary Version of the Third Catalogue of Nearby Stars
*     GLIESE W., JAHREISS H.
*    <Astron. Rechen-Institut, Heidelberg (1991)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The Catalogue

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

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

      character*8   Name       (nr__) ! *Identifier ; see remarks.
      character*2   Comp       (nr__) ! Components (A,B,C,... )
      character*1   DistRel    (nr__) ! *[pqsx] Reliability of the distance
      integer*4     RAh        (nr__) ! (h) ? Right Ascension B1950 (hours)
      integer*4     RAm        (nr__) ! (min) ? Right Ascension B1950 (minutes)
      integer*4     RAs        (nr__) ! (s) ? Right Ascension B1950 (seconds)
      character*1   DE_        (nr__) ! Declination B1950 (sign)
      integer*4     DEd        (nr__) ! (deg) ? Declination B1950 (degrees)
      real*4        DEm        (nr__) ! (arcmin) ? Declination B1950 (minutes)
      real*4        pm         (nr__) ! (arcsec/yr) ? Total proper motion
      character*1   u_pm       (nr__) ! Uncertainty flag (:) on pm
      real*4        pmPA       (nr__) ! (deg) ? Direction angle of proper motion
      real*4        RV         (nr__) ! (km/s) ? Radial velocity
      character*3   n_RV       (nr__) ! *Remark on RV
      character*12  Sp         (nr__) ! Spectral type or color class
      character*1   r_Sp       (nr__) ! *Selected sources
      real*4        Vmag       (nr__) ! (mag) Apparent magnitude
      character*1   r_Vmag     (nr__) ! *Note on origin of magnitude
      character*1   n_Vmag     (nr__) ! [J] joint magnitude
      real*4        B_V        (nr__) ! (mag) ? color
      character*1   r_B_V      (nr__) ! *Note on origin of magnitude
      character*1   n_B_V      (nr__) ! *Joint color
      real*4        U_B        (nr__) ! (mag) ? color
      character*1   r_U_B      (nr__) ! *Note on origin of magnitude
      character*1   n_U_B      (nr__) ! *Joint color
      real*4        R_I        (nr__) ! (mag) ? color
      character*1   r_R_I      (nr__) ! *Note on origin of magnitude
      character*1   n_R_I      (nr__) ! *Joint color
      real*4        trplx      (nr__) ! (mas) ? Trigonometric parallax
      real*4        e_trplx    (nr__) ! (mas) ? Standard error of trig. parallax
      real*4        plx        (nr__) ! (mas) ? Resulting parallax
      real*4        e_plx      (nr__) ! (mas) ? Standard error of res.  parallax
      character*1   n_plx      (nr__) ! *[rwsop] Code on plx
      real*4        Mv         (nr__) ! (mag) Absolute visual magnitude
      character*2   n_Mv       (nr__) ! Note on Mv, copied from cols 74-75
      character*1   q_Mv       (nr__) ! *[a-f] Quality of absolute magnitude
      integer*4     U          (nr__) ! (km/s) ? U space velocity component in the galactic
*                                    plane and directed to the galactic center
      integer*4     V          (nr__) ! (km/s) ? V space velocity component in the galactic
*                                    plane and in the direction of galactic
*                                    rotation
      integer*4     W          (nr__) ! (km/s) ? W space velocity component in the galactic
*                                    plane and in the direction of the
*                                    North Galactic Pole
      integer*4     HD         (nr__) ! [15/352860]? designation
      character*12  DM         (nr__) ! Durchmusterung number BD / CD / CP
      character*9   Giclas     (nr__) ! number        <...>
      character*5   LHS        (nr__) ! number        <...>
      character*5   OtherName  (nr__) ! *Other designations
      character*69  Remarks    (nr__) ! Additional identifications (LTT, LFT,
*                                   Wolf, Ross, etc.) and remarks
*Note on Name: the following acronyms are used:
*     Gl   Gliese: CNS2,                                 =1969VeARI..22....1G
*     GJ   Gliese & Jahreiss, A&AS, 38, 423 (1979)
*     Wo   Woolley et al.,   Roy. Obs. Ann. No. 5 (1970)
*     NN   newly added stars (number added at CDS)
*          See the Nomemclature Note above !
*Note on DistRel: the reliability of the distance is coded:
*     s    trig. parallax > 0.0390 and phot. parallax    <  0.0390
*     x    trig. parallax > 0.0390 and phot. parallax    <  0.0190
*     p    trig. parallax < 0.0390 and phot. parallax    >  0.0390
*     q    trig. parallax < 0.0390 and phot. parallax(:) >  0.0390
*Note on n_RV: the following abbreviations are used:
*     var  variable (?) radial velocity
*     SB?  suspected spectroscopic binary
*     SB   spectroscopic binary
*Note on r_Sp: Selected sources (list not complete) for Sp are:
*     K    Kuiper Type (see Bildelman)                   =1985ApJS...59..197K
*     L    San-Gak Lee                                   =1984AJ.....89..702L
*     O    objective prism MK type (but not Michigan type)
*     R    Robertson type                                =1984AJ.....89.1229R
*     s    Stephenson type       (Catalogue <III/123>)   =1986AJ.....91..144S
*                                                        =1986AJ.....92..139S
*     S    Smethells type (IAU Coll. No 76, p. 421, 1983)
*     U    Upgren et al. UGP number                      =1972AJ.....77..486U
*     W    Mount Wilson type
*Note on r_Vmag, r_U-B, r_B-V, r_R-I:
*     The following codes are used (list not complete):
*     P    photographic
*     *    photometric
*     C    from 'Cape refractor system'
*     c    calculated or transformed
*     v    variable
*     :    uncertain
*Note on n_U-B, n_B-V, n_R-I:  This column should only contain a 'J'
*     indicating joint magnitudes, but some other letters may
*     also be found.
*Note on n_plx: The following indicators are found:
*     r    parallax from spectral types and broad-band colors
*     w    photom. parallax for white dwarfs
*     s    photom. parallax from Stroemgren photometry
*     o    photom. parallax from Stroemgren photometry calculated by E. H. Olsen
*     p    photom. parallax from other colors
*Note on q_Mv: the Quality code for Mv is
*     a               s.e.  <  0.10 mag
*     b    0.11  <    s.e.  <  0.20
*     c    0.21  <    s.e.  <  0.30
*     d    0.31  <    s.e.  <  0.50
*     e    0.51  <    s.e.  <  0.75
*     f    0.76  <    s.e.
*Note on OtherName: the following acronyms are used:
*     V    Vyssotsky number (Catalogue <III/13>)
*     U    UGP       number                      =1972AJ.....77..486U
*     W    white dwarf  (EG or Gr number, see catalogue <III/129>)

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

C  Loading file 'catalog.dat'	! The Catalogue

C  Format for file interpretation

    1 format(
     +  A8,A2,A1,1X,I2,1X,I2,1X,I2,1X,A1,I2,1X,F4.1,1X,F6.3,A1,F5.1,
     +  1X,F6.1,1X,A3,1X,A12,A1,F6.2,A1,A1,F5.2,A1,A1,F5.2,A1,A1,F5.2,
     +  A1,A1,F6.1,F5.1,1X,F6.1,F5.1,A1,1X,F5.2,A2,A1,2X,I4,1X,I4,1X,
     +  I4,1X,I6,1X,A12,1X,A9,1X,A5,1X,A5,1X,A69)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,3803
        read(1,'(A257)')ar__
        read(ar__,1)
     +  Name(i__),Comp(i__),DistRel(i__),RAh(i__),RAm(i__),RAs(i__),
     +  DE_(i__),DEd(i__),DEm(i__),pm(i__),u_pm(i__),pmPA(i__),
     +  RV(i__),n_RV(i__),Sp(i__),r_Sp(i__),Vmag(i__),r_Vmag(i__),
     +  n_Vmag(i__),B_V(i__),r_B_V(i__),n_B_V(i__),U_B(i__),
     +  r_U_B(i__),n_U_B(i__),R_I(i__),r_R_I(i__),n_R_I(i__),
     +  trplx(i__),e_trplx(i__),plx(i__),e_plx(i__),n_plx(i__),
     +  Mv(i__),n_Mv(i__),q_Mv(i__),U(i__),V(i__),W(i__),HD(i__),
     +  DM(i__),Giclas(i__),LHS(i__),OtherName(i__),Remarks(i__)
        if(ar__(13:14) .EQ. '') RAh(i__) = iNULL__
        if(ar__(16:17) .EQ. '') RAm(i__) = iNULL__
        if(ar__(19:20) .EQ. '') RAs(i__) = iNULL__
        if(ar__(23:24) .EQ. '') DEd(i__) = iNULL__
        if(ar__(26:29) .EQ. '') DEm(i__) = rNULL__
        if(ar__(31:36) .EQ. '') pm(i__) = rNULL__
        if(ar__(38:42) .EQ. '') pmPA(i__) = rNULL__
        if(ar__(44:49) .EQ. '') RV(i__) = rNULL__
        if(ar__(76:80) .EQ. '') B_V(i__) = rNULL__
        if(ar__(83:87) .EQ. '') U_B(i__) = rNULL__
        if(ar__(90:94) .EQ. '') R_I(i__) = rNULL__
        if(ar__(97:102) .EQ. '') trplx(i__) = rNULL__
        if(ar__(103:107) .EQ. '') e_trplx(i__) = rNULL__
        if(ar__(109:114) .EQ. '') plx(i__) = rNULL__
        if(ar__(115:119) .EQ. '') e_plx(i__) = rNULL__
        if(ar__(132:135) .EQ. '') U(i__) = iNULL__
        if(ar__(137:140) .EQ. '') V(i__) = iNULL__
        if(ar__(142:145) .EQ. '') W(i__) = iNULL__
        if(ar__(147:152) .EQ. '') HD(i__) = iNULL__
        RAdeg(i__) = rNULL__
        DEdeg(i__) = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15.
        if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4.
        if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240.
        if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
        if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
        if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),Comp(i__),DistRel(i__),RAh(i__),RAm(i__),RAs(i__),
     +  DE_(i__),DEd(i__),DEm(i__),pm(i__),u_pm(i__),pmPA(i__),
     +  RV(i__),n_RV(i__),Sp(i__),r_Sp(i__),Vmag(i__),r_Vmag(i__),
     +  n_Vmag(i__),B_V(i__),r_B_V(i__),n_B_V(i__),U_B(i__),
     +  r_U_B(i__),n_U_B(i__),R_I(i__),r_R_I(i__),n_R_I(i__),
     +  trplx(i__),e_trplx(i__),plx(i__),e_plx(i__),n_plx(i__),
     +  Mv(i__),n_Mv(i__),q_Mv(i__),U(i__),V(i__),W(i__),HD(i__),
     +  DM(i__),Giclas(i__),LHS(i__),OtherName(i__),Remarks(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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