FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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.5, on 2013-May-18
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__
ter  (rNULL__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. III/59      Catalogue and Bibliography of Mn-Hg Stars    (Schneider 1981)
*================================================================================
*A Catalogue and Bibliography of Mn-Hg Stars
*    Schneider H.
*   <CDS Bull. No. 20, p. 113 (1981)>
*   =1981BICDS..20..113S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'data.dat'	! Data file (Table 1)

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

      real*8        RA_         ! (deg) Right Ascension 1950
      real*8        Dec         ! (deg)     Declination 1950
      integer*4     HD          ! ?HD (Cat. <III/135>) number
      integer*4     HR          ! ?Bright Star (HR, Cat. <V/50>)) number
      character*7   Name        ! Common name
      real*4        mv          ! (mag) ?Visual magnitude from SAO catalog
      character*3   Sp          ! Spectral type from SAO catalog
      character*3   dupl        ! *Duplicity code
      integer*4     RAh         ! (h) *Right ascension (1950) - hour
      integer*4     RAm         ! (min) Right ascension (1950) - minutes
      integer*4     RAs         ! (s) ?Right ascension (1950) - seconds
      character*1   DE_         ! Declination sign
      integer*4     DEd         ! (deg) Declination degrees (1950)
      integer*4     DEm         ! (arcmin) Decliantion minutes (1950)
      integer*4     DEs         ! (arcsec) ?Decliantion seconds (1950)
      character*4   n_Sp        ! [?] Suspected Mn-Hg star or misc. cl.
      character*1   group       ! [*] indicates member of group/cluster
*                                      or misc. remark (see remarks.dat)
      character*52  ref         ! References - see refs.dat
*Note on RAh:
*    The positions are taken from the SAO Catalog.
*Note on dupl:
*    D   = Double
*    SB  = Spectroscopic binary
*    SB1 + 1-line system
*    SB2 = 2-line system
*    V   = Visual binary. The following number indicates the number of
*          components, the following letter, the component which is the Ap
*          star (E.g. V3B)

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

C  Declarations for 'remarks.dat'	! Remarks for data in table 1

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

      integer*4     HD_1        ! HD designation, as in data.dat
      character*63  Text        ! Text of remark

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

C  Declarations for 'refs.dat'	! *Bibliography (Table 4)

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

      integer*4     ID          ! *?Reference number
      character*76  Text_1      ! *Reference
*Note on ID:
*   ID is repeated when the reference requires more than one line.
*Note on Text:
*   Books are indicated by '  ' in this file, remarks.txt, and abrev.txt.
*   See file "abrev.txt" for abbreviations of magazines.

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

C  Loading file 'data.dat'	! Data file (Table 1)

C  Format for file interpretation

    1 format(
     +  I6,1X,I4,1X,A7,1X,F3.1,1X,A3,1X,A3,1X,I2,1X,I2,1X,I2,1X,A1,I2,
     +  1X,I2,1X,I2,A4,A1,1X,A52)

C  Effective file loading

      open(unit=1,file='data.dat', status='old')
      write(6,*) '....Loading file: data.dat'
      do i__=1,375
        read(1,'(A108)')ar__
        read(ar__,1)
     +  HD,HR,Name,mv,Sp,dupl,RAh,RAm,RAs,DE_,DEd,DEm,DEs,n_Sp,group,
     +  ref
        if(ar__(1:6) .EQ. '') HD = iNULL__
        if(ar__(8:11) .EQ. '') HR = iNULL__
        if(ar__(21:23) .EQ. '') mv = rNULL__
        if(ar__(39:40) .EQ. '') RAs = iNULL__
        if(ar__(49:50) .EQ. '') DEs = iNULL__
c       Derive coordinates RA_ and Dec from input data
c       (RA_ and Dec are set to rNULL_ when unknown)
        RA_ = RAh
        if(RAh .GE. 0) RA_=RAh*15.
        if(RAm .GE. 0) RA_=RA_+RAm/4.
        if(RAs .GE. 0) RA_=RA_+RAs/240.
        Dec = DEd
        if(DEm .GE. 0) Dec=Dec+DEm/60.
        if(DEs .GE. 0) Dec=Dec+DEs/3600.
        if(DE_.EQ.'-'.AND.Dec.GE.0) Dec=-Dec
c    ..............Just test output...........
        write(6,1)
     +  HD,HR,Name,mv,Sp,dupl,RAh,RAm,RAs,DE_,DEd,DEm,DEs,n_Sp,group,
     +  ref
        write(6,'(6H Pos: 2F8.4)') RA_,Dec
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'remarks.dat'	! Remarks for data in table 1

C  Format for file interpretation

    2 format(I6,1X,A63)

C  Effective file loading

      open(unit=1,file='remarks.dat', status='old')
      write(6,*) '....Loading file: remarks.dat'
      do i__=1,66
        read(1,'(A70)')ar__1
        read(ar__1,2)HD_1,Text
c    ..............Just test output...........
        write(6,2)HD_1,Text
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! *Bibliography (Table 4)

C  Format for file interpretation

    3 format(I3,1X,A76)

C  Effective file loading

      open(unit=1,file='refs.dat', status='old')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,1224
        read(1,'(A80)')ar__2
        read(ar__2,3)ID,Text_1
        if(ar__2(1:3) .EQ. '') ID = iNULL__
c    ..............Just test output...........
        write(6,3)ID,Text_1
c    .......End.of.Just test output...........
      end do
      close(1)

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