FORTRAN Generation
(/./ftp/cats/J/ApJ/653/1226)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJ/653/1226 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-20
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/653/1226    Physical properties of galactic HII regions  (Quireza+, 2006)
*================================================================================
*The electron temperature gradient in the Galactic disk.
*    Quireza C., Rood R.T., Bania T.M., Balser D.S., Maciel W.J.
*   <Astrophys. J., 653, 1226-1240 (2006)>
*   =2006ApJ...653.1226Q
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Physical properties of Galactic HII regions

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

      character*13  Source     (nr__) ! Source designation (GLLL.ll+BBB.bb)
      character*3   n_Source   (nr__) ! [d,e ] Observational notes (1)
      character*13  Name       (nr__) ! Other name
      real*4        RGal       (nr__) ! (kpc) Galactocentric distance
      real*4        dSun       (nr__) ! (kpc) ?=- Heliocentric distance
      real*4        theta      (nr__) ! (arcmin) ?=- Angular diameter
      real*4        Diam       (nr__) ! (pc) ?=- Linear diameter
      real*4        He__H_     (nr__) ! Ionic abundance ratio N(He^+^)/N(H^+^)
      real*4        e_He__H_   (nr__) ! rms uncertainty on He+/H+
      real*4        Snu        (nr__) ! (Jy) ?=- Flux density at 8.6GHz
      real*4        TBC        (nr__) ! (K) ?=- Continuum brightness Temperature
      real*4        ne         (nr__) ! (cm-3) ?=- Electron density
      integer*4     Te         (nr__) ! (K) ?=- Electron temperature (2)
      integer*4     e_Te       (nr__) ! (K) ?=- rms uncertainty on Te
      character*2   Mode       (nr__) ! Continuum observing mode (3)
      character*1   Qc         (nr__) ! [A-E] Continuum quality factors (4)
      character*1   Ql         (nr__) ! [A-E] Line quality factors (4)
      character*5   Survey     (nr__) ! Survey (CII or ^3^He)
*Note (1): Notes as follows:
*      d = M16, M17, NGC 6334, Rosette, and S209 were observed at different
*          positions in the ^3^He survey
*      e = Observed in both CII and ^3^He surveys
*Note (2): The electron temperatures were rounded off to the nearest 10K.
*Note (3): Mode refers to the continuum observing mode as follows:
*     TP = total power observations
*     SP = denotes switched power observations
*Note (4): Quality flag: A best to E worst

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

C  Loading file 'table1.dat'	! Physical properties of Galactic HII regions

C  Format for file interpretation

    1 format(
     +  A13,A3,1X,A13,1X,F4.1,1X,F4.1,1X,F4.1,1X,F4.1,1X,F5.3,1X,F5.3,
     +  1X,F5.1,1X,F5.1,1X,F6.1,1X,I5,1X,I5,1X,A2,1X,A1,1X,A1,1X,A5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,119
        read(1,'(A106)')ar__
        read(ar__,1)
     +  Source(i__),n_Source(i__),Name(i__),RGal(i__),dSun(i__),
     +  theta(i__),Diam(i__),He__H_(i__),e_He__H_(i__),Snu(i__),
     +  TBC(i__),ne(i__),Te(i__),e_Te(i__),Mode(i__),Qc(i__),Ql(i__),
     +  Survey(i__)
        if (idig(ar__(37:40)).EQ.0) dSun(i__) =  rNULL__
        if (idig(ar__(42:45)).EQ.0) theta(i__) =  rNULL__
        if (idig(ar__(47:50)).EQ.0) Diam(i__) =  rNULL__
        if (idig(ar__(64:68)).EQ.0) Snu(i__) =  rNULL__
        if (idig(ar__(70:74)).EQ.0) TBC(i__) =  rNULL__
        if (idig(ar__(76:81)).EQ.0) ne(i__) =  rNULL__
        if (Te(i__) .EQ. 45) Te(i__) =  iNULL__
        if (e_Te(i__) .EQ. 45) e_Te(i__) =  iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Source(i__),n_Source(i__),Name(i__),RGal(i__),dSun(i__),
     +  theta(i__),Diam(i__),He__H_(i__),e_He__H_(i__),Snu(i__),
     +  TBC(i__),ne(i__),Te(i__),e_Te(i__),Mode(i__),Qc(i__),Ql(i__),
     +  Survey(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