FORTRAN Generation
(/./ftp/cats/J/ApJ/587/714)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJ/587/714 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 2026-Jun-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. J/ApJ/587/714    H_2_CO and H{alpha} observations of UC HII      (Watson+, 2003)
*================================================================================
*Resolution of distance ambiguities of inner galaxy massive star formation
*regions. I.
*    Watson C., Araya E., Sewilo M., Churchwell E., Hofner P., Kurtz S.
*   <Astrophys. J., 587, 714-726 (2003)>
*   =2003ApJ...587..714W
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Observed sources

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

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

      character*11  Name        ! Source name, GLL.ll+D.dd
      integer*4     RAh         ! (h) Right ascension (B1950)
      integer*4     RAm         ! (min) Right ascension (B1950)
      real*4        RAs         ! (s) Right ascension (B1950)
      character*1   DE_         ! Declination sign (B1950)
      integer*4     DEd         ! (deg) Declination (B1950)
      integer*4     DEm         ! (arcmin) Declination (B1950)
      integer*4     DEs         ! (arcsec) Declination (B1950)
      character*11  IRAS        ! IRAS name
      real*4        S100        ! (hJy) IRAS 100{mu}m flux density

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

C  Declarations for 'table2.dat'	! H110{alpha} line (4874.16MHz) 
                              and continuum parameters

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

      character*11  Name_1      ! Source name
      character*1   f_Name      ! [a] SNR (1)
      real*8        Sc          ! (mJy) Continuum flux density
      real*4        e_Sc        ! (mJy) The 1{sigma} error in Sc
      real*4        SH110a      ! (mJy) ? H110{alpha} flux density
      real*4        e_SH110a    ! (mJy) ? The 1{sigma} error in SH110a
      real*4        VLSR        ! (km/s) ? The Local Standard of Rest velocity
      real*4        e_VLSR      ! (km/s) ? The 1{sigma} error in VLSR
      real*4        FWHM        ! (km/s) ? The Full-Width at Half-Maximum
      real*4        e_FWHM      ! (km/s) ? The 1{sigma} error in FWHM
      integer*4     Sint        ! (mJy.km/s) ? The integrated H110{alpha} line flux
      character*1   l_Sint      ! Limit flag on Sint error (e_Sint)
      integer*4     e_Sint      ! (mJy.km/s) ? The 1{sigma} error on Sint
*Note (1): a = This source is a supernova remnant
*     (see Brogan & Troland, 2001ApJ...550..799B)

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

C  Declarations for 'table3.dat'	! Formaldehyde (H_2_CO, 4829.66MHz) line parameters

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

      character*11  Name_2      ! Source name (1)
      character*3   CName       ! Intervening cloud identification (1)
      real*8        Sc_1        ! (mJy) ? Continuum flux density
      real*4        e_Sc_1      ! (mJy) ? The 1{sigma} error in Sc
      real*8        SH2CO       ! (mJy) ? H_2_CO flux density
      real*4        e_SH2CO     ! (mJy) ? The 1{sigma} error in SH2CO
      real*4        VLSR_1      ! (km/s) ? The Local Standard of Rest velocity
      character*1   l_VLSR      ! Limit flag on the VLSR error
      real*4        e_VLSR_1    ! (km/s) ? The 1{sigma} error in VLSR
      real*4        FWHM_1      ! (km/s) ? The Full-Width at Half-Maximum
      character*1   l_FWHM      ! Limit flag on the FWHM error
      real*4        e_FWHM_1    ! (km/s) ? The 1{sigma} error in FWHM
      integer*4     Sint_1      ! (mJy.km/s) ? The integrated H_2_CO line flux
      character*1   l_Sint_1    ! Limit flag on the Sint error
      integer*4     e_Sint_1    ! (mJy.km/s) ? The 1{sigma} error on Sint
*Note (1): Indicates the direction of the H_2_CO cloud, but we do not imply
*     an association between the H_2_CO cloud and the UC HII region.

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

C  Declarations for 'table4.dat'	! Kinematic parameters

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

      character*11  Name_3      ! Source name
      character*1   f_Name_1    ! [a] Note on near/far distance (1)
      character*3   CName_1     ! Intervening cloud identification
      real*4        VLSR_2      ! (km/s) The Local Standard of Rest velocity
      real*4        e_VLSR_2    ! (km/s) The 1{sigma} error in VLSR
      real*4        DNear       ! (kpc) ? Inner Galaxy circular orbit near distance
      real*4        DFar        ! (kpc) ? Inner Galaxy circular orbit far distance
      real*4        VTP         ! (kpc) Distance derived to tangent point
      real*4        DTP         ! (kpc) Resolved Distance
      real*4        DLSR        ! (kpc) ? Distance derived from VLSR
      real*4        E_DLSR      ! (kpc) ? Upper 1{sigma} error in DLSR
      real*4        e_DLSR_1    ! (kpc) ? Lower 1{sigma} error in DLSR
      integer*4     z           ! (pc) ? Galactic scale height
      real*4        DGC         ! (kpc) Distance from the Galactic center
      character*4   Near_Far    ! Comment on the source distance (2)
*Note (1): a = Araya et al. (2002ApJS..138...63A) report the near kinematic
*   distance to this source.  The data presented here has a better signal to
*   noise than the Araya et al. spectra. Our observations revealed a weak H_2_CO
*   absorption not detected by Araya et al. which imply the FAR kinematic
*   distance.
*Note (2): "Near" or "Far" distance estimation, or ambiguous:
*  b = This source has a velocity higher then the tangent velocity. We
*      locate this source at the tangent point, but this position should be
*      taken with caution since its velocity is not strictly predicted in
*      our rotation model.
*  c = This source has a velocity within 10km/s of the tangent velocity.
*      Because we are unable to strongly distinguish between the near and
*      far distance, we do not give a classification or distance.

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

C  Loading file 'table1.dat'	! Observed sources

C  Format for file interpretation

    1 format(
     +  A11,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,A11,1X,F5.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,54
        read(1,'(A50)')ar__
        read(ar__,1)Name,RAh,RAm,RAs,DE_,DEd,DEm,DEs,IRAS,S100
        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(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)Name,RAh,RAm,RAs,DE_,DEd,DEm,DEs,IRAS,S100
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! H110{alpha} line (4874.16MHz) 
*                              and continuum parameters

C  Format for file interpretation

    2 format(
     +  A11,1X,A1,1X,F7.1,1X,F3.1,1X,F5.1,1X,F3.1,1X,F5.1,1X,F3.1,1X,
     +  F4.1,1X,F3.1,1X,I5,1X,A1,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,54
        read(1,'(A65)')ar__1
        read(ar__1,2)
     +  Name_1,f_Name,Sc,e_Sc,SH110a,e_SH110a,VLSR,e_VLSR,FWHM,e_FWHM,
     +  Sint,l_Sint,e_Sint
        if(ar__1(27:31) .EQ. '') SH110a = rNULL__
        if(ar__1(33:35) .EQ. '') e_SH110a = rNULL__
        if(ar__1(37:41) .EQ. '') VLSR = rNULL__
        if(ar__1(43:45) .EQ. '') e_VLSR = rNULL__
        if(ar__1(47:50) .EQ. '') FWHM = rNULL__
        if(ar__1(52:54) .EQ. '') e_FWHM = rNULL__
        if(ar__1(56:60) .EQ. '') Sint = iNULL__
        if(ar__1(63:65) .EQ. '') e_Sint = iNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1,f_Name,Sc,e_Sc,SH110a,e_SH110a,VLSR,e_VLSR,FWHM,e_FWHM,
     +  Sint,l_Sint,e_Sint
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Formaldehyde (H_2_CO, 4829.66MHz) line parameters

C  Format for file interpretation

    3 format(
     +  A11,1X,A3,1X,F9.3,1X,F5.3,1X,F7.1,1X,F3.1,1X,F5.1,1X,A1,F3.1,
     +  1X,F4.1,1X,A1,F3.1,1X,I6,1X,A1,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,138
        read(1,'(A76)')ar__2
        read(ar__2,3)
     +  Name_2,CName,Sc_1,e_Sc_1,SH2CO,e_SH2CO,VLSR_1,l_VLSR,e_VLSR_1,
     +  FWHM_1,l_FWHM,e_FWHM_1,Sint_1,l_Sint_1,e_Sint_1
        if(ar__2(17:25) .EQ. '') Sc_1 = rNULL__
        if(ar__2(27:31) .EQ. '') e_Sc_1 = rNULL__
        if(ar__2(33:39) .EQ. '') SH2CO = rNULL__
        if(ar__2(41:43) .EQ. '') e_SH2CO = rNULL__
        if(ar__2(45:49) .EQ. '') VLSR_1 = rNULL__
        if(ar__2(52:54) .EQ. '') e_VLSR_1 = rNULL__
        if(ar__2(56:59) .EQ. '') FWHM_1 = rNULL__
        if(ar__2(62:64) .EQ. '') e_FWHM_1 = rNULL__
        if(ar__2(66:71) .EQ. '') Sint_1 = iNULL__
        if(ar__2(74:76) .EQ. '') e_Sint_1 = iNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2,CName,Sc_1,e_Sc_1,SH2CO,e_SH2CO,VLSR_1,l_VLSR,e_VLSR_1,
     +  FWHM_1,l_FWHM,e_FWHM_1,Sint_1,l_Sint_1,e_Sint_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4.dat'	! Kinematic parameters

C  Format for file interpretation

    4 format(
     +  A11,1X,A1,1X,A3,1X,F5.1,1X,F3.1,1X,F4.1,1X,F4.1,1X,F4.1,1X,
     +  F3.1,1X,F6.3,1X,F3.1,1X,F3.1,1X,I3,1X,F4.2,1X,A4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,93
        read(1,'(A75)')ar__3
        read(ar__3,4)
     +  Name_3,f_Name_1,CName_1,VLSR_2,e_VLSR_2,DNear,DFar,VTP,DTP,
     +  DLSR,E_DLSR,e_DLSR_1,z,DGC,Near_Far
        if(ar__3(29:32) .EQ. '') DNear = rNULL__
        if(ar__3(34:37) .EQ. '') DFar = rNULL__
        if(ar__3(48:53) .EQ. '') DLSR = rNULL__
        if(ar__3(55:57) .EQ. '') E_DLSR = rNULL__
        if(ar__3(59:61) .EQ. '') e_DLSR_1 = rNULL__
        if(ar__3(63:65) .EQ. '') z = iNULL__
c    ..............Just test output...........
        write(6,4)
     +  Name_3,f_Name_1,CName_1,VLSR_2,e_VLSR_2,DNear,DFar,VTP,DTP,
     +  DLSR,E_DLSR,e_DLSR_1,z,DGC,Near_Far
c    .......End.of.Just test output...........
      end do
      close(1)

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