FORTRAN Generation
(/./ftp/cats/III/260)

Conversion of standardized ReadMe file for file /./ftp/cats/III/260 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. III/260             General Catalogue of Ap and Am stars   (Renson+ 2009)
*================================================================================
*General catalogue of Ap, HgMn and Am stars.
*    Renson P., Manfroid J.
*   <Astron. Astrophys. in prep. (2009)>
*   =2009A&A...498..961R
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! Catalogue of Ap, HgMn and Am stars (version 2009)

      integer*4 nr__
      parameter (nr__=8205)	! Number of records
      character*155 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   n_Seq       ! [/?* ] Peculiarity probability note (1)
      integer*4     Seq         ! [1/61790] Running number in the catalog (2)
      integer*4     HD          ! [1/359083]? HD(E) identification
      character*1   m_HD        ! Multiplicity indicator (3)
      integer*4     HIP         ! [1/120404]? Hipparcos catalogue (I/239)
      character*1   m_HIP       ! Multiplicity indicator (3)
      integer*4     HR          ! [1/9110]? HR (V/50) identification
      character*1   m_HR        ! Multiplicity indicator (3)
      character*11  DM          ! Durchmusterung (BD, CD, CP) designation (4)
      character*1   m_DM        ! Multiplicity indicator (3)
      character*11  TYC         ! Tycho-2 catalogue (I/259)
      character*11  Name        ! Bayer / Flamsteed name (5)
      integer*4     RA1900h     ! (h) Right Ascension 1900 (hours)
      integer*4     RA1900m     ! (min) Right Ascension 1900 (minutes)
      real*4        RA1900s     ! (s) Right Ascension 1900 (seconds)
      character*1   DE1900_     ! Declination 1900 (sign)
      integer*4     DE1900d     ! (deg) Declination 1900 (degrees)
      integer*4     DE1900m     ! (arcmin) Declination 1900 (minutes)
      integer*4     DE1900s     ! (arcsec) Declination 1900 (seconds)
      integer*4     RAh         ! (h) Right Ascension J2000 (hours)
      integer*4     RAm         ! (min) Right Ascension J2000 (minutes)
      real*4        RAs         ! (s) Right Ascension J2000 (seconds)
      character*1   DE_         ! Declination J2000 (sign)
      integer*4     DEd         ! (deg) Declination J2000 (degrees)
      integer*4     DEm         ! (arcmin) Declination J2000 (minutes)
      real*4        DEs         ! (arcsec) Declination J2000 (seconds)
      real*4        Vmag        ! (mag) ? Magnitude, generally V (6)
      real*4        B_V         ! (mag) ? B-V colour index (7)
      real*4        U_B         ! (mag) ? U-B colour index (7)
      real*4        b_y         ! (mag) ? b-y from Stroemgren photometry
      real*4        m1          ! (mag) ? m1 = (v-b)-(b-y) from Stroemgren
      real*4        c1          ! (mag) ? c1 = (u-v)-(v-b) from Stroemgren
      real*4        Hbeta       ! (mag) ? H-beta index from Stroemgren
      character*14  SpType      ! Spectral classification (8)
      character*11  NoteCode    ! [ABCDHNPRSV* ] Notes detailed in notes.dat (G1)
*Note (1): Indication of the probability that the star belongs to the
*    considered category:
*    '/'  = denotes a star improperly considered Ap or Am
*    '?'  = doubtful nature
*    '*'  = well-known Ap or Am star
*    ' '  = other cases
*Note (2): Running number (initially in tens), closely follows the HD order
*    (extension excluded) or, in the absence of HD number, the 1900 right
*    ascension. The running number has been kept for the stars already
*    present in the first edition. The new stars have been inserted
*    following the same scheme whenever possible. Obviously there are
*    several instances where 9 slots were not sufficient, thus the 1900 RA
*    order is not always strictly obeyed. On the other hand it has
*    been possible to respect the HD order.
*Note (3): the multiplicity letter identifies the component in the
*    case of double or multiple system where components have not a
*    distinct number, except when the luminosity of the other
*    components is negligible.
*Note (4): BD=Bonn (I/122 and I/119), CD=Cordoba (I/114),
*          CP= Cape photographic (I/108).
*    The choice is made according to the usual convention
*    as adopted in the HD catalogue
*Note (5): the conventions for greek letters are:
*       *al=alpha           *io=iota           *rh=rho
*       *be=beta            *ka=kappa          *si=sigma
*       *ga=gamma           *la=lambda         *ta=tau
*       *de=delta           *mu=mu             *up=upsilon
*       *ep=epsilon         *nu=nu             *ph=phi
*       *dz=dzeta           *xi=xi             *kh=chi
*       *et=eta             *oi=omicron        *ps=psi
*       *th=theta           *pi=pi             *oe=omega
*Note (6): for close double stars, this magnitude was corrected
*    from the companion's luminosity.
*Note (7): for close double stars, the colour index refers to the
*    combined light.
*Note (8):
*    A dash in column 133 indicates an Am star; this dash separates the
*    spectral type deduced from the K line and the spectral type deduced
*    from the metallic lines; delta Del-type stars are classified as Am,
*    and marked with dD. Another character in column 133 means an Ap or
*    HgMn star. The spectrum is followed by the symbols of the elements
*    with abnormal abundances.

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

C  Declarations for 'notes.dat'	! Notes and addenda about the catalogued star

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

      integer*4     Seq_1       ! [1/61790] Running number as in catalog
      character*1   Cod         ! [ABCDHNPRSV*]  The same code as in columns
*                                   145-155 of catalog file (G1)
      character*71  Text        ! Text of the note

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

C  Loading file 'catalog.dat'	! Catalogue of Ap, HgMn and Am stars (version 2009)

C  Format for file interpretation

    1 format(
     +  A1,I5,I6,A1,I6,A1,I4,A1,A11,A1,A11,A11,I2,I2,F4.1,A1,I2,I2,I2,
     +  I2,I2,F5.2,A1,I2,I2,F4.1,F4.1,F5.2,F5.2,F6.3,F6.3,F6.3,F6.3,
     +  A14,A11)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,8205
        read(1,'(A155)')ar__
        read(ar__,1)
     +  n_Seq,Seq,HD,m_HD,HIP,m_HIP,HR,m_HR,DM,m_DM,TYC,Name,RA1900h,
     +  RA1900m,RA1900s,DE1900_,DE1900d,DE1900m,DE1900s,RAh,RAm,RAs,
     +  DE_,DEd,DEm,DEs,Vmag,B_V,U_B,b_y,m1,c1,Hbeta,SpType,NoteCode
        if(ar__(7:12) .EQ. '') HD = iNULL__
        if(ar__(14:19) .EQ. '') HIP = iNULL__
        if(ar__(21:24) .EQ. '') HR = iNULL__
        if(ar__(93:96) .EQ. '') Vmag = rNULL__
        if(ar__(97:101) .EQ. '') B_V = rNULL__
        if(ar__(102:106) .EQ. '') U_B = rNULL__
        if(ar__(107:112) .EQ. '') b_y = rNULL__
        if(ar__(113:118) .EQ. '') m1 = rNULL__
        if(ar__(119:124) .EQ. '') c1 = rNULL__
        if(ar__(125:130) .EQ. '') Hbeta = rNULL__
        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)
     +  n_Seq,Seq,HD,m_HD,HIP,m_HIP,HR,m_HR,DM,m_DM,TYC,Name,RA1900h,
     +  RA1900m,RA1900s,DE1900_,DE1900d,DE1900m,DE1900s,RAh,RAm,RAs,
     +  DE_,DEd,DEm,DEs,Vmag,B_V,U_B,b_y,m1,c1,Hbeta,SpType,NoteCode
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Notes and addenda about the catalogued star

C  Format for file interpretation

    2 format(I5,2X,A1,1X,A71)

C  Effective file loading

      open(unit=1,status='old',file=
     +'notes.dat')
      write(6,*) '....Loading file: notes.dat'
      do i__=1,9700
        read(1,'(A80)')ar__1
        read(ar__1,2)Seq_1,Cod,Text
c    ..............Just test output...........
        write(6,2)Seq_1,Cod,Text
c    .......End.of.Just test output...........
      end do
      close(1)

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