FORTRAN Generation
(/./ftp/cats/VIII/32)

Conversion of standardized ReadMe file for file /./ftp/cats/VIII/32 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-28
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. VIII/32            Extragalactic sources at 5GHz             (Jenkins+ 1977)
*================================================================================
*Observations of 104 extragalactic radio sources with the
*Cambridge 5-km telescope at 5 GHz.
*    Jenkins C.J., Pooley G.G., Riley J.M.
*   <Mem. R. Astron. Soc., 84, 61 (1977)>
*   =1977MmRAS..84...61J
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Extragalactic radio sources

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

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

      character*7   Name        ! Source number from the 3C or 4C catalogues
      character*1   n_Name      ! [*] note detailed in notes.dat file
      integer*4     Nspa        ! ? Number of spacings, N used in the
*                                   synthesis (see Section 2).
      character*1   f_Name      ! [S] S for the source
      character*1   n_RAh       ! [#] # = optical position
      character*1   u_RAh       ! [(] Note (1)
      integer*4     RAh         ! (h) ? Radio peak of emission right ascension (1950)
      integer*4     RAm         ! (min) ? Radio peak of emission right ascension (1950)
      real*4        RAs         ! (s) ? Radio peak of emission right ascension (1950)
      real*4        e_RAs       ! (s) ? rms uncertainty on right ascension (2)
      character*1   DE_         ! ? Radio peak declination sign (1950)
      integer*4     DEd         ! (deg) ? Radio peak of emission declination (1950)
      integer*4     DEm         ! (arcmin) ? Radio peak of emission declination (1950)
      real*4        DEs         ! (arcsec) ? Radio peak of emission declination (1950)
      real*4        e_DEs       ! (arcsec) ? rms uncertainty in DEs (2)
      character*1   u_DEd       ! [)] Note (1)
      integer*4     PA          ! (deg) ? Position angle of the major axis of the
*                                   component, if well defined
      character*1   l_omega1    ! Limit flag on omega1
      real*4        omega1      ! (arcsec) ? Angular extent of each component parallel and
*                                   perpendicular to its major axis (3)
      character*1   u_omega1    ! Uncertainty flag on omega1
      character*1   l_omega2    ! Limit flag on omega2
      real*4        omega2      ! (arcsec) ? Angular extent of each component parallel and
*                                   perpendicular to its major axis (3)
      character*1   u_omega2    ! Uncertainty flag on omega2
      integer*4     S5GHz       ! (mJy) ? Flux density of each component at 5 GHz
      integer*4     e_S5GHz     ! (mJy) ? rms uncertainty on S5GHz
      real*4        Theta       ! (arcsec) ? Overall angular extent of the source (4)
      character*1   u_Theta     ! Uncertainty flag on theta
      integer*4     I5GHz       ! (mJy) ? Integrated flux density of the source at
*                                   5GHz (5)
      integer*4     e_I5GHz     ! (mJy) ? rms uncertainty on I5GHz
      real*4        z           ! ? Redshift of the associated object.
      integer*4     Dist        ! (Mpc) ? Distance derived from the redshift (6)
      character*1   l_Size      ! Limit flag on Size
      integer*4     Size        ! (kpc) ? Total linear size of the source if the
*                                   angular size is that given in column Theta
      character*1   u_Size      ! Uncertainty flag on size
*Note (1): The coordinates in brackets are unlikely to be related to the
*    radio source.
*Note (2): No error is quoted if the component has no well-defined peak.
*Note (3): The angular extents of each component parallel and
*    perpendicular to its major axis; if no position angle is given, the
*    quoted angular sizes are in RA and DE. When the component is barely
*    resolved, a Gaussian brightness distribution is assumed in estimating
*    its angular extent. For more complex components the quoted sizes are
*    only approximate.
*Note (4): This is usually the separation of the outermost peaks of a
*    multiple source.
*Note (5): This is the maximum amplitude on the smallest interferometer
*    spacing used in the observations. For 3C sources the values measured
*    in this way agree well with those given by Kellermann, Pauliny-Toth &
*    Williams (1974MNRAS.169..477P).
*Note (6): An Einstein-de Sitter model has been used, assuming
*    H_0_=50km/s/Mpc, {Omega}=1 and q_0_=0.5.

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

C  Declarations for 'notes.dat'	! Individual notes

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

      character*8   Name_1      ! 3C or 4C name
      character*71  Note        ! Text of the note

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

C  Declarations for 'table2.dat'	! Sample

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

      character*8   Name_2      ! 3C number
      real*4        S178MHz     ! Flux density at 178 MHz on the scale of
*                                   Kellermann et al., 1969ApJ...157....1K
      character*3   Ref         ! Reference to the 5-GHz, 5-km telescope (1)
*Note (1): References:
*    ER  1976MNRAS.174..411E, Elsmore & Ryle
*    H   1974MNRAS.168..491H, Hargrave
*    HM  1975MNRAS.173...37H, Hargrave & McEllin
*    JPR 1977MmRAS..84...61J, Jenkins et al., this paper
*    JS  1976MNRAS.174..327J, Jenkins & Scheuer
*    L   1975MNRAS.173..309L, Longair
*    N   1973MNRAS.165..369N, Northover
*    PH  1974MNRAS.169..477P, Pooley & Henbest
*    RB  1973MNRAS.164..271R, Riley & Branson
*    RP  1976MmRAS..80..105R, Riley & Pooley
*    T1  1975MNRAS.170..281T, Turland
*    T2  1975MNRAS.172..181T, Turland

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

C  Loading file 'table1.dat'	! Extragalactic radio sources

C  Format for file interpretation

    1 format(
     +  A7,A1,I2,1X,A1,1X,A1,A1,I2,1X,I2,1X,F6.3,1X,F5.3,A1,I2,1X,I2,
     +  1X,F5.2,1X,F5.2,A1,1X,I3,1X,A1,F4.1,A1,1X,A1,F4.1,A1,1X,I4,1X,
     +  I3,2X,F6.1,A1,1X,I4,1X,I3,2X,F6.4,2X,I4,1X,A1,I3,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,348
        read(1,'(A117)')ar__
        read(ar__,1)
     +  Name,n_Name,Nspa,f_Name,n_RAh,u_RAh,RAh,RAm,RAs,e_RAs,DE_,DEd,
     +  DEm,DEs,e_DEs,u_DEd,PA,l_omega1,omega1,u_omega1,l_omega2,
     +  omega2,u_omega2,S5GHz,e_S5GHz,Theta,u_Theta,I5GHz,e_I5GHz,z,
     +  Dist,l_Size,Size,u_Size
        if(ar__(9:10) .EQ. '') Nspa = iNULL__
        if(ar__(16:17) .EQ. '') RAh = iNULL__
        if(ar__(19:20) .EQ. '') RAm = iNULL__
        if(ar__(22:27) .EQ. '') RAs = rNULL__
        if(ar__(29:33) .EQ. '') e_RAs = rNULL__
        if(ar__(35:36) .EQ. '') DEd = iNULL__
        if(ar__(38:39) .EQ. '') DEm = iNULL__
        if(ar__(41:45) .EQ. '') DEs = rNULL__
        if(ar__(47:51) .EQ. '') e_DEs = rNULL__
        if(ar__(54:56) .EQ. '') PA = iNULL__
        if(ar__(59:62) .EQ. '') omega1 = rNULL__
        if(ar__(66:69) .EQ. '') omega2 = rNULL__
        if(ar__(72:75) .EQ. '') S5GHz = iNULL__
        if(ar__(77:79) .EQ. '') e_S5GHz = iNULL__
        if(ar__(82:87) .EQ. '') Theta = rNULL__
        if(ar__(90:93) .EQ. '') I5GHz = iNULL__
        if(ar__(95:97) .EQ. '') e_I5GHz = iNULL__
        if(ar__(100:105) .EQ. '') z = rNULL__
        if(ar__(108:111) .EQ. '') Dist = iNULL__
        if(ar__(114:116) .EQ. '') Size = iNULL__
        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)
     +  Name,n_Name,Nspa,f_Name,n_RAh,u_RAh,RAh,RAm,RAs,e_RAs,DE_,DEd,
     +  DEm,DEs,e_DEs,u_DEd,PA,l_omega1,omega1,u_omega1,l_omega2,
     +  omega2,u_omega2,S5GHz,e_S5GHz,Theta,u_Theta,I5GHz,e_I5GHz,z,
     +  Dist,l_Size,Size,u_Size
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Individual notes

C  Format for file interpretation

    2 format(A8,1X,A71)

C  Effective file loading

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

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

C  Loading file 'table2.dat'	! Sample

C  Format for file interpretation

    3 format(A8,2X,F6.1,2X,A3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,166
        read(1,'(A21)')ar__2
        read(ar__2,3)Name_2,S178MHz,Ref
c    ..............Just test output...........
        write(6,3)Name_2,S178MHz,Ref
c    .......End.of.Just test output...........
      end do
      close(1)

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