FORTRAN Generation
(/./ftp/cats/J/A_A/325/159)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/325/159 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-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/A+A/325/159       Companions to M dwarfs within 5pc (Leinert+ 1997)
*================================================================================
*A search for companions to nearby southern M dwarfs with near-infrared
*speckle interferometry
*       Leinert C., Henry T., Glindemann A., McCArthy D.W. Jr.
*      <Astron. Astrophys. 325, 159 (1997)>
*      =1997A&A...325..159L      (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1'	! Basic data for all M dwarfs within five parsecs

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

C  J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg       ! (deg) Right Ascension J2000
      real*8        DEdeg       ! (deg)     Declination J2000
C  ---------------------------------- ! (position vector(s) in degrees)

      character*1   Loc         ! [SN] S: southern stars ({delta}<=-30deg)
*                                       N: northern stars ({delta}>-30deg)
      character*14  Name        ! Object designation
      character*1   Note        ! [abc] Note (1)
      integer*4     RAh         ! (h) Right ascension (J2000)
      integer*4     RAm         ! (min) Right ascension (J2000)
      real*4        RAs         ! (s) Right ascension (J2000)
      character*1   DE_         ! Declination sign
      integer*4     DEd         ! (deg) Declination (J2000)
      integer*4     DEm         ! (arcmin) Declination (J2000)
      integer*4     DEs         ! (arcsec) Declination (J2000)
      real*4        Vmag        ! (mag) V magnitude (apparent)
      real*4        Jmag        ! (mag) J magnitude (apparent) (1.20{mu}m)
      real*4        Hmag        ! (mag) H magnitude (apparent) (1.62{mu}m)
      real*4        Kmag        ! (mag) K magnitude (apparent) (2.20{mu}m)
      real*4        plx         ! (arcsec) trigonometric parallax
      real*4        KMag_1      ! (mag) K magnitude (absolute)
*Note (1): a: V photometry from Jahreiss (1997, Catalogue of Nerby Stars, A&AS,
*              in press)
*             JHK from this paper all other photometry from
*             Leggett (1992ApJS...82..351L)
*             errors: <= 0.03 magnitudes in VJHK
*          b: not a primary
*          c: parallaxes are from the Third Catalogue of Nearby Stars,
*              Jahreiss (1997, A&AS, in press)

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

C  Declarations for 'table2'	! Companion magnitude limits for southern
                                  M dwarfs within five parsecs

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

      character*10  Name_1      ! Object designation
      character*6   Tech        ! Applied technique (1)
      character*8   Obsdate     ! ("DD/MM/YY") Date of observations
      character*9   Tel         ! Telscope used
      character*2   Band        ! Wavelength band
      real*4        Mag1AU      ! (mag) ? Magnitude limit for separation 1 AU (2)
      character*1   u_Mag1AU    ! Uncertainty flag on Mag1AU
      real*4        Mag2AU      ! (mag) Magnitude limit for separation 2 AU (2)
      character*1   u_Mag2AU    ! Uncertainty flag on Mag2AU
      real*4        Mag5AU      ! (mag) Magnitude limit for separation 5 AU (2)
      real*4        Mag10AU     ! (mag) Magnitude limit for separation 10 AU (2)
*Note (1): 1D NS : one-dimensional slit-scanning speckle observations in
*                   north-south direction
*          1D EW : same in east-west direction
*          2D SPK: speckle observations with a two-dimensional array detector
*Note (2): The companion brightness limits are given in absolute magnitudes.

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

C  Declarations for 'table3'	! *Updated summary of magnitude limits for
                                  northern M dwarfs within five parsecs

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

      character*14  Name_2      ! Object designation
      character*6   Tech_1      ! Applied technique
      character*1   Band_1      ! Wavelength band
      real*4        Mag1AU_1    ! (mag) ? Magnitude limit for separation 1 AU (1)
      real*4        Mag2AU_1    ! (mag) ? Magnitude limit for separation 2 AU (1)
      real*4        Mag5AU_1    ! (mag) ? Magnitude limit for separation 5 AU (1)
      real*4        Mag10AU_1   ! (mag) ? Magnitude limit for separation 10 AU (1)
      character*1   Note_1      ! [c] c: Companion detected (2)
*Note (1): Detection limits include data from Henry (1991, Ph.D. Thesis,
*           Arizona Univ., Tuscon)
*           and effects of new parallaxes. These limits supersede those given
*           in Henry & McCarthy (1990ApJ...350..334H).
*Note (2): See Henry & McCarthy (1990ApJ...350..334H) for details

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

C  Loading file 'table1'	! Basic data for all M dwarfs within five parsecs

C  Format for file interpretation

    1 format(
     +  A1,1X,A14,A1,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,F5.2,
     +  1X,F4.2,1X,F4.2,1X,F4.2,2X,F6.4,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1')
      write(6,*) '....Loading file: table1'
      do i__=1,40
        read(1,'(A72)')ar__
        read(ar__,1)
     +  Loc,Name,Note,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Vmag,Jmag,Hmag,Kmag,
     +  plx,KMag_1
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Loc,Name,Note,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Vmag,Jmag,Hmag,Kmag,
     +  plx,KMag_1
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2'	! Companion magnitude limits for southern
*                                  M dwarfs within five parsecs

C  Format for file interpretation

    2 format(
     +  A10,1X,A6,1X,A8,1X,A9,1X,A2,1X,F4.1,A1,1X,F4.1,A1,1X,F4.1,1X,
     +  F4.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2')
      write(6,*) '....Loading file: table2'
      do i__=1,39
        read(1,'(A61)')ar__1
        read(ar__1,2)
     +  Name_1,Tech,Obsdate,Tel,Band,Mag1AU,u_Mag1AU,Mag2AU,u_Mag2AU,
     +  Mag5AU,Mag10AU
        if(ar__1(41:44) .EQ. '') Mag1AU = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1,Tech,Obsdate,Tel,Band,Mag1AU,u_Mag1AU,Mag2AU,u_Mag2AU,
     +  Mag5AU,Mag10AU
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3'	! *Updated summary of magnitude limits for
*                                  northern M dwarfs within five parsecs

C  Format for file interpretation

    3 format(A14,1X,A6,1X,A1,1X,F4.1,1X,F4.1,1X,F4.1,1X,F4.1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3')
      write(6,*) '....Loading file: table3'
      do i__=1,30
        read(1,'(A44)')ar__2
        read(ar__2,3)
     +  Name_2,Tech_1,Band_1,Mag1AU_1,Mag2AU_1,Mag5AU_1,Mag10AU_1,
     +  Note_1
        if(ar__2(25:28) .EQ. '') Mag1AU_1 = rNULL__
        if(ar__2(30:33) .EQ. '') Mag2AU_1 = rNULL__
        if(ar__2(35:38) .EQ. '') Mag5AU_1 = rNULL__
        if(ar__2(40:43) .EQ. '') Mag10AU_1 = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2,Tech_1,Band_1,Mag1AU_1,Mag2AU_1,Mag5AU_1,Mag10AU_1,
     +  Note_1
c    .......End.of.Just test output...........
      end do
      close(1)

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