FORTRAN Generation
(/./ftp/cats/J/PASJ/62/557)

Conversion of standardized ReadMe file for file /./ftp/cats/J/PASJ/62/557 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 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. J/PASJ/62/557  CO clouds in the Galactic Center from NANTEN  (Takeuchi+, 2010)
*================================================================================
*NANTEN survey of molecular clouds toward the Galactic Center.
*Association of compact astronomical objects.
*    Takeuchi T., Yamamoto H., Torii K., Kudo N., Hayakawa T., Kawamura A.,
*    Mizuno N., Onishi T., Mizuno A., Ogawa H., Fukui Y.
*   <Publ. Astron. Soc. Jap., 62, 557-612 (2010)>
*   =2010PASJ...62..557T
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! List of CO clouds associated with
                              astronomical objects.

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

      character*10  Name       (nr__) ! CO cloud name (MLLL.l+B.b)
      real*4        VLSR       (nr__) ! (km/s) ? Peak V_LSR_ of ^12^CO determined by a
*                                  Gaussian fitting
      character*1   n_VLSR     (nr__) ! [+] + when value determined by ^13^CO spectrum
      character*11  IRAS       (nr__) ! IRAS source name (HHMMm+DDMMA, B1950)
      character*9   Type       (nr__) ! Criteria of the IRAS source, ultra compact HII
*                                 region (UCHII) or planetary nebula (PN)
      real*8        Vrad1      (nr__) ! (km/s) ?=- Peak V_LSR_ of the radio recombination
*                                    line sources
      integer*4     r_Vrad1    (nr__) ! ? Reference for Vrad1, in refs.dat file
      character*1   n_Vrad1    (nr__) ! [D] D for Detected
      real*4        Vrad2      (nr__) ! (km/s) ? Peak V_LSR_ of the radio recombination
*                                  line sources
      integer*4     r_Vrad2    (nr__) ! ? Reference for Vrad2, in refs.dat file
      real*4        Vrad3      (nr__) ! (km/s) ? Peak V_LSR_ of the radio recombination
*                                  line sources
      integer*4     r_Vrad3    (nr__) ! ? Reference for Vrad3, in refs.dat file
      real*4        Vmas1      (nr__) ! (km/s) ?=- V_LSR_ of maser line sources
      character*5   r_Vmas1    (nr__) ! Reference for Vmas1, in refs.dat file
      real*4        Vmas2      (nr__) ! (km/s) ? V_LSR_ of maser line sources
      character*5   r_Vmas2    (nr__) ! Reference for Vmas2, in refs.dat file
      real*4        Vmas3      (nr__) ! (km/s) ? V_LSR_ of maser line sources
      integer*4     r_Vmas3    (nr__) ! ? Reference for Vmas3, in refs.dat file
      real*8        Vmol1      (nr__) ! (km/s) ?=- Peak V_LSR_ of other molecular line sources
      integer*4     r_Vmol1    (nr__) ! ? Reference for Vmol1, in refs.dat file
      real*4        Vmol2      (nr__) ! (km/s) ? Peak V_LSR_ of other molecular line sources
      character*5   r_Vmol2    (nr__) ! Reference for Vmol2, in refs.dat file
      real*4        Vmol3      (nr__) ! (km/s) ? Peak V_LSR_ of other molecular line sources
      integer*4     r_Vmol3    (nr__) ! ? Reference for Vmol3, in refs.dat file
      character*1   Radio      (nr__) ! [D] D for detected radio continuum source
      character*7   r_Radio    (nr__) ! References for radio continuum detection,
*                                 in refs.dat file
      character*1   Rank       (nr__) ! [abc] Rank (1)
      character*15  Rem        (nr__) ! Additional remarks
      character*2   n_Rem      (nr__) ! [SGX ] Note on Rem (2)
*Note (1): We classified molecular clouds according to the following criteria:
*      a = molecular clouds associated with objects having velocity
*          information whose detection lies within 5km/s of CO peak velocity
*      b = molecular clouds with associated objects whose velocity is
*          separated by more than 5km/s from CO peak velocity
*      c = molecular clouds with associated objects that are coincident in
*          position only without velocity information.
*Note (2): Notes as follows:
*      S = SNRs are from the Green SNR catalog (Green, 2004BASI...32..335G)
*      G = Object associated with TeV gamma-ray source
*          (e.g., Aharonian et al., 2008A&A...481..401A)
*      X = Object associated with {X-ray} source

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

C  Declarations for 'table2.dat'	! CO observational parameters

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

C  Position composed of: Glon12 Glat12
      character*10  Name_1     (nr__1) ! CO cloud name (MLLL.l+B.b)
      real*4        Glon12     (nr__1) ! (deg) ? 12CO(J=1-0) Galactic longitude
      real*4        Glat12     (nr__1) ! (deg) ? 12CO(J=1-0) Galactic latitude
      character*1   f12        (nr__1) ! [+] no gaussian fit (1)
      real*4        TR12       (nr__1) ! (K) ? 12CO(J=1-0) Peak radiation temperature
      real*4        V12        (nr__1) ! (km/s) ? 12CO(J=1-0) LSR velocity
      real*4        sig12      (nr__1) ! (km/s) ? 12CO(J=1-0) velocity dispersion
      real*4        Glon13     (nr__1) ! (deg) ? 13CO(J=1-0) Galactic longitude
      real*4        Glat13     (nr__1) ! (deg) ? 13CO(J=1-0) Galactic latitude
      character*1   f13        (nr__1) ! [+] no gaussian fit (1)
      real*4        TR13       (nr__1) ! (K) ? 13CO(J=1-0) Peak radiation temperature
      real*4        V13        (nr__1) ! (km/s) ? 13CO(J=1-0) LSR velocity
      real*4        sig13      (nr__1) ! (km/s) ? 13CO(J=1-0) velocity dispersion
*Note (1): + when it is impossible to fit Gaussian distribution because of
*     asymmetry and/or overlapping in the spectrum line. Values given are
*     temperature and peak velocity.

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

C  Declarations for 'refs.dat'	! References

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

      integer*4     Ref        (nr__2) ! Reference number
      character*139 Text       (nr__2) ! Text of the reference

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

C  Loading file 'table1.dat'	! List of CO clouds associated with
*                              astronomical objects.

C  Format for file interpretation

    1 format(
     +  A10,1X,F6.1,A1,1X,A11,A9,1X,F7.2,1X,I2,A1,1X,F6.1,1X,I2,1X,
     +  F3.1,1X,I2,1X,F6.2,1X,A5,1X,F6.2,1X,A5,1X,F6.2,1X,I2,1X,F7.2,
     +  1X,I2,1X,F6.2,1X,A5,1X,F5.2,1X,I2,1X,A1,1X,A7,1X,A1,1X,A15,1X,
     +  A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,187
        read(1,'(A168)')ar__
        read(ar__,1)
     +  Name(i__),VLSR(i__),n_VLSR(i__),IRAS(i__),Type(i__),
     +  Vrad1(i__),r_Vrad1(i__),n_Vrad1(i__),Vrad2(i__),r_Vrad2(i__),
     +  Vrad3(i__),r_Vrad3(i__),Vmas1(i__),r_Vmas1(i__),Vmas2(i__),
     +  r_Vmas2(i__),Vmas3(i__),r_Vmas3(i__),Vmol1(i__),r_Vmol1(i__),
     +  Vmol2(i__),r_Vmol2(i__),Vmol3(i__),r_Vmol3(i__),Radio(i__),
     +  r_Radio(i__),Rank(i__),Rem(i__),n_Rem(i__)
        if(ar__(12:17) .EQ. '') VLSR(i__) = rNULL__
        if (idig(ar__(41:47)).EQ.0) Vrad1(i__) =  rNULL__
        if(ar__(49:50) .EQ. '') r_Vrad1(i__) = iNULL__
        if(ar__(53:58) .EQ. '') Vrad2(i__) = rNULL__
        if(ar__(60:61) .EQ. '') r_Vrad2(i__) = iNULL__
        if(ar__(63:65) .EQ. '') Vrad3(i__) = rNULL__
        if(ar__(67:68) .EQ. '') r_Vrad3(i__) = iNULL__
        if (idig(ar__(70:75)).EQ.0) Vmas1(i__) =  rNULL__
        if(ar__(83:88) .EQ. '') Vmas2(i__) = rNULL__
        if(ar__(96:101) .EQ. '') Vmas3(i__) = rNULL__
        if(ar__(103:104) .EQ. '') r_Vmas3(i__) = iNULL__
        if (idig(ar__(106:112)).EQ.0) Vmol1(i__) =  rNULL__
        if(ar__(114:115) .EQ. '') r_Vmol1(i__) = iNULL__
        if(ar__(117:122) .EQ. '') Vmol2(i__) = rNULL__
        if(ar__(130:134) .EQ. '') Vmol3(i__) = rNULL__
        if(ar__(136:137) .EQ. '') r_Vmol3(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),VLSR(i__),n_VLSR(i__),IRAS(i__),Type(i__),
     +  Vrad1(i__),r_Vrad1(i__),n_Vrad1(i__),Vrad2(i__),r_Vrad2(i__),
     +  Vrad3(i__),r_Vrad3(i__),Vmas1(i__),r_Vmas1(i__),Vmas2(i__),
     +  r_Vmas2(i__),Vmas3(i__),r_Vmas3(i__),Vmol1(i__),r_Vmol1(i__),
     +  Vmol2(i__),r_Vmol2(i__),Vmol3(i__),r_Vmol3(i__),Radio(i__),
     +  r_Radio(i__),Rank(i__),Rem(i__),n_Rem(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! CO observational parameters

C  Format for file interpretation

    2 format(
     +  A10,1X,F6.2,1X,F5.2,A1,1X,F4.1,1X,F6.1,1X,F4.1,2X,F6.2,1X,
     +  F5.2,A1,1X,F4.1,1X,F6.1,1X,F4.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,181
        read(1,'(A73)')ar__1
        read(ar__1,2)
     +  Name_1(i__),Glon12(i__),Glat12(i__),f12(i__),TR12(i__),
     +  V12(i__),sig12(i__),Glon13(i__),Glat13(i__),f13(i__),
     +  TR13(i__),V13(i__),sig13(i__)
        if(ar__1(12:17) .EQ. '') Glon12(i__) = rNULL__
        if(ar__1(19:23) .EQ. '') Glat12(i__) = rNULL__
        if(ar__1(26:29) .EQ. '') TR12(i__) = rNULL__
        if(ar__1(31:36) .EQ. '') V12(i__) = rNULL__
        if(ar__1(38:41) .EQ. '') sig12(i__) = rNULL__
        if(ar__1(44:49) .EQ. '') Glon13(i__) = rNULL__
        if(ar__1(51:55) .EQ. '') Glat13(i__) = rNULL__
        if(ar__1(58:61) .EQ. '') TR13(i__) = rNULL__
        if(ar__1(63:68) .EQ. '') V13(i__) = rNULL__
        if(ar__1(70:73) .EQ. '') sig13(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1(i__),Glon12(i__),Glat12(i__),f12(i__),TR12(i__),
     +  V12(i__),sig12(i__),Glon13(i__),Glat13(i__),f13(i__),
     +  TR13(i__),V13(i__),sig13(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    3 format(I2,1X,A139)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,77
        read(1,'(A142)')ar__2
        read(ar__2,3)Ref(i__),Text(i__)
c    ..............Just test output...........
        write(6,3)Ref(i__),Text(i__)
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