CDS.headStuff2 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.81 (2015-09-23), on 2024-Apr-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__=--2147483648.)  	! NULL real number
      parameter  (iNULL__=(-2147483647-1))	! NULL int  number
      integer    idig			! testing NULL number

C=============================================================================
Cat. III/123B        Dwarf K and M stars of small proper motion     (Stephenson 1986)
*================================================================================
*Dwarf K And M Stars of small proper motion found in a Large Spectroscopic Survey
*    Stephenson C.B.
*   <Astron. J. 91, 144 (1986)>
*   =1986AJ.....91..144S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The original catalogue of 2201 stars

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

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

      integer*4     Star        ! [1/2201]+ Star number (StKM 1-NNNN in Simbad)
      character*1   n_Star      ! [*] The asterisk indicates a note
*                                      detailed in file 'notes.dat'
      integer*4     RAh         ! (h) Right ascension 1900 (hours)
      integer*4     RAm         ! (min) Right ascension 1900 (minutes)
      real*4        RAs         ! (s) Right ascension 1900 (seconds)
      character*1   DE_         ! Declination 1900 (sign)
      integer*4     DEd         ! (deg) Declination 1900 (degrees)
      integer*4     DEm         ! (arcmin) Declination 1900 (minutes)
      integer*4     DEs         ! (arcsec) Declination 1900 (seconds)
      real*4        Pmag        ! (mag) Stellar photographic magnitude
      character*5   Sp          ! Spectral type
      character*39  Names       ! Names from other lists

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

C  Declarations for 'notes.dat'	! Individual notes of the original catalog

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

      integer*4     Star_1      ! [1/2201]+= Star number
      character*74  Text        ! Text of note

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

C  Declarations for 'stkm1.dat'	! The catalog revisited (B. Skiff, May 2006; see
                            the "Revision" section below)

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

C  J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg_1     ! (deg) Right Ascension J2000
      real*8        DEdeg_1     ! (deg)     Declination J2000
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     Star_2      ! [1/2201]+= Star number (StKM 1-NNNN in Simbad)
      character*2   m_Star      ! [abc ] Multiplicity
      integer*4     RAh_1       ! (h) ? Right Ascension J2000 (hours)
      integer*4     RAm_1       ! (min) ? Right Ascension J2000 (minutes)
      real*4        RAs_1       ! (s) ? Right Ascension J2000 (seconds)
      character*1   DE__1       ! ? Declination J2000 (sign)
      integer*4     DEd_1       ! (deg) ? Declination J2000 (degrees)
      integer*4     DEm_1       ! (arcmin) ? Declination J2000 (minutes)
      real*4        DEs_1       ! (arcsec) ? Declination J2000 (seconds)
      character*1   rPos        ! [UTMbCBLDS] Source of position (1)
      integer*4     UCAC2       ! ? Designation in UCAC2 (I/289)
      character*11  Tycho_2     ! Designation in Tycho-2 (I/259)
      real*4        Vmag        ! (mag) Stellar V magnitude mainly from CMC11 (I/256)
      character*5   Sp_1        ! Spectral type (2)
      character*57  Notes       ! Additional identifications and remarks
*Note (1): the letter indicates the origin of the position, as follows:
*     B = Bordeaux meridian circle  PM2000 (2006A&A...448.1235D, Cat. I/300)
*     b = USNO-B1.0  (2003AJ....125..984M, Cat. I/284)
*     C = Carlsberg CMC11  (1999, Cat. I/256)
*     L = Lepine LSPM  (2005AJ....129.1483L, Cat. I/298)
*     M = 2MASS     (2006AJ....131.1163S, Cat. II/246)
*     S = SDSS DR3  (2005AJ....129.1755A, Cat. II/259
*     T = Tycho-2   (2000A&A...357..367H, Cat. I/259)
*     U = UCAC2     (2004AJ....127.3043Z, Cat. I/289)
*Note (2): About halt of the stars are actually ordinary giants (see the
*    "revision" section below). The luminosity class 'V' was added only
*    when Stephenson specifically remarked on strong MgH + MgI 'b' and/or
*    NaD lines in the spectra.

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

C  Loading file 'catalog.dat'	! The original catalogue of 2201 stars

C  Format for file interpretation

    1 format(
     +  1X,I4,A1,1X,I2,1X,I2,1X,F4.1,2X,A1,I2,1X,I2,1X,I2,2X,F4.1,1X,
     +  A5,1X,A39)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,2201
        read(1,'(A80)')ar__
        read(ar__,1)
     +  Star,n_Star,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Pmag,Sp,Names
        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(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Star,n_Star,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Pmag,Sp,Names
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Individual notes of the original catalog

C  Format for file interpretation

    2 format(I4,2X,A74)

C  Effective file loading

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

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

C  Loading file 'stkm1.dat'	! The catalog revisited (B. Skiff, May 2006; see
*                            the "Revision" section below)

C  Format for file interpretation

    3 format(
     +  I4,A2,2X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A1,1X,I8,
     +  1X,A11,1X,F4.1,1X,A5,2X,A57)

C  Effective file loading

      open(unit=1,status='old',file=
     +'stkm1.dat')
      write(6,*) '....Loading file: stkm1.dat'
      do i__=1,2214
        read(1,'(A124)')ar__2
        read(ar__2,3)
     +  Star_2,m_Star,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,rPos,
     +  UCAC2,Tycho_2,Vmag,Sp_1,Notes
        if(ar__2(9:10) .EQ. '') RAh_1 = iNULL__
        if(ar__2(12:13) .EQ. '') RAm_1 = iNULL__
        if(ar__2(15:19) .EQ. '') RAs_1 = rNULL__
        if(ar__2(22:23) .EQ. '') DEd_1 = iNULL__
        if(ar__2(25:26) .EQ. '') DEm_1 = iNULL__
        if(ar__2(28:31) .EQ. '') DEs_1 = rNULL__
        if(ar__2(35:42) .EQ. '') UCAC2 = iNULL__
        RAdeg_1 = rNULL__
        DEdeg_1 = rNULL__
c  Derive coordinates RAdeg_1 and DEdeg_1 from input data
c  (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
        if(RAh_1 .GT. -180) RAdeg_1=RAh_1*15.
        if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4.
        if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240.
        if(DEd_1 .GE. 0) DEdeg_1=DEd_1
        if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60.
        if(DEs_1 .GE. 0) DEdeg_1=DEdeg_1+DEs_1/3600.
        if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1
c    ..............Just test output...........
        write(6,3)
     +  Star_2,m_Star,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,rPos,
     +  UCAC2,Tycho_2,Vmag,Sp_1,Notes
        write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c    .......End.of.Just test output...........
      end do
      close(1)

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