FORTRAN Generation
(/./ftp/cats/II/215)

Conversion of standardized ReadMe file for file /./ftp/cats/II/215 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-Mar-28
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. II/215              uvby-beta Catalogue             (Hauck+ 1997)
*================================================================================
*Catalogue of uvby-beta Data
*     Hauck B., Mermilliod M.
*    <Institut d'Astronomie de l'Universite de Lausanne (1997)>
*    =1998A&AS..129..431H
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! Catalogue (Table 1)

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

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

      integer*8     LID         ! Code number (1)
      character*4   m_LID       ! Remarks on duplicity / variability (1)
      integer*4     HD          ! [1/359083]? HD, HDE number
      real*8        DM          ! ? DM (CD, CD, CPD) number (-ZZ.NNNNN)
      character*19  Names       ! Acronyms and cross-identification
      integer*4     RAh         ! (h) Part of right ascension B1950 (Hour)
      integer*4     RAm         ! (min) Part of right ascension B1950 (Minute)
      integer*4     RAs         ! (s) ? Part of right ascension B1950 (Second)
      character*1   DE_         ! Sign of declination
      integer*4     DEd         ! (deg) Part of the declination B1950 (Degree)
      real*4        DEm         ! (arcmin) Part of the declination B1950 (Minute)
      integer*4     Ns          ! [1/22] Number of sources used for the mean
      real*4        Vmag        ! (mag) ? Mean V magnitude
      real*4        e_Vmag      ! (mag) ? Mean error on V
      real*4        b_y         ! (mag) ? Mean b-y colour index
      real*4        e_b_y       ! (mag) ? Mean error on b-y
      real*4        m1          ! (mag) ? Mean m1 colour index ((v-b) - (b-y))
      real*4        e_m1        ! (mag) ? Mean error on m1
      real*4        c1          ! (mag) ? Mean c1 colour index ((u-v) - (v-b))
      real*4        e_c1        ! (mag) ? Mean error on c1
      integer*4     Nm          ! [0/708]? Cumulated number of measurements
      real*4        Beta        ! (mag) ? Mean Beta colour index
      real*4        e_Beta      ! (mag) ? Mean error on Beta
      integer*4     NB          ! [0/208]? Cumulated number of measurements Beta
      character*90  REF         ! Key to data sources, see file refs.dat
*Note (1): numerical designation for the star identification in the
*     Geneva coded numbering system is described by Mermilliod
*     (1978BICDS..14...32M), but an updated listing applicable
*     specifically to this catalog is given as file 'code'.
*     The number may be followed by a double-star flag (byte 12)
*     and/or a variability flag (byte 13) if applicable.
*     The flag (m_LID) meanings are as follows:
*     D         Measurement included >1 component of a multiple system
*     1, 2, ... Individual component of a multiple system was measured
*     V         One or more indices display slight variability

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

C  Declarations for 'measures.dat'	! Measurements (Table 2)

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

      integer*8     LID_1       ! Code number
      character*4   m_LID_1     ! Remarks on duplicity / variability
      real*4        Vmag_1      ! (mag) ? V magnitude
      real*4        b_y_1       ! (mag) ? b-y colour index
      real*4        m1_1        ! (mag) ? m1 parameter ((v-b) - (b-y))
      real*4        c1_1        ! (mag) ? c1 parameter ((u-v) - (v-b))
      character*1   n_N         ! [S/*] Flag on number of uvby measurements (2)
      integer*4     N           ! [0/708]? Number of measurements (uvby)
      real*4        beta_1      ! (mag) ? beta parameter
      character*1   n_NB        ! [S/*] Flag on number of Beta measurements (2)
      integer*4     NB_1        ! [0/107]? Number of measurements (beta)
      integer*4     REF_1       ! [1/533]?=0 Key to data sources, in file refs.dat
*Note (2): the flag meanings are as follows:
*     blank = The number of observations reported in the source
*             reference is given
*     /     = Number of observations not given in source reference
*             and is therefore recorded as 1
*     *     = The number of observations reported is a minimum;
*             i.e., the actual number of observations is not given
*             in the source reference, but it is stated that at least
*             the number given contributed to the published values.

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

C  Declarations for 'refs.dat'	! References (Table 3)

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

      integer*4     REF_2       ! [1/533] Key to data sources
      character*72  Text        ! Text of reference (1)
*Note (1): author on first line, Journal on the second line,
*          the next lines contain the title.
*          The Journal line includes the so-called "bibcode"
*          when Text starts by an equal (=) sign.

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

C  Declarations for 'acronyms.dat'	! Acronyms (Table 4)

      integer*4 nr__3
      parameter (nr__3=437)	! Number of records
      character*103 ar__3  	! Full-size record

      character*13  Acro        ! Acronym or cluster designation
      character*89  Text_1      ! Reference for the acronyms

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

C  Loading file 'catalog.dat'	! Catalogue (Table 1)

C  Format for file interpretation

    1 format(
     +  I10,1X,A4,1X,I6,1X,F9.5,1X,A19,1X,I2,1X,I2,1X,I2,1X,A1,I2,1X,
     +  F4.1,1X,I2,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,
     +  F6.3,1X,F5.3,1X,I3,1X,F5.3,1X,F5.3,1X,I3,1X,A90)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,63313
        read(1,'(A236)')ar__
        read(ar__,1)
     +  LID,m_LID,HD,DM,Names,RAh,RAm,RAs,DE_,DEd,DEm,Ns,Vmag,e_Vmag,
     +  b_y,e_b_y,m1,e_m1,c1,e_c1,Nm,Beta,e_Beta,NB,REF
        if(ar__(17:22) .EQ. '') HD = iNULL__
        if(ar__(24:32) .EQ. '') DM = rNULL__
        if(ar__(60:61) .EQ. '') RAs = iNULL__
        if(ar__(75:80) .EQ. '') Vmag = rNULL__
        if(ar__(82:86) .EQ. '') e_Vmag = rNULL__
        if(ar__(88:93) .EQ. '') b_y = rNULL__
        if(ar__(95:99) .EQ. '') e_b_y = rNULL__
        if(ar__(101:106) .EQ. '') m1 = rNULL__
        if(ar__(108:112) .EQ. '') e_m1 = rNULL__
        if(ar__(114:119) .EQ. '') c1 = rNULL__
        if(ar__(121:125) .EQ. '') e_c1 = rNULL__
        if(ar__(127:129) .EQ. '') Nm = iNULL__
        if(ar__(131:135) .EQ. '') Beta = rNULL__
        if(ar__(137:141) .EQ. '') e_Beta = rNULL__
        if(ar__(143:145) .EQ. '') NB = 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(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  LID,m_LID,HD,DM,Names,RAh,RAm,RAs,DE_,DEd,DEm,Ns,Vmag,e_Vmag,
     +  b_y,e_b_y,m1,e_m1,c1,e_c1,Nm,Beta,e_Beta,NB,REF
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'measures.dat'	! Measurements (Table 2)

C  Format for file interpretation

    2 format(
     +  I10,1X,A4,1X,F6.3,2X,F6.3,2X,F6.3,2X,F6.3,2X,A1,I3,2X,F5.3,3X,
     +  A1,I3,3X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'measures.dat')
      write(6,*) '....Loading file: measures.dat'
      do i__=1,105873
        read(1,'(A72)')ar__1
        read(ar__1,2)
     +  LID_1,m_LID_1,Vmag_1,b_y_1,m1_1,c1_1,n_N,N,beta_1,n_NB,NB_1,
     +  REF_1
        if(ar__1(17:22) .EQ. '') Vmag_1 = rNULL__
        if(ar__1(25:30) .EQ. '') b_y_1 = rNULL__
        if(ar__1(33:38) .EQ. '') m1_1 = rNULL__
        if(ar__1(41:46) .EQ. '') c1_1 = rNULL__
        if(ar__1(50:52) .EQ. '') N = iNULL__
        if(ar__1(55:59) .EQ. '') beta_1 = rNULL__
        if(ar__1(64:66) .EQ. '') NB_1 = iNULL__
c    ..............Just test output...........
        write(6,2)
     +  LID_1,m_LID_1,Vmag_1,b_y_1,m1_1,c1_1,n_N,N,beta_1,n_NB,NB_1,
     +  REF_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References (Table 3)

C  Format for file interpretation

    3 format(2X,I3,3X,A72)

C  Effective file loading

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

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

C  Loading file 'acronyms.dat'	! Acronyms (Table 4)

C  Format for file interpretation

    4 format(A13,1X,A89)

C  Effective file loading

      open(unit=1,status='old',file=
     +'acronyms.dat')
      write(6,*) '....Loading file: acronyms.dat'
      do i__=1,437
        read(1,'(A103)')ar__3
        read(ar__3,4)Acro,Text_1
c    ..............Just test output...........
        write(6,4)Acro,Text_1
c    .......End.of.Just test output...........
      end do
      close(1)

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