FORTRAN Generation
(/./ftp/cats/J/AZh/77/407)

Conversion of standardized ReadMe file for file /./ftp/cats/J/AZh/77/407 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 2026-Jun-08
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. J/AZh/77/407   Flat-spectrum radio sources at 0.97-21.7GHz     (Gorshkov+, 2000)
*================================================================================
*Analysis of instantaneous spectra of a complete sample of
*flat-spectrum radio sources.
*     Gorshkov A.G., Konnikova V.K., Mingaliev M.G.
*    <Astron. Zh. 77, 407 (2000)>
*    =2000AZh....77..407G
*    =2000ARep...44..353G
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Flux densities of the radio sources

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

      character*8   v_GKM2000_ (nr__) ! Source name
      integer*4     Flux0_97   (nr__) ! (mJy) ? Flux density at 0.97GHz
      integer*4     e_Flux0_97 (nr__) ! (mJy) ? Mean error on  Flux0.97
      integer*4     Flux2_3    (nr__) ! (mJy) Flux density at 2.3GHz
      integer*4     e_Flux2_3  (nr__) ! (mJy) Mean error on  Flux2.3
      integer*4     Flux3_9    (nr__) ! (mJy) Flux density at 3.9GHz
      integer*4     e_Flux3_9  (nr__) ! (mJy) Mean error on  Flux3.9
      integer*4     Flux7_7    (nr__) ! (mJy) Flux density at 7.7GHz
      integer*4     e_Flux7_7  (nr__) ! (mJy) Mean error on  Flux7.7
      integer*4     Flux11_1   (nr__) ! (mJy) Flux density at 11.1GHz
      integer*4     e_Flux11_1 (nr__) ! (mJy) Mean error on  Flux11.1
      integer*4     Flux21_7   (nr__) ! (mJy) Flux density at 21.7GHz
      integer*4     e_Flux21_7 (nr__) ! (mJy) Mean error on  Flux21.7
      integer*4     Epoch      (nr__) ! [0-5] Epoch of the observations (1)
*Note (1): Epoch of the observations:
*      1 = August 1996
*      2 = May 1997
*      3 = August 1997
*      4 = November 1997
*      5 = January-February 1998

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

C  Declarations for 'table3.dat'	! Spectral parameters of sources with
                                     separated components

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

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

      character*8   v_GKM2000__1(nr__1) ! Source name
      integer*4     RAh        (nr__1) ! (h) Right ascension (1950)
      integer*4     RAm        (nr__1) ! (min) Right ascension (1950)
      real*4        RAs        (nr__1) ! (s) Right ascension (1950)
      character*1   DE_        (nr__1) ! Declination sign
      integer*4     DEd        (nr__1) ! (deg) Declination (1950)
      integer*4     DEm        (nr__1) ! (arcmin) Declination (1950)
      real*4        DEs        (nr__1) ! (arcsec) Declination (1950)
      character*1   Class      (nr__1) ! [GLQ] Object Class  (1)
      real*4        z          (nr__1) ! ? Redshift
      integer*4     Flux       (nr__1) ! (mJy) Flux density at the maximum of the spectrum
      real*4        numax      (nr__1) ! (GHz) Frequency for the maximum of the spectrum
      real*4        Sp_Index   (nr__1) ! Spectral curvature (=d(logS)/d(log{nu}))
*Note (1): Type is:
*       Q: quasar
*       L: BL Lac object
*       G: galaxy

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

C  Declarations for 'table5.dat'	! Parameters of the sources whose spectra
                                     could not be separated into components

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

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

      character*8   v_GKM2000__2(nr__2) ! Source name
      integer*4     RAh_1      (nr__2) ! (h) Right ascension (1950)
      integer*4     RAm_1      (nr__2) ! (min) Right ascension (1950)
      real*4        RAs_1      (nr__2) ! (s) Right ascension (1950)
      character*1   DE__1      (nr__2) ! Declination sign
      integer*4     DEd_1      (nr__2) ! (deg) Declination (1950)
      integer*4     DEm_1      (nr__2) ! (arcmin) Declination (1950)
      real*4        DEs_1      (nr__2) ! (arcsec) Declination (1950)
      character*1   Class_1    (nr__2) ! [GLQ] Object class (1)
      real*4        z_1        (nr__2) ! ? Redshift
*Note (1): Type is:
*       Q: quasar
*       L: BL Lac object
*       G: galaxy

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

C  Loading file 'table1.dat'	! Flux densities of the radio sources

C  Format for file interpretation

    1 format(
     +  A8,2X,I4,2X,I2,2X,I4,2X,I2,2X,I4,2X,I2,2X,I4,2X,I2,2X,I4,2X,
     +  I2,2X,I4,2X,I3,2X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,69
        read(1,'(A72)')ar__
        read(ar__,1)
     +  v_GKM2000_(i__),Flux0_97(i__),e_Flux0_97(i__),Flux2_3(i__),
     +  e_Flux2_3(i__),Flux3_9(i__),e_Flux3_9(i__),Flux7_7(i__),
     +  e_Flux7_7(i__),Flux11_1(i__),e_Flux11_1(i__),Flux21_7(i__),
     +  e_Flux21_7(i__),Epoch(i__)
        if(ar__(11:14) .EQ. '') Flux0_97(i__) = iNULL__
        if(ar__(17:18) .EQ. '') e_Flux0_97(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  v_GKM2000_(i__),Flux0_97(i__),e_Flux0_97(i__),Flux2_3(i__),
     +  e_Flux2_3(i__),Flux3_9(i__),e_Flux3_9(i__),Flux7_7(i__),
     +  e_Flux7_7(i__),Flux11_1(i__),e_Flux11_1(i__),Flux21_7(i__),
     +  e_Flux21_7(i__),Epoch(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Spectral parameters of sources with
*                                     separated components

C  Format for file interpretation

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

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,41
        read(1,'(A67)')ar__1
        read(ar__1,2)
     +  v_GKM2000__1(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),Class(i__),z(i__),Flux(i__),
     +  numax(i__),Sp_Index(i__)
        if(ar__1(41:46) .EQ. '') z(i__) = rNULL__
        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,2)
     +  v_GKM2000__1(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),Class(i__),z(i__),Flux(i__),
     +  numax(i__),Sp_Index(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 'table5.dat'	! Parameters of the sources whose spectra
*                                     could not be separated into components

C  Format for file interpretation

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

C  Effective file loading

      open(unit=1,status='old',file=
     +'table5.dat')
      write(6,*) '....Loading file: table5.dat'
      do i__=1,28
        read(1,'(A45)')ar__2
        read(ar__2,3)
     +  v_GKM2000__2(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__),
     +  DEd_1(i__),DEm_1(i__),DEs_1(i__),Class_1(i__),z_1(i__)
        if(ar__2(41:45) .EQ. '') z_1(i__) = rNULL__
        RAdeg_1(i__) = rNULL__
        DEdeg_1(i__) = 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(i__) .GT. -180) RAdeg_1(i__)=RAh_1(i__)*15.
        if(RAm_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAm_1(i__)/4.
        if(RAs_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAs_1(i__)/240.
        if(DEd_1(i__) .GE. 0) DEdeg_1(i__)=DEd_1(i__)
        if(DEm_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEm_1(i__)/60.
        if(DEs_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEs_1(i__)/3600.
        if(DE__1(i__).EQ.'-'.AND.DEdeg_1(i__).GE.0) DEdeg_1(i__)=-DEdeg_1(i__)
c    ..............Just test output...........
        write(6,3)
     +  v_GKM2000__2(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__),
     +  DEd_1(i__),DEm_1(i__),DEs_1(i__),Class_1(i__),z_1(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_1(i__),DEdeg_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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