FORTRAN Generation
(/./ftp/cats/J/AJ/152/138)

Conversion of standardized ReadMe file for file /./ftp/cats/J/AJ/152/138 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 2024-Mar-29
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/AJ/152/138   Orbits based on speckle interferometry at SOAR  (Tokovinin, 2016)
*================================================================================
*New orbits based on speckle interferometry at SOAR.
*    Tokovinin A.
*   <Astron. J., 152, 138-138 (2016)>
*   =2016AJ....152..138T    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Orbital elements

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

      character*10  WDS        (nr__) ! Code of the binary in the Washington Double Star
*                                catalog (cat. B/wds)
      character*8   Disc       (nr__) ! Discoverer designation (system identifier adopted
*                                in the WDS)
      character*5   Comp       (nr__) ! Component(s)
      real*8        Per        (nr__) ! (yr) [1.421/373.7] Orbital period
      real*8        T0         (nr__) ! (yr) [1920.6/2189.08] Epoch of periastron T_0_
      real*4        e          (nr__) ! [0.01/0.976] Eccentricity
      real*4        a          (nr__) ! (arcsec) [0.0324/1.53] Semimajor axis
      real*4        Omega      (nr__) ! (deg) [4/351.5] Position angle of node {Omega} (1)
      real*4        omega_1    (nr__) ! (deg) [-0.3/359.5] Argument of periastron {omega}
      real*4        i          (nr__) ! (deg) [34/169] Inclination
      integer*4     Gr         (nr__) ! [1/5] Orbital element grade (from 1=definitive to
*                                5=indeterminate) (2)
      character*8   Ref        (nr__) ! References to previously computed orbits (3)
      character*3   f_Ref      (nr__) ! Flag on Ref (a=insufficient coverage, and/or
*                                b=see Figure1)
      integer*4     HIP        (nr__) ! [20048/109561]? Hipparcos number (Cat. I/239),
*                                when available
      real*4        e_Per      (nr__) ! (yr) [0.002/15.772]? Uncertainty in Per
      character*1   f_Per      (nr__) ! [f] Flag on Per (f=fixed)
      real*4        e_T0       (nr__) ! (yr) [0.01/51]? Uncertainty in T0
      character*1   f_T0       (nr__) ! [f] Flag on T0 (f=fixed)
      real*4        e_e        (nr__) ! [0.004/0.35]? Uncertainty in e
      character*1   f_e        (nr__) ! [f] Flag on e (f=fixed)
      real*4        e_a        (nr__) ! (arcsec) [0.0009/0.19]? Uncertainty in a
      real*4        e_Omega    (nr__) ! (deg) [0.4/103.7]? Uncertainty in Omega
      real*4        e_omega_1  (nr__) ! (deg) [0.8/157.7]? Uncertainty in omega
      character*1   f_omega    (nr__) ! [f] Flag on omega (f=fixed)
      real*4        e_i        (nr__) ! (deg) [0.2/34.1]? Uncertainty in i
      character*1   f_i        (nr__) ! [f] Flag on i (f=fixed)
*Note (1): For the equinox J2000.0.
*Note (2):
*     Provisional grades are assigned based on the principles described in
*     the Sixth Catalog of Visual Binary Orbits
*     (http://www.usno.navy.mil/USNO/astrometry/optical-IR-prod/wds/orb6), where
*     grades 4 and 5 mean preliminary orbits and grade 1 are definitive and
*     accurate orbits:
*     1 = definitive;
*     2 = good;
*     3 = reliable;
*     4 = preliminary;
*     5 = indeterminate.
*Note (3): Orbit reference codes are defined as follows:
*     B_1961d  = van den Bos (1961CiUO..120..380V);
*     Baz1989a = Baize (1989A&AS...78..125B);
*     Doc2005f = Docobo & Ling (2005IAUDS.157R...1D);
*     Doc2013d = Docobo & Andrade (2013MNRAS.428..321D);
*     Hei1981a = Heintz (1981ApJS...45..559H);
*     Hei1992b = Heintz & Cantor (1992Obs...112..286H);
*     Hei1996a = Heintz 1996 (Cat. J/ApJS/105/475);
*     Hei1997  = Heintz (1997ApJS..111..335H);
*     Hor2011b = Horch et al. 2011 (Cat. J/AJ/150/151);
*     Hrt2011d = Hartkopf & Mason 2011, IAUDS, 175, 1;
*     Koh2002  = Koehler & Petr-Gotzens (2002AJ....124.2899K);
*     Ole2004b = Olevic & Cvetkovic (2004A&A...415..259O);
*     Tok2014a = Tokovinin et al. 2014 (Cat. J/AJ/147/123);
*     Tok2015c = Tokovinin et al. 2015 (Cat. J/AJ/150/50);
*     Zir2014a = Zirm 2014, IAUDS, 182, 1.

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

C  Declarations for 'table2.dat'	! Observations and residuals

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

      character*10  WDS_1      (nr__1) ! Code of the binary in the Washington Double Star
*                                catalog (cat. B/wds)
      real*8        Date       (nr__1) ! (yr) [1885.76/2016.4] Time of observation in
*                                Besselian year (T)
      real*4        PA         (nr__1) ! (deg) [-4/361.9] Position angle ({theta}) (1)
      real*4        Sep        (nr__1) ! (arcsec) [0.01/1.56] Separation ({rho})
      real*8        Err        (nr__1) ! (arcsec) [0.001/10.1] Measurement error ({sigma}) (2)
      real*4        v_O_C_t    (nr__1) ! (deg) [-88.9/159.1] Residual in angle (O-C_{theta}_)
      real*8        v_O_C_r    (nr__1) ! (arcsec) [-0.2/0.32] Residual in separation (O-C_{rho}_)
*Note (1): For the time of observation (correction for precession is done
*     internally during orbit calculation).
*Note (2): Unrealistically large errors are assigned to the discarded
*     observations, so that they have no influence on the fitted elements, but
*     are still kept in the table.

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

C  Declarations for 'table3.dat'	! Parallaxes and photometry

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

      character*10  WDS_2      (nr__2) ! Code of the binary in the Washington Double Star
*                                 catalog (cat. B/wds)
      integer*4     HIP_1      (nr__2) ! ? Hipparcos number (Cat. I/239)
      character*11  SpT        (nr__2) ! Spectral type (4)
      real*4        Hplx       (nr__2) ! (mas) [1.4/55.7]? HIP2 (van Leeuwen, 2007, Cat. I/311)
*                                 parallax ({pi}_HIP2_)
      real*4        Dplx       (nr__2) ! (mas) [2.6/51.4] Dynamical parallax ({pi}_dyn_) (5)
      character*1   f_Dplx     (nr__2) ! [*] Asterisks mark the dynamical parallaxes
*                                 derived from reliable orbits of grade 3 or
*                                 better
      real*4        Mass1      (nr__2) ! (Msun) [0.7/4.2] Mass of primary component (5)
      real*4        Mass2      (nr__2) ! (Msun) [0.5/4.1] Mass of secondary component (5)
      real*4        Vmag       (nr__2) ! (mag) [4.54/10.46] The combined V-band magnitude (6)
      real*4        V_I        (nr__2) ! (mag) [0.05/1.47]? The (V-I_c_) color index (6)
      real*4        Dymag      (nr__2) ! (mag) [0.05/3.98]? Average {Delta}y magnitude (7)
      real*4        s_Dymag    (nr__2) ! (mag) [0.04/0.87]? The rms scatter of magnitude
*                                 difference in y filter if measured several
*                                 times ({sigma}_{Delta}y_) (8)
      real*4        DImag      (nr__2) ! (mag) [0.07/2.94]? Average {Delta}I magnitude (7)
      real*4        s_DImag    (nr__2) ! (mag) [0.01/0.52]? The rms scatter of magnitude
*                                 difference in I filter if measured several
*                                 times ({sigma}_{Delta}I_) (8)
*Note (4): As given in Hipparcos or SIMBAD.
*Note (5):
*     The dynamical parallax is evaluated by the Baize-Romani method,
*     applicable when binary components follow the standard main-sequence
*     relation between mass and absolute magnitude. Taking the initial mass sum
*     Mass=2M_{Sun}_, we compute the dynamical parallax
*     {pi}_dyn_=aMass^-1/3^P^-2/3^,
*     use it to evaluate the absolute V magnitudes of  both components, and
*     estimate their masses Mass_1_ and Mass_2_ by means of the standard relation
*     by Henry & McCarthy 1993 (Cat. J/AJ/106/773), valid for Mass<2M_{Sun}_ and
*     extrapolated to larger masses in a few cases. The new mass sum leads to the
*     new value of {pi}_dyn_, and the iterations converge rapidly.
*Note (6): Taken mostly from the Hipparcos catalog. For HIP 83716B and 87914B,
*     the combined magnitudes refer to the secondary subsystems, while
*     V-I_c_=1.0mag is assumed to match the estimated spectral type K0V of both
*     pairs.
*Note (7): Differential photometry resulting from the SOAR speckle
*     interferometry, where the filters y and I have central wavelengths and
*     bandwidths of 543/22 and 788/132nm, respectively.
*Note (8): Indicating internal consistency of the differential photometry. For
*     some pairs, this scatter is as good as 0.1mag, but it can be up to ~0.5mag.

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

C  Declarations for 'notes.dat'	! Notes on individual binaries

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

      character*10  WDS_3      (nr__3) ! WDS designation
      character*885 Note       (nr__3) ! Notes on binary

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

C  Loading file 'table1.dat'	! Orbital elements

C  Format for file interpretation

    1 format(
     +  A10,1X,A8,1X,A5,1X,F9.5,1X,F9.4,1X,F5.3,1X,F6.4,1X,F5.1,1X,
     +  F5.1,1X,F5.1,1X,I1,1X,A8,1X,A3,I6,1X,F6.3,1X,A1,1X,F6.3,1X,A1,
     +  1X,F5.3,1X,A1,1X,F6.4,1X,F5.1,1X,F5.1,1X,A1,1X,F4.1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,55
        read(1,'(A151)')ar__
        read(ar__,1)
     +  WDS(i__),Disc(i__),Comp(i__),Per(i__),T0(i__),e(i__),a(i__),
     +  Omega(i__),omega_1(i__),i(i__),Gr(i__),Ref(i__),f_Ref(i__),
     +  HIP(i__),e_Per(i__),f_Per(i__),e_T0(i__),f_T0(i__),e_e(i__),
     +  f_e(i__),e_a(i__),e_Omega(i__),e_omega_1(i__),f_omega(i__),
     +  e_i(i__),f_i(i__)
        if(ar__(92:97) .EQ. '') HIP(i__) = iNULL__
        if(ar__(99:104) .EQ. '') e_Per(i__) = rNULL__
        if(ar__(108:113) .EQ. '') e_T0(i__) = rNULL__
        if(ar__(117:121) .EQ. '') e_e(i__) = rNULL__
        if(ar__(125:130) .EQ. '') e_a(i__) = rNULL__
        if(ar__(132:136) .EQ. '') e_Omega(i__) = rNULL__
        if(ar__(138:142) .EQ. '') e_omega_1(i__) = rNULL__
        if(ar__(146:149) .EQ. '') e_i(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  WDS(i__),Disc(i__),Comp(i__),Per(i__),T0(i__),e(i__),a(i__),
     +  Omega(i__),omega_1(i__),i(i__),Gr(i__),Ref(i__),f_Ref(i__),
     +  HIP(i__),e_Per(i__),f_Per(i__),e_T0(i__),f_T0(i__),e_e(i__),
     +  f_e(i__),e_a(i__),e_Omega(i__),e_omega_1(i__),f_omega(i__),
     +  e_i(i__),f_i(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Observations and residuals

C  Format for file interpretation

    2 format(A10,1X,F9.4,1X,F5.1,1X,F6.4,1X,F7.4,1X,F5.1,1X,F7.4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,699
        read(1,'(A55)')ar__1
        read(ar__1,2)
     +  WDS_1(i__),Date(i__),PA(i__),Sep(i__),Err(i__),v_O_C_t(i__),
     +  v_O_C_r(i__)
c    ..............Just test output...........
        write(6,2)
     +  WDS_1(i__),Date(i__),PA(i__),Sep(i__),Err(i__),v_O_C_t(i__),
     +  v_O_C_r(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Parallaxes and photometry

C  Format for file interpretation

    3 format(
     +  A10,1X,I6,1X,A11,1X,F4.1,1X,F4.1,A1,1X,F3.1,1X,F3.1,1X,F5.2,
     +  1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,55
        read(1,'(A79)')ar__2
        read(ar__2,3)
     +  WDS_2(i__),HIP_1(i__),SpT(i__),Hplx(i__),Dplx(i__),
     +  f_Dplx(i__),Mass1(i__),Mass2(i__),Vmag(i__),V_I(i__),
     +  Dymag(i__),s_Dymag(i__),DImag(i__),s_DImag(i__)
        if(ar__2(12:17) .EQ. '') HIP_1(i__) = iNULL__
        if(ar__2(31:34) .EQ. '') Hplx(i__) = rNULL__
        if(ar__2(56:59) .EQ. '') V_I(i__) = rNULL__
        if(ar__2(61:64) .EQ. '') Dymag(i__) = rNULL__
        if(ar__2(66:69) .EQ. '') s_Dymag(i__) = rNULL__
        if(ar__2(71:74) .EQ. '') DImag(i__) = rNULL__
        if(ar__2(76:79) .EQ. '') s_DImag(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  WDS_2(i__),HIP_1(i__),SpT(i__),Hplx(i__),Dplx(i__),
     +  f_Dplx(i__),Mass1(i__),Mass2(i__),Vmag(i__),V_I(i__),
     +  Dymag(i__),s_Dymag(i__),DImag(i__),s_DImag(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Notes on individual binaries

C  Format for file interpretation

    4 format(A10,1X,A885)

C  Effective file loading

      open(unit=1,status='old',file=
     +'notes.dat')
      write(6,*) '....Loading file: notes.dat'
      do i__=1,35
        read(1,'(A896)')ar__3
        read(ar__3,4)WDS_3(i__),Note(i__)
c    ..............Just test output...........
        write(6,4)WDS_3(i__),Note(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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