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

Conversion of standardized ReadMe file for file /./ftp/cats/VIII/32 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-16
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      (nr__) ! (deg) Right Ascension 1950
      real*8        DEdeg      (nr__) ! (deg)     Declination 1950
C  ---------------------------------- ! (position vector(s) in degrees)

      character*7   Name       (nr__) ! Source number from the 3C or 4C catalogues
      character*1   n_Name     (nr__) ! [*] note detailed in notes.dat file
      integer*4     Nspa       (nr__) ! ? Number of spacings, N used in the
*                                   synthesis (see Section 2).
      character*1   f_Name     (nr__) ! [S] S for the source
      character*1   n_RAh      (nr__) ! [#] # = optical position
      character*1   u_RAh      (nr__) ! [(] Note (1)
      integer*4     RAh        (nr__) ! (h) ? Radio peak of emission right ascension (1950)
      integer*4     RAm        (nr__) ! (min) ? Radio peak of emission right ascension (1950)
      real*4        RAs        (nr__) ! (s) ? Radio peak of emission right ascension (1950)
      real*4        e_RAs      (nr__) ! (s) ? rms uncertainty on right ascension (2)
      character*1   DE_        (nr__) ! ? Radio peak declination sign (1950)
      integer*4     DEd        (nr__) ! (deg) ? Radio peak of emission declination (1950)
      integer*4     DEm        (nr__) ! (arcmin) ? Radio peak of emission declination (1950)
      real*4        DEs        (nr__) ! (arcsec) ? Radio peak of emission declination (1950)
      real*4        e_DEs      (nr__) ! (arcsec) ? rms uncertainty in DEs (2)
      character*1   u_DEd      (nr__) ! [)] Note (1)
      integer*4     PA         (nr__) ! (deg) ? Position angle of the major axis of the
*                                   component, if well defined
      character*1   l_omega1   (nr__) ! Limit flag on omega1
      real*4        omega1     (nr__) ! (arcsec) ? Angular extent of each component parallel and
*                                   perpendicular to its major axis (3)
      character*1   u_omega1   (nr__) ! Uncertainty flag on omega1
      character*1   l_omega2   (nr__) ! Limit flag on omega2
      real*4        omega2     (nr__) ! (arcsec) ? Angular extent of each component parallel and
*                                   perpendicular to its major axis (3)
      character*1   u_omega2   (nr__) ! Uncertainty flag on omega2
      integer*4     S5GHz      (nr__) ! (mJy) ? Flux density of each component at 5 GHz
      integer*4     e_S5GHz    (nr__) ! (mJy) ? rms uncertainty on S5GHz
      real*4        Theta      (nr__) ! (arcsec) ? Overall angular extent of the source (4)
      character*1   u_Theta    (nr__) ! Uncertainty flag on theta
      integer*4     I5GHz      (nr__) ! (mJy) ? Integrated flux density of the source at
*                                   5GHz (5)
      integer*4     e_I5GHz    (nr__) ! (mJy) ? rms uncertainty on I5GHz
      real*4        z          (nr__) ! ? Redshift of the associated object.
      integer*4     Dist       (nr__) ! (Mpc) ? Distance derived from the redshift (6)
      character*1   l_Size     (nr__) ! Limit flag on Size
      integer*4     Size       (nr__) ! (kpc) ? Total linear size of the source if the
*                                   angular size is that given in column Theta
      character*1   u_Size     (nr__) ! 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     (nr__1) ! 3C or 4C name
      character*71  Note       (nr__1) ! 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     (nr__2) ! 3C number
      real*4        S178MHz    (nr__2) ! Flux density at 178 MHz on the scale of
*                                   Kellermann et al., 1969ApJ...157....1K
      character*3   Ref        (nr__2) ! 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(i__),n_Name(i__),Nspa(i__),f_Name(i__),n_RAh(i__),
     +  u_RAh(i__),RAh(i__),RAm(i__),RAs(i__),e_RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),e_DEs(i__),u_DEd(i__),PA(i__),
     +  l_omega1(i__),omega1(i__),u_omega1(i__),l_omega2(i__),
     +  omega2(i__),u_omega2(i__),S5GHz(i__),e_S5GHz(i__),Theta(i__),
     +  u_Theta(i__),I5GHz(i__),e_I5GHz(i__),z(i__),Dist(i__),
     +  l_Size(i__),Size(i__),u_Size(i__)
        if(ar__(9:10) .EQ. '') Nspa(i__) = iNULL__
        if(ar__(16:17) .EQ. '') RAh(i__) = iNULL__
        if(ar__(19:20) .EQ. '') RAm(i__) = iNULL__
        if(ar__(22:27) .EQ. '') RAs(i__) = rNULL__
        if(ar__(29:33) .EQ. '') e_RAs(i__) = rNULL__
        if(ar__(35:36) .EQ. '') DEd(i__) = iNULL__
        if(ar__(38:39) .EQ. '') DEm(i__) = iNULL__
        if(ar__(41:45) .EQ. '') DEs(i__) = rNULL__
        if(ar__(47:51) .EQ. '') e_DEs(i__) = rNULL__
        if(ar__(54:56) .EQ. '') PA(i__) = iNULL__
        if(ar__(59:62) .EQ. '') omega1(i__) = rNULL__
        if(ar__(66:69) .EQ. '') omega2(i__) = rNULL__
        if(ar__(72:75) .EQ. '') S5GHz(i__) = iNULL__
        if(ar__(77:79) .EQ. '') e_S5GHz(i__) = iNULL__
        if(ar__(82:87) .EQ. '') Theta(i__) = rNULL__
        if(ar__(90:93) .EQ. '') I5GHz(i__) = iNULL__
        if(ar__(95:97) .EQ. '') e_I5GHz(i__) = iNULL__
        if(ar__(100:105) .EQ. '') z(i__) = rNULL__
        if(ar__(108:111) .EQ. '') Dist(i__) = iNULL__
        if(ar__(114:116) .EQ. '') Size(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)
        if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15.
        if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4.
        if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240.
        if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
        if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
        if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600.
        if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),n_Name(i__),Nspa(i__),f_Name(i__),n_RAh(i__),
     +  u_RAh(i__),RAh(i__),RAm(i__),RAs(i__),e_RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),e_DEs(i__),u_DEd(i__),PA(i__),
     +  l_omega1(i__),omega1(i__),u_omega1(i__),l_omega2(i__),
     +  omega2(i__),u_omega2(i__),S5GHz(i__),e_S5GHz(i__),Theta(i__),
     +  u_Theta(i__),I5GHz(i__),e_I5GHz(i__),z(i__),Dist(i__),
     +  l_Size(i__),Size(i__),u_Size(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 '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(i__),Note(i__)
c    ..............Just test output...........
        write(6,2)Name_1(i__),Note(i__)
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(i__),S178MHz(i__),Ref(i__)
c    ..............Just test output...........
        write(6,3)Name_2(i__),S178MHz(i__),Ref(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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