FORTRAN Generation
(/./ftp/cats/J/A_A/516/A28)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/516/A28 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-Apr-20
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/516/A28       Star catalogue of Tycho Brahe (1627)        (Verbunt+, 2010)
*================================================================================
*Three editions of the star catalogue of Tycho Brahe.
*Machine-readable versions and comparison with the modern Hipparcos Catalogue.
*    Verbunt F., van Gent R.H.
*   <Astron. Astrophys. 516, A28 (2010)>
*   =2010A&A...516A..28V
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'keplere.dat'	! Emended version of Kepler (1627) edition of
                              Tycho Brahe Star Catalogue

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

C  1601.0 position composed of: Elon.Z Elon.d Elon.m Elat.- Elat.d Elat.m
      real*8        RAdeg      (nr__) ! (deg) Right Ascension 1601.0
      real*8        DEdeg      (nr__) ! (deg)     Declination 1601.0
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     M          (nr__) ! ?=0 Sequence number in Manuscript Catalogue
      integer*4     B          (nr__) ! ?=0 Sequence number in Brahe 1602 edition
      integer*4     K          (nr__) ! ?=0 Sequence number in Kepler 1627 edition
      integer*4     C          (nr__) ! Sequence number of constellation in Kepler
      character*3   cst        (nr__) ! Abbreviation of constellation name
      integer*4     N          (nr__) ! Sequence number of star in constellation
      integer*4     Elon_Z     (nr__) ! (30deg) [1,12] Zodiacal sign of ecliptic longitude (1)
      integer*4     Elon_d     (nr__) ! (deg) [0,30] Degrees of ecliptic longitude (1)
      real*4        Elon_m     (nr__) ! (arcmin) Arcminutes of ecliptic longitude (1)
      integer*4     Elat_d     (nr__) ! (deg) Degrees of ecliptic latitude  (2)
      real*4        Elat_m     (nr__) ! (arcmin) Arcminutes of ecliptic latitude (2)
      character*1   Elat__     (nr__) ! [AB] Sign of ecliptic latitude,
*                                     Australis (-) or Borealis (+) (2)
      integer*4     VB         (nr__) ! Magnitude as given by Brahe; 9 for `nebulous'
      character*1   n_VB       (nr__) ! [.:] Magnitude qualifier (3)
      integer*4     HIP        (nr__) ! ? Hipparcos number of identification
      integer*4     I          (nr__) ! [1,6] Quality of identification (4)
      integer*4     D          (nr__) ! [0,5] Comparison flag with Dreyer (5)
      integer*4     R          (nr__) ! [0,5] comparison flag with Rawlins (5)
      real*4        Vmag       (nr__) ! (mag) ?=0 Magnitude of Hipparcos identification
      real*4        Dlon       (nr__) ! (min) ?=0 Difference in longitude: Hipparcos-Brahe
      real*4        Dlat       (nr__) ! (arcmin) ?=0 Difference in latitude: Hipparcos-Brahe
      real*4        Delta      (nr__) ! (arcmin) ?=0 Offset between Brahe star and identification
      character*1   v_K        (nr__) ! K indicates variant from Kepler (1627) (6)
      character*1   v_P        (nr__) ! P indicates variant from Brahe (1602) (6)
      character*1   v_M        (nr__) ! M indicates variant from manuscript 1598 (6)
      character*1   v_I        (nr__) ! C/P indicates variant meus catalogus/Piserus (6)
*Note (1): The ecliptic longitude (for the equinox of AD 1601.0) is given by
*     {lambda} = (Z-1)30 + Elon.d + Elon.m/60
*Note (2): The ecliptic latitude (for the year AD 1601.0) is given by
*      {beta} = +/-(Elat.d + Elat.m/60); (+ for Borealis, - for Australis)
*Note (3): Magnitude qualifier:
*      : = brighter;
*      . = fainter
*Note (4): Flag 'I' as follows:
*      1 = secure identification with nearest star
*      2 = secure identification, even though not nearest star
*      3 = probable identification
*      4 = possible identification
*      5 = not identified
*      6 = double entry
*Note (5): Comparison flags as follows:
*      0 = no identification given by Dreyer/Rawlins
*      1 = same identification given by Dreyer/Rawlins
*      2 = identification in Dreyer/Rawlins to alternative identification
*      3 = identification in Dreyer/Rawlins different from our identification
*      4 = identification in Rawlins different due to corrected position
*      5 = called `utter fake' by Rawlins
*Note (6): in variants.dat file only

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

C  Declarations for 'variant.dat'	! Variants on Kepler Emended version
                              from other editions

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

C  1601.0 position composed of: Elon.Z Elon.d Elon.m Elat.- Elat.d Elat.m
      real*8        RAdeg_1    (nr__1) ! (deg) Right Ascension 1601.0
      real*8        DEdeg_1    (nr__1) ! (deg)     Declination 1601.0
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     M_1        (nr__1) ! ?=0 Sequence number in Manuscript Catalogue
      integer*4     B_1        (nr__1) ! ?=0 Sequence number in Brahe 1602 edition
      integer*4     K_1        (nr__1) ! ?=0 Sequence number in Kepler 1627 edition
      integer*4     C_1        (nr__1) ! Sequence number of constellation in Kepler
      character*3   cst_1      (nr__1) ! Abbreviation of constellation name
      integer*4     N_1        (nr__1) ! Sequence number of star in constellation
      integer*4     Elon_Z_1   (nr__1) ! (30deg) [1,12] Zodiacal sign of ecliptic longitude (1)
      integer*4     Elon_d_1   (nr__1) ! (deg) [0,30] Degrees of ecliptic longitude (1)
      real*4        Elon_m_1   (nr__1) ! (arcmin) Arcminutes of ecliptic longitude (1)
      integer*4     Elat_d_1   (nr__1) ! (deg) Degrees of ecliptic latitude  (2)
      real*4        Elat_m_1   (nr__1) ! (arcmin) Arcminutes of ecliptic latitude (2)
      character*1   Elat___1   (nr__1) ! [AB] Sign of ecliptic latitude,
*                                     Australis (-) or Borealis (+) (2)
      integer*4     VB_1       (nr__1) ! Magnitude as given by Brahe; 9 for `nebulous'
      character*1   n_VB_1     (nr__1) ! [.:] Magnitude qualifier (3)
      integer*4     HIP_1      (nr__1) ! ? Hipparcos number of identification
      integer*4     I_1        (nr__1) ! [1,6] Quality of identification (4)
      integer*4     D_1        (nr__1) ! [0,5] Comparison flag with Dreyer (5)
      integer*4     R_1        (nr__1) ! [0,5] comparison flag with Rawlins (5)
      real*4        Vmag_1     (nr__1) ! (mag) ?=0 Magnitude of Hipparcos identification
      real*4        Dlon_1     (nr__1) ! (min) ?=0 Difference in longitude: Hipparcos-Brahe
      real*4        Dlat_1     (nr__1) ! (arcmin) ?=0 Difference in latitude: Hipparcos-Brahe
      real*4        Delta_1    (nr__1) ! (arcmin) ?=0 Offset between Brahe star and identification
      character*1   v_K_1      (nr__1) ! K indicates variant from Kepler (1627) (6)
      character*1   v_P_1      (nr__1) ! P indicates variant from Brahe (1602) (6)
      character*1   v_M_1      (nr__1) ! M indicates variant from manuscript 1598 (6)
      character*1   v_I_1      (nr__1) ! C/P indicates variant meus catalogus/Piserus (6)
*Note (1): The ecliptic longitude (for the equinox of AD 1601.0) is given by
*     {lambda} = (Z-1)30 + Elon.d + Elon.m/60
*Note (2): The ecliptic latitude (for the year AD 1601.0) is given by
*      {beta} = +/-(Elat.d + Elat.m/60); (+ for Borealis, - for Australis)
*Note (3): Magnitude qualifier:
*      : = brighter;
*      . = fainter
*Note (4): Flag 'I' as follows:
*      1 = secure identification with nearest star
*      2 = secure identification, even though not nearest star
*      3 = probable identification
*      4 = possible identification
*      5 = not identified
*      6 = double entry
*Note (5): Comparison flags as follows:
*      0 = no identification given by Dreyer/Rawlins
*      1 = same identification given by Dreyer/Rawlins
*      2 = identification in Dreyer/Rawlins to alternative identification
*      3 = identification in Dreyer/Rawlins different from our identification
*      4 = identification in Rawlins different due to corrected position
*      5 = called `utter fake' by Rawlins
*Note (6): in variants.dat file only

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

C  Declarations for 'names.dat'	! Descriptions of the stars, from the
                              Manuscript version of the catalogue

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

      integer*4     M_2        (nr__2) ! ?=0 Sequence number in Manuscript Catalogue
      integer*4     B_2        (nr__2) ! ?=0 Sequence number in Brahe 1602 edition
      integer*4     K_2        (nr__2) ! ?=0 Sequence number in Kepler 1627 edition
      character*80  Name       (nr__2) ! Latin description of star in Manuscript 1598 (1)
*Note (1): Mathematical symbols (square, triangle) from the manuscripts are
*     indicated with LaTeX form ($\box$, $\triangle$); zodiac symbols from
*     the manuscript are indicated with the wasysym form (\aries, \taurus,
*     \gemini, \cancer, etc.)

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

C  Loading file 'keplere.dat'	! Emended version of Kepler (1627) edition of
*                              Tycho Brahe Star Catalogue

C  Format for file interpretation

    1 format(
     +  I4,1X,I3,1X,I4,1X,I2,2X,A3,1X,I2,1X,I2,1X,I2,1X,F4.1,1X,I2,1X,
     +  F4.1,1X,A1,1X,I1,A1,1X,I6,2X,I1,2X,I1,1X,I1,1X,F4.1,1X,F6.1,
     +  1X,F6.1,1X,F6.1,2X,A1,A1,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'keplere.dat')
      write(6,*) '....Loading file: keplere.dat'
      do i__=1,1007
        read(1,'(A95)')ar__
        read(ar__,1)
     +  M(i__),B(i__),K(i__),C(i__),cst(i__),N(i__),Elon_Z(i__),
     +  Elon_d(i__),Elon_m(i__),Elat_d(i__),Elat_m(i__),Elat__(i__),
     +  VB(i__),n_VB(i__),HIP(i__),I(i__),D(i__),R(i__),Vmag(i__),
     +  Dlon(i__),Dlat(i__),Delta(i__),v_K(i__),v_P(i__),v_M(i__),
     +  v_I(i__)
        if(ar__(50:55) .EQ. '') HIP(i__) = iNULL__
        RAdeg(i__) = rNULL__
        DEdeg(i__) = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
c    ..............Just test output...........
        write(6,1)
     +  M(i__),B(i__),K(i__),C(i__),cst(i__),N(i__),Elon_Z(i__),
     +  Elon_d(i__),Elon_m(i__),Elat_d(i__),Elat_m(i__),Elat__(i__),
     +  VB(i__),n_VB(i__),HIP(i__),I(i__),D(i__),R(i__),Vmag(i__),
     +  Dlon(i__),Dlat(i__),Delta(i__),v_K(i__),v_P(i__),v_M(i__),
     +  v_I(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'variant.dat'	! Variants on Kepler Emended version
*                              from other editions

C  Format for file interpretation

    2 format(
     +  I4,1X,I3,1X,I4,1X,I2,2X,A3,1X,I2,1X,I2,1X,I2,1X,F4.1,1X,I2,1X,
     +  F4.1,1X,A1,1X,I1,A1,1X,I6,2X,I1,2X,I1,1X,I1,1X,F4.1,1X,F6.1,
     +  1X,F6.1,1X,F6.1,2X,A1,A1,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'variant.dat')
      write(6,*) '....Loading file: variant.dat'
      do i__=1,82
        read(1,'(A95)')ar__1
        read(ar__1,2)
     +  M_1(i__),B_1(i__),K_1(i__),C_1(i__),cst_1(i__),N_1(i__),
     +  Elon_Z_1(i__),Elon_d_1(i__),Elon_m_1(i__),Elat_d_1(i__),
     +  Elat_m_1(i__),Elat___1(i__),VB_1(i__),n_VB_1(i__),HIP_1(i__),
     +  I_1(i__),D_1(i__),R_1(i__),Vmag_1(i__),Dlon_1(i__),
     +  Dlat_1(i__),Delta_1(i__),v_K_1(i__),v_P_1(i__),v_M_1(i__),
     +  v_I_1(i__)
        if(ar__1(50:55) .EQ. '') HIP_1(i__) = iNULL__
        RAdeg_1(i__) = rNULL__
        DEdeg_1(i__) = rNULL__
c  Derive coordinates RAdeg_1 and DEdeg_1 from input data
c  (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
c    ..............Just test output...........
        write(6,2)
     +  M_1(i__),B_1(i__),K_1(i__),C_1(i__),cst_1(i__),N_1(i__),
     +  Elon_Z_1(i__),Elon_d_1(i__),Elon_m_1(i__),Elat_d_1(i__),
     +  Elat_m_1(i__),Elat___1(i__),VB_1(i__),n_VB_1(i__),HIP_1(i__),
     +  I_1(i__),D_1(i__),R_1(i__),Vmag_1(i__),Dlon_1(i__),
     +  Dlat_1(i__),Delta_1(i__),v_K_1(i__),v_P_1(i__),v_M_1(i__),
     +  v_I_1(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_1(i__),DEdeg_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'names.dat'	! Descriptions of the stars, from the
*                              Manuscript version of the catalogue

C  Format for file interpretation

    3 format(I4,1X,I3,1X,I4,2X,A80)

C  Effective file loading

      open(unit=1,status='old',file=
     +'names.dat')
      write(6,*) '....Loading file: names.dat'
      do i__=1,1007
        read(1,'(A95)')ar__2
        read(ar__2,3)M_2(i__),B_2(i__),K_2(i__),Name(i__)
c    ..............Just test output...........
        write(6,3)M_2(i__),B_2(i__),K_2(i__),Name(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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