FORTRAN Generation
(/./ftp/cats/I/211/)

Conversion of standardized ReadMe file for file /./ftp/cats/I/211/ 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.8, on 2014-Sep-23
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__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. I/211        CCDM (Components of Double and Multiple stars) (Dommanget+ 1994)
*================================================================================
*Catalogue of the Components of Double, Multiple stars (CCDM) first edition
*     Dommanget J., Nys O.
*    <Comm. Obs. R. Belgique, Ser. A, N. 115 (1994)>
*    =1994CoORB.115....1D
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The Catalogue

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

      character*10  CCDM       (nr__) ! (Catalogue of the Components of the
*                                   Double and Multiple stars) number (1)
      character*1   rComp      (nr__) ! *[B-Z?] Reference component (blank if A)
      character*1   Comp       (nr__) ! *[A-Z?] Concerned component
      character*1   Note1      (nr__) ! [*] *=orbit in Dommanget's personal cat. (2)
      character*1   Note2      (nr__) ! [@] @ = astrometric binary
      character*7   Disc       (nr__) ! Name of the pair (Discoverer and Number)
      real*8        dRAs       (nr__) ! (s) ? Remainder of RA in  second of time;
      real*8        dDEs       (nr__) ! (arcsec) ? Remainder of DE in  arcsecond;
      integer*4     r_dRAs     (nr__) ! ? Source code for positions (3)
      integer*4     Year       (nr__) ! (yr) ? Year of measured relative position
      character*3   theta      (nr__) ! (deg) Position angle (degrees) (4)
      real*4        rho        (nr__) ! (arcsec) ? angular separation of Comp along theta
      integer*4     Obs        (nr__) ! ? for A component: number of components;
*                                     other component: number of measurements
      real*4        Vmag       (nr__) ! (mag) ? magnitude
      character*2   Sp         (nr__) ! spectrum
      character*1   pmNote     (nr__) ! *[*@$] Origin of the proper motion
      integer*4     pmRA       (nr__) ! (mas/yr) ? annual proper motion in 0"001
      integer*4     pmDE       (nr__) ! (mas/yr) ? annual proper motion in 0"001
      character*10  DM         (nr__) ! First identification = DM
*                                     (Harvard system) (5)
      character*10  Name2      (nr__) ! Second identification (5)
      character*6   HD         (nr__) ! HD designation
      character*2   m_HD       (nr__) ! [/0-9 ] second HD (Example: 131843/4)
      character*6   ADS_BDS    (nr__) ! ADS number (A)  or BDS number (B)
      character*1   m_ADS_BDS  (nr__) ! [a] suffix (a) to an inserted ADS number
      character*1   n_IDS      (nr__) ! [*] The * means that the Index number is
*                                       built for new component or system;
      character*11  IDS        (nr__) ! Uncorrected Index designation (1976.5)
*                                     (equinox 1900) and identification letter;
      integer*4     HIC        (nr__) ! ? Hipparcos Input Catalogue (Turon et al.)
*                                     number
*Note (1): The CCDM number is made with RA(2000) limited to 0.1 minute of
*          time (HHMMm) and Dec(2000) limited to 1 minute of a degree (+DDMM).
*          Full details about the construction of the CCDM number are
*          given in the publication.
*Note (2): The personal catalogue of J.Dommanget (1982; partially updated
*          to 1994)
*Note (3): See the document file, part III
*Note (4): The following letters are sometimes used to indicate an approximate
*          location of the secondary component:
*          'N' (to the North)
*          'NF'(to the North and following)      (first quadrant)
*          'F' (following)
*          'SF'(to the South and following)      (second quadrant)
*          'S' (to the South)
*          'SP'(to the South and preceding)      (third quadrant)
*          'P' (preceding)
*          'NP'(to the North and preceding)      (fourth quadrant)
*Note (5): .0 = BD    .6 = AGK2/3
*          .2 = CD    .8 = SAO
*          .4 = CPD
*        The suffixes "a" and "b" following some DM designations
*        appear in  place of the dot.
*Note on pmNote:
*           *: not the pm from the Index;
*           @:   pm from the HIC;
*           $:   pm = pm(B/A);
*Note on Comp and rComp:
*        In one record there appear '?' signs for (CCDM#=) 07366-1428

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

C  Loading file 'catalog.dat'	! The Catalogue

C  Format for file interpretation

    1 format(
     +  1X,A10,A1,A1,A1,A1,A7,1X,F7.2,F7.1,1X,I2,1X,I4,1X,A3,F6.1,1X,
     +  I2,1X,F4.1,1X,A2,A1,I5,I5,A10,A10,1X,A6,A2,A6,A1,A1,A11,1X,I6)

C  Effective file loading

      open(unit=1,file='catalog.dat', status='old')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,74861
        read(1,'(A132)')ar__
        read(ar__,1)
     +  CCDM(i__),rComp(i__),Comp(i__),Note1(i__),Note2(i__),
     +  Disc(i__),dRAs(i__),dDEs(i__),r_dRAs(i__),Year(i__),
     +  theta(i__),rho(i__),Obs(i__),Vmag(i__),Sp(i__),pmNote(i__),
     +  pmRA(i__),pmDE(i__),DM(i__),Name2(i__),HD(i__),m_HD(i__),
     +  ADS_BDS(i__),m_ADS_BDS(i__),n_IDS(i__),IDS(i__),HIC(i__)
        if(ar__(24:30) .EQ. '') dRAs(i__) = rNULL__
        if(ar__(31:37) .EQ. '') dDEs(i__) = rNULL__
        if(ar__(39:40) .EQ. '') r_dRAs(i__) = iNULL__
        if(ar__(42:45) .EQ. '') Year(i__) = iNULL__
        if(ar__(50:55) .EQ. '') rho(i__) = rNULL__
        if(ar__(57:58) .EQ. '') Obs(i__) = iNULL__
        if(ar__(60:63) .EQ. '') Vmag(i__) = rNULL__
        if(ar__(68:72) .EQ. '') pmRA(i__) = iNULL__
        if(ar__(73:77) .EQ. '') pmDE(i__) = iNULL__
        if(ar__(127:132) .EQ. '') HIC(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  CCDM(i__),rComp(i__),Comp(i__),Note1(i__),Note2(i__),
     +  Disc(i__),dRAs(i__),dDEs(i__),r_dRAs(i__),Year(i__),
     +  theta(i__),rho(i__),Obs(i__),Vmag(i__),Sp(i__),pmNote(i__),
     +  pmRA(i__),pmDE(i__),DM(i__),Name2(i__),HD(i__),m_HD(i__),
     +  ADS_BDS(i__),m_ADS_BDS(i__),n_IDS(i__),IDS(i__),HIC(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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