FORTRAN Generation
(/./ftp/cats/VIII/85A)

Conversion of standardized ReadMe file for file /./ftp/cats/VIII/85A 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-Oct-15
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/85A   SPECFIND V2.0 Catalog of radio continuum spectra   (Vollmer+ 2009)
*================================================================================
*A method for determining radio continuum spectra, and its application
*to large surveys
*     Vollmer B.
*    <Astron. Astrophys. 511, 53 (2010)>
*    =2010A&A...511A..53V
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'spectra.dat'	! The parameters of the radio spectra

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

C  J2000 position composed of: RAdeg DEdeg
      integer*4     Seq        (nr__) ! [1,107498] Sequential number of the spectrum (1)
      character*31  Name       (nr__) ! Main name of the radio source (G1)
      integer*4     N          (nr__) ! [2,31] Number of points in spectrum
      real*4        a          (nr__) ! Slope of spectrum (3)
      real*4        b          (nr__) ! ([mJy]) Abscissa of spectrum (3)
      integer*4     nu         (nr__) ! (MHz) [30,15000] Frequency
      real*4        S_nu       (nr__) ! (mJy) Flux density at frequency nu
      real*4        e_S_nu     (nr__) ! (mJy) Mean error on S(nu)
      real*8        RAdeg      (nr__) ! (deg) Right ascension (J2000) of source
      real*8        DEdeg      (nr__) ! (deg) Declination (J2000) of source
      real*4        dFlux      (nr__) ! (mJy) Difference with flux expected from NVSS
      real*8        dRA        (nr__) ! (arcsec) Offset in RA from NVSS source
      real*8        dDE        (nr__) ! (arcsec) Offset in DE from NVSS source
*Note (1): This number relates the sources that contribute to a single
*     spectrum, i.e. there are N radio sources sharing the same Seq number.
*     The number of independent spectra is 107498.
*Note (3): The coefficients of a and b of the flux density parametrization
*       log(S({nu})) = a.log({nu}) + b
*    where the log is decimal (log_10_), S expressed in mJy and {nu} in
*    MHz. Thus b represents log(S(1MHz)/1mJy).

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

C  Declarations for 'waste.dat'	! Source parameters based on positional cross-id

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

C  J2000 position composed of: RAdeg DEdeg
      character*31  Assoc      (nr__1) ! Main name of the radio association (G1)
      integer*4     Seq_1      (nr__1) ! [-272182,107498] Spectrum Sequential number (1)
      integer*4     nu_1       (nr__1) ! (MHz) [30,15000] Frequency
      real*4        S_nu_1     (nr__1) ! (mJy) Flux density at frequency nu
      real*4        e_S_nu_1   (nr__1) ! (mJy) Mean error on S(nu)
      real*8        RAdeg_1    (nr__1) ! (deg) Right ascension (J2000) of source
      real*8        DEdeg_1    (nr__1) ! (deg) Declination (J2000) of source
      character*31  Name_1     (nr__1) ! Name of the associated radio source (G1)
*Note (1): when positive, the radio flux matches a spectrum and is therefore
*     also included in the "spectra.dat" file; when negative, the flux does
*     not match a spectrum.

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

C  Declarations for 'beam.dat'	! Characterisation of catalogues in SPECFIND

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

      character*11  Name_2     (nr__2) ! Catalog abbreviation used in SPECFIND (G1)
      character*1   I          (nr__2) ! [IS-] interferometer or Single dish
      integer*4     nu_2       (nr__2) ! (MHz) [30,15000] Frequency
      real*8        beam       (nr__2) ! (arcmin) Beam size
      real*4        Smin       (nr__2) ! (mJy) ? Sensitivity limit
      integer*4     N_1        (nr__2) ! Number of sources in catalog
      real*4        sp         (nr__2) ! (%) ? Percentage of sources having a spectrum
      character*19  BibCode    (nr__2) ! Reference's bibcode
      character*19  Cat        (nr__2) ! Catalog acronyms in VizieR

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

C  Declarations for 'simbadz.dat'	! Redshifts from Simbad database (November 2015)

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

      integer*4     Seq_2      (nr__3) ! [1/107498]
      character*28  SName      (nr__3) ! Simbad name
      character*16  SType      (nr__3) ! Simbad object type
      real*8        z          (nr__3) ! ? Simbad redshift
      character*13  n_z        (nr__3) ! Simbad nature redshift
      real*8        e_z        (nr__3) ! ? rms uncertainty on z

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

C  Loading file 'spectra.dat'	! The parameters of the radio spectra

C  Format for file interpretation

    1 format(
     +  I6,1X,A31,1X,I2,1X,F6.2,1X,F6.2,1X,I5,1X,E9.3,1X,E8.2,1X,F8.4,
     +  1X,F8.4,1X,E9.3,1X,F7.1,1X,F7.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'spectra.dat')
      write(6,*) '....Loading file: spectra.dat'
      do i__=1,631736
        read(1,'(A124)')ar__
        read(ar__,1)
     +  Seq(i__),Name(i__),N(i__),a(i__),b(i__),nu(i__),S_nu(i__),
     +  e_S_nu(i__),RAdeg(i__),DEdeg(i__),dFlux(i__),dRA(i__),dDE(i__)
c    ..............Just test output...........
        write(6,1)
     +  Seq(i__),Name(i__),N(i__),a(i__),b(i__),nu(i__),S_nu(i__),
     +  e_S_nu(i__),RAdeg(i__),DEdeg(i__),dFlux(i__),dRA(i__),dDE(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'waste.dat'	! Source parameters based on positional cross-id

C  Format for file interpretation

    2 format(A31,I7,1X,I6,1X,E9.3,1X,E8.2,1X,F8.4,1X,F8.4,1X,A31)

C  Effective file loading

      open(unit=1,status='old',file=
     +'waste.dat')
      write(6,*) '....Loading file: waste.dat'
      do i__=1,1497216
        read(1,'(A114)')ar__1
        read(ar__1,2)
     +  Assoc(i__),Seq_1(i__),nu_1(i__),S_nu_1(i__),e_S_nu_1(i__),
     +  RAdeg_1(i__),DEdeg_1(i__),Name_1(i__)
c    ..............Just test output...........
        write(6,2)
     +  Assoc(i__),Seq_1(i__),nu_1(i__),S_nu_1(i__),e_S_nu_1(i__),
     +  RAdeg_1(i__),DEdeg_1(i__),Name_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'beam.dat'	! Characterisation of catalogues in SPECFIND

C  Format for file interpretation

    3 format(
     +  A11,1X,A1,2X,I5,3X,F7.4,1X,F6.1,1X,I7,1X,F4.1,1X,A19,1X,A19)

C  Effective file loading

      open(unit=1,status='old',file=
     +'beam.dat')
      write(6,*) '....Loading file: beam.dat'
      do i__=1,115
        read(1,'(A90)')ar__2
        read(ar__2,3)
     +  Name_2(i__),I(i__),nu_2(i__),beam(i__),Smin(i__),N_1(i__),
     +  sp(i__),BibCode(i__),Cat(i__)
        if(ar__2(32:37) .EQ. '') Smin(i__) = rNULL__
        if(ar__2(47:50) .EQ. '') sp(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2(i__),I(i__),nu_2(i__),beam(i__),Smin(i__),N_1(i__),
     +  sp(i__),BibCode(i__),Cat(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'simbadz.dat'	! Redshifts from Simbad database (November 2015)

C  Format for file interpretation

    4 format(I6,1X,A28,1X,A16,1X,F10.7,1X,A13,1X,F8.6)

C  Effective file loading

      open(unit=1,status='old',file=
     +'simbadz.dat')
      write(6,*) '....Loading file: simbadz.dat'
      do i__=1,107488
        read(1,'(A86)')ar__3
        read(ar__3,4)
     +  Seq_2(i__),SName(i__),SType(i__),z(i__),n_z(i__),e_z(i__)
        if(ar__3(54:63) .EQ. '') z(i__) = rNULL__
        if(ar__3(79:86) .EQ. '') e_z(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  Seq_2(i__),SName(i__),SType(i__),z(i__),n_z(i__),e_z(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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