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

Conversion of standardized ReadMe file for file /./ftp/cats/I/274 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. I/274  CCDM (Catalog of Components of Double & Multiple stars) (Dommanget+ 2002)
*================================================================================
*Catalogue of the Components of Double and Multiple Stars (CCDM)
*     Dommanget J., Nys O.
*    <Observations et Travaux 54, 5 (2002)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'ccdm.dat'	! The Catalogue of Components of Double and Multiple

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

      character*10  CCDM        ! (Catalogue of the Components of the
*                                  Double and Multiple stars) identifier (1)
      character*1   rComp       ! [B-Z?] Reference component (blank if A) (6)
      character*1   Comp        ! [A-Z?] Concerned component (6)
      character*1   Note1       ! [*&] *=orbit in Dommanget's personal catalog
*                                       &=orbit WDS 1994 (2)
      character*1   Note2       ! [@%] @ = astrometric binary
*                                       % = astrometric binary from Hipparcos
      character*7   Disc        ! Name of the pair (Discoverer and Number) (3)
      real*8        dRAs        ! (s) ? Remainder of RA in  second of time (J2000)
      real*8        dDEs        ! (arcsec) ? Remainder of DE in  arcsecond      (J2000)
      integer*4     r_dRAs      ! ? Source code for positions, in refpos.dat
      integer*4     Year        ! (yr) ? Year of measured relative position
      character*3   theta       ! (deg) Position angle (degrees) (4)
      real*4        rho         ! (arcsec) ? angular separation of Comp along theta
      integer*4     Obs         ! ? for component A: number of components;
*                                    other component: number of measurements
      real*4        Vmag        ! (mag) ? magnitude
      character*2   Sp          ! Spectral type
      character*1   pmNote      ! [*@$#] Origin of the proper motion (7)
      integer*4     pmRA        ! (mas/yr) ? annual proper motion in 0"001
      integer*4     pmDE        ! (mas/yr) ? annual proper motion in 0"001
      character*10  DM          ! First identification = DM
*                                    (Harvard system) (5)
      character*10  Name2       ! Second identification (5)
      character*6   HD          ! HD identifier
      character*2   m_HD        ! [/0-9 ?*] second HD (Example: 131843/4) (8)
      character*6   ADS_BDS     ! ADS (A) or BDS identifier (B)
      character*1   m_ADS_BDS   ! [aN] suffix (a) to an inserted ADS identifier,
*                                       or a note (N) exists in the Index.
      character*1   n_IDS       ! [*W] The * means that the Index identifier was
*                                      built for a new component or system;
*                                      the W indicates a WDS (1994) identifier
      character*11  IDS         ! Original Index (1976.5) or WDS (1994)
*                                    identifier, based on equinox 1900
      integer*4     HIC         ! ? Hipparcos Input Catalogue (Turon et al.,
*                                    Cat. <I/196>) identifier (also HIP <I/239>)
*Note (1): The CCDM identifier 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 identifier are given
*    in the publication.
*Note (2): The personal catalogue of J.Dommanget (1982; partially updated
*    to 1994) to which were added the Hipparcos stars in the
*    Information Circulars of IAU Commission 26.
*Note (3): In addition to the discoverer's names listed in the WDS
*    (see e.g. files refs.dat in Cat. <I/237>), the list of the new names
*    are in the "Description" section above
*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): a suffix code indicates the catalogue, as:
*     .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 (6):
*    In one record (CCDM 07366-1428) the components are marked by ??
*Note (7): the origin of the proper motions is flagged by:
*    *: not the pm from the Index;
*    @:   pm from the HIC (Hipparcos Input Catalog <I/196>);
*    $:   pm = relative pm(B/A);
*    #:   pm unknown, but much different from pm of the other components
*Note (8): the question mark (?) indicates a doubtful HD identifier,
*    and the asterisk (*) indicates a possible inversion of HD identifiers.

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

C  Declarations for 'refpos.dat'	! Reference for positions and proper motions

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

      integer*4     RefNum      ! Reference number
      character*39  posRef      ! Reference for astrometric position
      character*10  Epoch       ! Epoch of position (1)
      character*31  pmRef       ! Reference for proper  motions.
*Note (1): the mean epoch was retained for epoch ranges followed
*     by an asterisk (*), e.g. 1889-1898*

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

C  Loading file 'ccdm.dat'	! The Catalogue of Components of Double and Multiple

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

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

C  Loading file 'refpos.dat'	! Reference for positions and proper motions

C  Format for file interpretation

    2 format(I2,2X,A39,1X,A10,3X,A31)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refpos.dat')
      write(6,*) '....Loading file: refpos.dat'
      do i__=1,37
        read(1,'(A88)')ar__1
        read(ar__1,2)RefNum,posRef,Epoch,pmRef
c    ..............Just test output...........
        write(6,2)RefNum,posRef,Epoch,pmRef
c    .......End.of.Just test output...........
      end do
      close(1)

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