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 2020-Jul-07
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/8                Catalogue of UVBGRI measurements  (Nicollier 1975)
*================================================================================
*Catalogue of UVBGRI (Stebbins and Withford) measurements:
*Published data and Weighted Means
*     Nicollier C.
*    <Rapport Interne CDS 2, updated (1975)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'obs.dat'	! Published Measurements

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

      character*11  LID         ! Identification in Lausanne/Geneve system (1)
      character*1   m_LID       ! [D12] Multiplicity indicator (1)
      real*4        Umag        ! (mag) ? Colour in Ultra filter (2)
      real*4        Vmag        ! (mag) ? Colour in Violet filter (2)
      real*4        Bmag        ! (mag) Colour in Blue filter (2)
      real*4        Gmag        ! (mag) Colour in Green filter (2)
      real*4        Rmag        ! (mag) Colour in Red filter (2)
      real*4        Imag        ! (mag) Colour in Infra filter (2)
      character*1   n_Nm        ! [/*] '/' indicates an unknown Nmes value,
*                                  '*' that Nmes represents a minimal value. (3)
      integer*4     Nm          ! ? Number of measurements (3)
      integer*4     Ref         ! [6001/6026]? Reference (see file refs) (3)
*Note (1): Keys to the code are described in file "codes.txt"; column "m_LID"
*    'D': indicates a double star with both components measured simultaneously;
*    '1' and '2': indicates components of a composite system.
*Note (2): See Decription above; the colours are such that (B+G+R) = 0.
*Note (3): Values only for "obs" file.

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

C  Loading file 'obs.dat'	! Published Measurements

C  Format for file interpretation

    1 format(
     +  A11,A1,1X,F5.2,2X,F5.2,2X,F5.2,2X,F5.2,2X,F5.2,2X,F5.2,1X,A1,
     +  1X,I2,1X,I5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'II/8/obs.dat')
      write(6,*) '....Loading file: obs.dat'
      do i__=1,1702
        read(1,'(A64)')ar__
        read(ar__,1)
     +  LID,m_LID,Umag,Vmag,Bmag,Gmag,Rmag,Imag,n_Nm,Nm,Ref
        if(ar__(14:18) .EQ. '') Umag = rNULL__
        if(ar__(21:25) .EQ. '') Vmag = rNULL__
        if(ar__(57:58) .EQ. '') Nm = iNULL__
        if(ar__(60:64) .EQ. '') Ref = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  LID,m_LID,Umag,Vmag,Bmag,Gmag,Rmag,Imag,n_Nm,Nm,Ref
c    .......End.of.Just test output...........
      end do
      close(1)

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