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

Conversion of standardized ReadMe file for file /./ftp/cats/VIII/49 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-Apr-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__
      parameter  (rNULL__=--2147483648.)  	! NULL real number
      parameter  (iNULL__=(-2147483647-1))	! NULL int  number
      integer    idig			! testing NULL number

C=============================================================================
Cat. VIII/49           The Zelenchuk Surveys                     (Amirkhanyan+, 1989)
*================================================================================
*The Zelenchuk survey 3.9 GHz Survey (0 to 14 degs)
*     Amirkhanyan V.R., et al.
*    <The Zelenchuk 3.9 GHz Survey (1989)>
*Zelenchuk sky survey within the declination range 0-14 deg.(A supplement)
*     Larionov M.G.
*    <Soobshch. Spets. Astrof. Obs., 68, 14 (1991)>
*    =1991SoSAO..68...14L
*RATAN-600 3.9GHz survey decl. -1 to 0 deg (Larionov+, 1994)
*     Larionov M.G., Parijskij Yu.N., Zhuravlev V.I., Sidorenkov V.N.,
*     Berlin A.B., Nizhel'skii N.A.
*    <Astron. Astrophys. Suppl. Ser. 106, 119 (1994)>
*    =1994A&AS..106..119L
*The survey of the polar region at 3900 MHz.
*     Amirkhanyan V.R., Gorshkov A.G., Kapustkin A.A., Konnikova V.K.,
*     Lazutkin A.N
*    <Pis'ma Astron. Zh., 18, 396 (1992)>
*    =1992PAZh...18..396A
*The complete sample of the radio sources from the Zelenchuk survey at the
*frequencies 3.9, 4.8, 7.5 and 11.2 GHz.
*     Amirkhanyan V.R., Gorshkov A.G., Konnikova V.K.
*    <Astron. Zh., 69, 225 (1992)>
*    =1992AZh....69..225A
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'main.dat'	! Radio survey at 3.9 GHz decl. 0-14deg

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

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

      character*11  Name        ! Object name
      integer*4     RAh         ! (h) Right Ascension 1950 (hours)
      integer*4     RAm         ! (min) Right Ascension 1950 (minutes)
      real*4        RAs         ! (s) Right Ascension 1950 (seconds)
      character*1   DE_         ! Declination 1950 (sign)
      integer*4     DEd         ! (deg) Declination 1950 (degrees)
      real*4        DEm         ! (arcmin) Declination 1950 (minutes) (1)
      integer*4     RA2000h     ! (h) Right Ascension 2000 (hours)
      integer*4     RA2000m     ! (min) Right Ascension 2000 (minutes)
      real*4        RA2000s     ! (s) Right Ascension 2000 (seconds)
      character*1   DE2000_     ! Declination 2000 (sign)
      integer*4     DE2000d     ! (deg) Declination 2000 (degrees)
      real*4        DE2000m     ! (arcmin) Declination 2000 (minutes) (1)
      integer*4     S3_9GHz     ! (mJy) Peak flux density at 3.9 GHz (2)
      character*14  OtherName   ! Other name (3)
*Note (1):
*     In the catalogue, the declination was given only as hours and minutes,
*     due to the sparse resolution in declination. A rough approximation to
*     positional errors is d(DEC) ~ 0.45'/S[Jy]
*Note (2):
*     A crude estimate of the flux density error is
*     dS = sqrt((0.1)**2 +(S/10Jy)**2 ) Jy
*     The errors in flux density and position may be estimated using the
*     following table:
*
*      Flux S(Jy)    Error S(mJy)     dPA cosD (sec)    dD (')
*      --------------------------------------------------------
*        0.05            11               0.67         9.1
*        0.07            12               0.50         6.5
*        0.10            14               0.37         4.6
*        0.20            22               0.24         2.3
*        0.30            32               0.21         1.5
*        0.40            41               0.20         1.1
*        0.50            51               0.20         0.9
*        0.70            71               0.19         0.7
*        1.00           100               0.19         0.5
*      --------------------------------------------------------
*      where
*      dPA is the difference in right ascension, cosD is the cosine
*      ascension, and dD is the difference in declination."
*Note (3):
*     This column gives an alternative name for the source, taken from
*        Dixon's Master List of Radio Sources, 1977 (Cat. <VII/2>),
*        Astron.Tsirk. 1099,2;
*        Astron.Tsirk. 1137,5;
*        Astron.Tsirk. 1157,2,
*        Astron.Zhurn. 58,717;
*        Large et al 1981, MNRAS 194,693 (Cat. <VIII/16>)
*        AuJP 35,177;
*        ApJS 51,67;
*        ApJS 61,1 (the MIT-Green Bank (MG I) survey).

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

C  Declarations for 'suppl.dat'	! Weak sources at 3.9 GHz decl. 0-14deg

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

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

      character*8   Name_1      ! Source designation
      character*1   m_Name      ! [ab ]? Possible component
      integer*4     RAh_1       ! (h) Right ascension (1950)
      integer*4     RAm_1       ! (min) Right ascension (1950)
      real*4        RAs_1       ! (s) Right ascension (1950)
      character*1   DE__1       ! Sign of declination (1950)
      integer*4     DEd_1       ! (deg) Declination (1950) (1)
      real*4        DEm_1       ! (arcmin) Declination (1950)
      integer*4     S3_9GHz_1   ! (mJy) 3.9 GHz peak flux density
*Note (1): For source 0701+039, the printed declination is +03 5 .8

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

C  Declarations for 'ratan.dat'	! 3.9GHz survey decl. -1 to 0 deg
                                 (Table 2 of paper 1994A&AS..106..119L)

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

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

      integer*4     v_LPZ94_    ! [1/691]+ Sequential number (1)
      character*9   Name_2      ! Source name (RATAN)
      integer*4     RAh_2       ! (h) Right ascension 1950
      integer*4     RAm_2       ! (min) Right ascension 1950
      real*4        RAs_2       ! (s) Right ascension 1950
      character*1   DE__2       ! Declination sign
      integer*4     DEd_2       ! (deg) Declination 1950
      real*4        DEm_2       ! (arcmin) Declination 1950
      integer*4     S3_9GHz_2   ! (mJy) Flux density at 3.9 GHz
      integer*4     e_S3_9GHz   ! (mJy) rms uncertainty of S3.9GHz (5*rms)
      character*11  Other       ! ? Other name
*Note (1): Sequential number as in Table 2 of paper by Larionov et al.,
*          in 1994A&AS..106..119L

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

C  Declarations for 'polar.dat'	! Survey of the polar region at 3.9GHz

      integer*4 nr__3
      parameter (nr__3=219)	! Number of records
      character*48 ar__3  	! Full-size record

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

      character*10  Name_3      ! Source name
      integer*4     RAh_3       ! (h) Right ascension 1950
      integer*4     RAm_3       ! (min) Right ascension 1950
      integer*4     RAs_3       ! (s) Right ascension 1950
      character*1   DE__3       ! Declination sign
      integer*4     DEd_3       ! (deg) Declination 1950
      integer*4     DEm_3       ! (arcmin) Declination 1950
      integer*4     S3_9GHz_3   ! (mJy) Flux density at 3.9 GHz
      integer*4     e_S3_9GHz_1 ! (mJy) rms uncertainty of F3.9GHz (5*rms)
      character*8   Other_1     ! ? Other name

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

C  Declarations for 'sample.dat'	! Complete sample of the radio sources
                                 at 3.9, 4.8, 7.5 and 11.2 GHz

      integer*4 nr__4
      parameter (nr__4=184)	! Number of records
      character*63 ar__4  	! Full-size record

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

      character*8   Name_4      ! Source name
      integer*4     RAh_4       ! (h) Right ascension 1950
      integer*4     RAm_4       ! (min) Right ascension 1950
      real*4        RAs_4       ! (s) Right ascension 1950
      character*1   DE__4       ! Declination sign
      integer*4     DEd_4       ! (deg) Declination 1950
      integer*4     DEm_4       ! (arcmin) Declination 1950
      real*4        DEs         ! (arcsec) Declination 1950
      integer*4     S3_9GHz_4   ! (mJy) ? Flux density at 3.9 GHz
      integer*4     e_S3_9GHz_2 ! (mJy) ? rms uncertainty of S3.9GHz (5*rms)
      integer*4     S4_8GHz     ! (mJy) ? Flux density at 4.8 GHz
      integer*4     e_S4_8GHz   ! (mJy) ? rms uncertainty of S4.8GHz (5*rms)
      integer*4     S7_5GHz     ! (mJy) ? Flux density at 7.5 GHz
      integer*4     e_S7_5GHz   ! (mJy) ? rms uncertainty of S7.5GHz (5*rms)
      integer*4     S11_2GHz    ! (mJy) ? Flux density at 11.2 GHz
      integer*4     e_S11_2GHz  ! (mJy) ? rms uncertainty of S11.2GHz (5*rms)

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

C  Loading file 'main.dat'	! Radio survey at 3.9 GHz decl. 0-14deg

C  Format for file interpretation

    1 format(
     +  A11,1X,I2,I2,F4.1,1X,A1,I2,F4.1,1X,I2,I2,F4.1,1X,A1,I2,F4.1,
     +  1X,I5,2X,A14)

C  Effective file loading

      open(unit=1,status='old',file=
     +'main.dat')
      write(6,*) '....Loading file: main.dat'
      do i__=1,8511
        read(1,'(A67)')ar__
        read(ar__,1)
     +  Name,RAh,RAm,RAs,DE_,DEd,DEm,RA2000h,RA2000m,RA2000s,DE2000_,
     +  DE2000d,DE2000m,S3_9GHz,OtherName
        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(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  Name,RAh,RAm,RAs,DE_,DEd,DEm,RA2000h,RA2000m,RA2000s,DE2000_,
     +  DE2000d,DE2000m,S3_9GHz,OtherName
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'suppl.dat'	! Weak sources at 3.9 GHz decl. 0-14deg

C  Format for file interpretation

    2 format(A8,A1,1X,I2,1X,I2,1X,F5.2,2X,A1,I2,1X,F4.1,3X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'suppl.dat')
      write(6,*) '....Loading file: suppl.dat'
      do i__=1,2946
        read(1,'(A36)')ar__1
        read(ar__1,2)
     +  Name_1,m_Name,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,S3_9GHz_1
        RAdeg_1 = rNULL__
        DEdeg_1 = rNULL__
c  Derive coordinates RAdeg_1 and DEdeg_1 from input data
c  (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
        if(RAh_1 .GT. -180) RAdeg_1=RAh_1*15.
        if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4.
        if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240.
        if(DEd_1 .GE. 0) DEdeg_1=DEd_1
        if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60.
        if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1
c    ..............Just test output...........
        write(6,2)
     +  Name_1,m_Name,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,S3_9GHz_1
        write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'ratan.dat'	! 3.9GHz survey decl. -1 to 0 deg
*                                 (Table 2 of paper 1994A&AS..106..119L)

C  Format for file interpretation

    3 format(
     +  I3,1X,A9,3X,I2,1X,I2,1X,F4.1,2X,A1,I2,1X,F4.1,2X,I4,1X,I2,4X,
     +  A11)

C  Effective file loading

      open(unit=1,status='old',file=
     +'ratan.dat')
      write(6,*) '....Loading file: ratan.dat'
      do i__=1,691
        read(1,'(A60)')ar__2
        read(ar__2,3)
     +  v_LPZ94_,Name_2,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,S3_9GHz_2,
     +  e_S3_9GHz,Other
        RAdeg_2 = rNULL__
        DEdeg_2 = rNULL__
c  Derive coordinates RAdeg_2 and DEdeg_2 from input data
c  (RAdeg_2 and DEdeg_2 are set to rNULL__ when unknown)
        if(RAh_2 .GT. -180) RAdeg_2=RAh_2*15.
        if(RAm_2 .GT. -180) RAdeg_2=RAdeg_2+RAm_2/4.
        if(RAs_2 .GT. -180) RAdeg_2=RAdeg_2+RAs_2/240.
        if(DEd_2 .GE. 0) DEdeg_2=DEd_2
        if(DEm_2 .GE. 0) DEdeg_2=DEdeg_2+DEm_2/60.
        if(DE__2.EQ.'-'.AND.DEdeg_2.GE.0) DEdeg_2=-DEdeg_2
c    ..............Just test output...........
        write(6,3)
     +  v_LPZ94_,Name_2,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,S3_9GHz_2,
     +  e_S3_9GHz,Other
        write(6,'(6H Pos: 2F8.4)') RAdeg_2,DEdeg_2
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'polar.dat'	! Survey of the polar region at 3.9GHz

C  Format for file interpretation

    4 format(A10,3X,I2,1X,I2,1X,I2,2X,A1,I2,1X,I2,2X,I3,2X,I2,2X,A8)

C  Effective file loading

      open(unit=1,status='old',file=
     +'polar.dat')
      write(6,*) '....Loading file: polar.dat'
      do i__=1,219
        read(1,'(A48)')ar__3
        read(ar__3,4)
     +  Name_3,RAh_3,RAm_3,RAs_3,DE__3,DEd_3,DEm_3,S3_9GHz_3,
     +  e_S3_9GHz_1,Other_1
        RAdeg_3 = rNULL__
        DEdeg_3 = rNULL__
c  Derive coordinates RAdeg_3 and DEdeg_3 from input data
c  (RAdeg_3 and DEdeg_3 are set to rNULL__ when unknown)
        if(RAh_3 .GT. -180) RAdeg_3=RAh_3*15.
        if(RAm_3 .GT. -180) RAdeg_3=RAdeg_3+RAm_3/4.
        if(RAs_3 .GT. -180) RAdeg_3=RAdeg_3+RAs_3/240.
        if(DEd_3 .GE. 0) DEdeg_3=DEd_3
        if(DEm_3 .GE. 0) DEdeg_3=DEdeg_3+DEm_3/60.
        if(DE__3.EQ.'-'.AND.DEdeg_3.GE.0) DEdeg_3=-DEdeg_3
c    ..............Just test output...........
        write(6,4)
     +  Name_3,RAh_3,RAm_3,RAs_3,DE__3,DEd_3,DEm_3,S3_9GHz_3,
     +  e_S3_9GHz_1,Other_1
        write(6,'(6H Pos: 2F8.4)') RAdeg_3,DEdeg_3
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'sample.dat'	! Complete sample of the radio sources
*                                 at 3.9, 4.8, 7.5 and 11.2 GHz

C  Format for file interpretation

    5 format(
     +  A8,2X,I2,I2,F4.1,A1,I2,I2,F4.1,1X,I4,1X,I3,1X,I4,1X,I3,1X,I4,
     +  1X,I3,1X,I4,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'sample.dat')
      write(6,*) '....Loading file: sample.dat'
      do i__=1,184
        read(1,'(A63)')ar__4
        read(ar__4,5)
     +  Name_4,RAh_4,RAm_4,RAs_4,DE__4,DEd_4,DEm_4,DEs,S3_9GHz_4,
     +  e_S3_9GHz_2,S4_8GHz,e_S4_8GHz,S7_5GHz,e_S7_5GHz,S11_2GHz,
     +  e_S11_2GHz
        if(ar__4(29:32) .EQ. '') S3_9GHz_4 = iNULL__
        if(ar__4(34:36) .EQ. '') e_S3_9GHz_2 = iNULL__
        if(ar__4(38:41) .EQ. '') S4_8GHz = iNULL__
        if(ar__4(43:45) .EQ. '') e_S4_8GHz = iNULL__
        if(ar__4(47:50) .EQ. '') S7_5GHz = iNULL__
        if(ar__4(52:54) .EQ. '') e_S7_5GHz = iNULL__
        if(ar__4(56:59) .EQ. '') S11_2GHz = iNULL__
        if(ar__4(61:63) .EQ. '') e_S11_2GHz = iNULL__
        RAdeg_4 = rNULL__
        DEdeg_4 = rNULL__
c  Derive coordinates RAdeg_4 and DEdeg_4 from input data
c  (RAdeg_4 and DEdeg_4 are set to rNULL__ when unknown)
        if(RAh_4 .GT. -180) RAdeg_4=RAh_4*15.
        if(RAm_4 .GT. -180) RAdeg_4=RAdeg_4+RAm_4/4.
        if(RAs_4 .GT. -180) RAdeg_4=RAdeg_4+RAs_4/240.
        if(DEd_4 .GE. 0) DEdeg_4=DEd_4
        if(DEm_4 .GE. 0) DEdeg_4=DEdeg_4+DEm_4/60.
        if(DEs .GE. 0) DEdeg_4=DEdeg_4+DEs/3600.
        if(DE__4.EQ.'-'.AND.DEdeg_4.GE.0) DEdeg_4=-DEdeg_4
c    ..............Just test output...........
        write(6,5)
     +  Name_4,RAh_4,RAm_4,RAs_4,DE__4,DEd_4,DEm_4,DEs,S3_9GHz_4,
     +  e_S3_9GHz_2,S4_8GHz,e_S4_8GHz,S7_5GHz,e_S7_5GHz,S11_2GHz,
     +  e_S11_2GHz
        write(6,'(6H Pos: 2F8.4)') RAdeg_4,DEdeg_4
c    .......End.of.Just test output...........
      end do
      close(1)

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