CDS.headStuff2 FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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-26
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