FORTRAN Generation
(/./ftp/cats/J/A_A/476/L17)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/476/L17 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-Mar-28
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/A+A/476/L17      86 and 43GHz observations of NRAO 150          (Agudo+, 2007)
*================================================================================
*Superluminal non-ballistic jet swing in the quasar NRAO 150 revealed by mm-VLBI.
*    Agudo I., Bach U., Krichbaum T.P., Marscher A.P., Gonidakis I.,
*    Diamond P.J., Perucho M., Alef W., Graham D.A., Witzel A., Zensus J.A.,
*    Bremer M., Acosta-Pulido J.A., Barrena R.
*   <Astron. Astrophys., 476, L17-L20 (2007)>
*   =2007A&A...476L..17A
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! 86GHz and 43GHz image information

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

      character*6   Image       ! Image information (86GHz, 43GHz or 8.4GHz)
      real*8        Epoch       ! (yr) Epoch of observation
      integer*4     Tint        ! (min) Intergation time
      integer*4     Dnuobs      ! (MHz) Observing frequency bandwidth
      integer*4     Bits        ! Number of bits used for the signal
*                                digitalisation sampling
      integer*4     FWHMb       ! (uarcsec) FWHM minor axes of the restoring beam
      integer*4     FWHMa       ! (uarcsec) FWHM major axes of the restoring beam
      real*4        PA          ! (deg) [-90/90] Orientation angle of the restoring beam
      real*4        Sint        ! (Jy) Integrated total flux density (86, 43 or 8.4GHz)
      real*4        Speak       ! (Jy) Peak flux density (in Jy/beam)
      real*4        Noise       ! (mJy) Noise level of the resulting images (in mJy/beam)

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

C  Declarations for 'table2.dat'	! 86GHz, 43GHz and 8.4GHz circular-Gaussian
                              model-fit parameters

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

      character*6   Image_1     ! Image information (86GHz, 43GHz or 8.4GHz)
      real*8        Epoch_1     ! (yr) Epoch of observation
      character*4   Comp        ! Model component
      character*2   l_S         ! [<~ ] Limit flag on S (1)
      real*4        S           ! (Jy) Flux density
      real*4        e_S         ! (Jy) ? rms uncertainty on S
      real*4        r           ! (mas) ?=- Projected distance to the core
      real*4        e_r         ! (mas) ? rms uncertainty on r
      real*4        PA_1        ! (deg) [-170/170]?=- Position angle with respect
*                                              to the core
      real*4        e_PA        ! (deg) ? rms uncertainty on PA
      character*1   l_FWHM      ! Limit flag on FWHM (1)
      real*4        FWHM        ! (mas) ?=- FWHM size
      real*4        e_FWHM      ! (mas) ? rms uncertainty on FWHM
*Note (1): Upper limits on the FWHM size and S correspond to fits of
*     unresolved jet regions. For such fits, the upper limit of the sizes
*     were imposed in Difmap to estimate the corresponding flux density
*     upper limits. The latter are close approximations to the actual flux
*     densities of the unresolved regions.

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

C  Declarations for 'table3.dat'	! Proper motion results (for Q1, Q2 and Q3)

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

      character*2   Comp_1      ! Model component (Q1, Q2 and Q3)
      integer*4     N           ! Number of data points for the fit of the
*                                   trajectory
      real*4        v_PA_       ! (deg) Mean position angle
      real*4        e__PA_      ! (deg) rms uncertainty on <PA>
      real*4        v_PA_dt_    ! (deg/yr) Mean angular speed
      real*4        e__PA_dt_   ! (deg/yr) rms uncertainty on <PA/dt>
      real*4        v_pm_       ! (mas/yr) Mean proper motion
      real*4        e__pm_      ! (mas/yr) rms uncertainty on <pm>
      real*4        b_pm_       ! (c) Superluminal apparent speed for <pm>
      real*4        e_b_pm_     ! (c) rms uncertainty on b<pm>
      real*4        v_pmrad_    ! (mas/yr) Mean radial component of proper motion
      real*4        e__pmrad_   ! (mas/yr) rms uncertainty on <pmrad>
      real*4        v_pmnor_    ! (mas/yr) Mean normal component of proper motion
      real*4        e__pmnor_   ! (mas/yr) rms uncertainty on <pmnor>
      real*4        b_pmnor_    ! (c) Superluminal apparent speed for <pmnor>
      real*4        e_b_pmnor_  ! (c) rms uncertainty on b<pmnor>

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

C  Loading file 'table1.dat'	! 86GHz and 43GHz image information

C  Format for file interpretation

    1 format(
     +  A6,1X,F7.2,1X,I3,1X,I3,1X,I1,1X,I4,1X,I3,1X,F5.1,1X,F4.2,1X,
     +  F4.2,1X,F3.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,40
        read(1,'(A53)')ar__
        read(ar__,1)
     +  Image,Epoch,Tint,Dnuobs,Bits,FWHMb,FWHMa,PA,Sint,Speak,Noise
c    ..............Just test output...........
        write(6,1)
     +  Image,Epoch,Tint,Dnuobs,Bits,FWHMb,FWHMa,PA,Sint,Speak,Noise
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! 86GHz, 43GHz and 8.4GHz circular-Gaussian
*                              model-fit parameters

C  Format for file interpretation

    2 format(
     +  A6,1X,F7.2,1X,A4,1X,A2,F5.3,1X,F5.3,1X,F5.2,1X,F4.2,1X,F6.1,
     +  1X,F4.1,1X,A1,F5.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,140
        read(1,'(A69)')ar__1
        read(ar__1,2)
     +  Image_1,Epoch_1,Comp,l_S,S,e_S,r,e_r,PA_1,e_PA,l_FWHM,FWHM,
     +  e_FWHM
        if(ar__1(29:33) .EQ. '') e_S = rNULL__
        if (idig(ar__1(35:39)).EQ.0) r =  rNULL__
        if(ar__1(41:44) .EQ. '') e_r = rNULL__
        if (idig(ar__1(46:51)).EQ.0) PA_1 =  rNULL__
        if(ar__1(53:56) .EQ. '') e_PA = rNULL__
        if (idig(ar__1(59:63)).EQ.0) FWHM =  rNULL__
        if(ar__1(65:69) .EQ. '') e_FWHM = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Image_1,Epoch_1,Comp,l_S,S,e_S,r,e_r,PA_1,e_PA,l_FWHM,FWHM,
     +  e_FWHM
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Proper motion results (for Q1, Q2 and Q3)

C  Format for file interpretation

    3 format(
     +  A2,1X,I2,1X,F5.1,1X,F3.1,1X,F4.1,1X,F3.1,1X,F5.3,1X,F5.3,1X,
     +  F4.2,1X,F4.2,1X,F5.3,1X,F5.3,1X,F5.3,1X,F5.3,1X,F4.2,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,3
        read(1,'(A80)')ar__2
        read(ar__2,3)
     +  Comp_1,N,v_PA_,e__PA_,v_PA_dt_,e__PA_dt_,v_pm_,e__pm_,b_pm_,
     +  e_b_pm_,v_pmrad_,e__pmrad_,v_pmnor_,e__pmnor_,b_pmnor_,
     +  e_b_pmnor_
c    ..............Just test output...........
        write(6,3)
     +  Comp_1,N,v_PA_,e__PA_,v_PA_dt_,e__PA_dt_,v_pm_,e__pm_,b_pm_,
     +  e_b_pm_,v_pmrad_,e__pmrad_,v_pmnor_,e__pmnor_,b_pmnor_,
     +  e_b_pmnor_
c    .......End.of.Just test output...........
      end do
      close(1)

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

C Locate position of first digit in string; or return 0
      integer function idig(c)
      character*(*) c
      character*1 c1
      integer lc,i
      lc=len(c)
      idig=0
      do i=1,lc
         if(c(i:i).ne.' ') go to 1
      end do
    1 if(i.gt.lc) return
      c1=c(i:i)
      if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
      if(i.gt.lc) return
      c1=c(i:i)
      if(c1.ge.'0'.and.c1.le.'9') idig=i
      return
      end