FORTRAN Generation
(/./ftp/cats/J/MNRAS/389/925)

Conversion of standardized ReadMe file for file /./ftp/cats/J/MNRAS/389/925 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.81 (2015-09-23), on 2026-May-17
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. J/MNRAS/389/925     Triple and quadruple stars               (Tokovinin, 2008)
*================================================================================
*Comparative statistics and origin of triple and quadruple stars.
*    Tokovinin A.
*   <Mon. Not. R. Astron. Soc., 389, 925-938 (2008)>
*   =2008MNRAS.389..925T
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2.dat'	! Triple stars

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

      character*10  WDS        (nr__) ! WDS J2000 name
      real*4        logPL      (nr__) ! ([d]) Outer period
      real*4        logPS      (nr__) ! ([d]) Inner period
      real*4        Mass1      (nr__) ! (solMass) Primary mass
      character*1   n_Mass1    (nr__) ! [a*mvq] Mass code for Mass1 (G1)
      real*4        Mass2      (nr__) ! (solMass) Secondary mass
      character*1   n_Mass2    (nr__) ! [a*m] Mass code for Mass2 (G1)
      real*4        Mass3      (nr__) ! (solMass) Tertiary mass
      character*1   n_Mass3    (nr__) ! [a*mvq] Mass code for Mass3 (G1)
      real*4        plx        (nr__) ! (mas) Parallax
      character*1   n_WDS      (nr__) ! [*] * indicates a note in notes.dat file

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

C  Declarations for 'table3.dat'	! Quadruple stars

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

      character*10  WDS_1      (nr__1) ! WDS J2000 name
      character*1   f_WDS      (nr__1) ! [*] 17146+1423 corrected into 17146+1424
      real*4        logPL_1    (nr__1) ! ([d]) Outer period
      real*4        logPS1     (nr__1) ! ([d]) Inner period 1
      real*4        logPS2     (nr__1) ! ([d]) Inner period 2
      real*4        Mass11     (nr__1) ! (solMass) Primary mass 1
      character*1   n_Mass11   (nr__1) ! [*a] Mass code for Mass11 (G1)
      real*4        Mass12     (nr__1) ! (solMass) Secondary mass 1
      character*1   n_Mass12   (nr__1) ! [*asqmv:] Mass code for Mass12 (G1)
      real*4        Mass21     (nr__1) ! (solMass) Primary mass 2
      character*1   n_Mass21   (nr__1) ! [*a] Mass code for Mass21 (G1)
      real*4        Mass22     (nr__1) ! (solMass) Secondary mass 2
      character*1   n_Mass22   (nr__1) ! [*asqmv:] Mass code for Mass22 (G1)
      real*4        plx_1      (nr__1) ! (mas) Parallax
      character*1   n_WDS_1    (nr__1) ! [*] * indicates a note in notes.dat file

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

C  Declarations for 'notes.dat'	! Individual notes

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

      character*10  WDS_2      (nr__2) ! WDS J2000 name
      character*69  Note       (nr__2) ! Text of the note (1)
*Note (1): Abbreviations used mean:
*     SB = spectroscopic binary
*    SB1 = single-lined spectroscopic binary
*    SB2 = double-lined spectroscopic binary
*     VB = visual binary
*     EB = eclipsing binary
*    CPM = common-proper-motion pair
*    PMS = pre-Main Sequence

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

C  Loading file 'table2.dat'	! Triple stars

C  Format for file interpretation

    1 format(
     +  A10,2X,F5.2,1X,F5.2,1X,F5.2,1X,A1,1X,F5.2,1X,A1,1X,F5.2,1X,A1,
     +  2X,F6.1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,725
        read(1,'(A57)')ar__
        read(ar__,1)
     +  WDS(i__),logPL(i__),logPS(i__),Mass1(i__),n_Mass1(i__),
     +  Mass2(i__),n_Mass2(i__),Mass3(i__),n_Mass3(i__),plx(i__),
     +  n_WDS(i__)
c    ..............Just test output...........
        write(6,1)
     +  WDS(i__),logPL(i__),logPS(i__),Mass1(i__),n_Mass1(i__),
     +  Mass2(i__),n_Mass2(i__),Mass3(i__),n_Mass3(i__),plx(i__),
     +  n_WDS(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Quadruple stars

C  Format for file interpretation

    2 format(
     +  A10,A1,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,A1,1X,F5.2,1X,A1,1X,
     +  F5.2,1X,A1,1X,F5.2,1X,A1,3X,F5.1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,81
        read(1,'(A71)')ar__1
        read(ar__1,2)
     +  WDS_1(i__),f_WDS(i__),logPL_1(i__),logPS1(i__),logPS2(i__),
     +  Mass11(i__),n_Mass11(i__),Mass12(i__),n_Mass12(i__),
     +  Mass21(i__),n_Mass21(i__),Mass22(i__),n_Mass22(i__),
     +  plx_1(i__),n_WDS_1(i__)
c    ..............Just test output...........
        write(6,2)
     +  WDS_1(i__),f_WDS(i__),logPL_1(i__),logPS1(i__),logPS2(i__),
     +  Mass11(i__),n_Mass11(i__),Mass12(i__),n_Mass12(i__),
     +  Mass21(i__),n_Mass21(i__),Mass22(i__),n_Mass22(i__),
     +  plx_1(i__),n_WDS_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Individual notes

C  Format for file interpretation

    3 format(A10,1X,A69)

C  Effective file loading

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

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