FORTRAN Generation
(/./ftp/cats/J/ApJS/123/79)

Conversion of standardized ReadMe file for file /./ftp/cats/J/ApJS/123/79 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/ApJS/123/79       Third EGRET catalog (3EG)                (Hartman+, 1999)
*================================================================================
*The third EGRET catalog of high-energy gamma-ray sources.
*    Hartman R.C., Bertsch D.L., Bloom S.D., Chen A.W., Deines-Jones P.,
*    Esposito J.A., Fichtel C.E., Friedlander D.P., Hunter S.D.,
*    McDonald L.M., Sreekumar P., Thompson D.J., Jones B.B., Lin Y.C.,
*    Michelson P.F., Nolan P.L., Tompkins W.F., Kanbach G.,
*    Mayer-Hasselwander H.A., Mucke A., Pohl M., Reimer O., Kniffen D.A.,
*    Schneid E.J., Von Montigny C., Mukherjee R., Dingus B.L.
*   <Astrophys. J. Suppl. Ser. 123, 79 (1999)>
*   =1999ApJS..123...79H
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for '3eg.dat'	! Third EGRET Source Catalog (table 4)

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

C  J2000 position composed of: RAdeg DEdeg
      character*10  v3EG       (nr__) ! 3EG name (Jhhmm+ddmm)
      real*4        RAdeg      (nr__) ! (deg) Right ascension (J2000)
      real*4        DEdeg      (nr__) ! (deg) Declination (J2000)
      real*4        GLON       (nr__) ! (deg) Galactic longitude
      real*4        GLAT       (nr__) ! (deg) Galactic latitude
      real*4        theta95    (nr__) ! (deg) Radius of the circle containing the same
*                                    solid angle as the 95% confidence contour
      character*1   n_theta95  (nr__) ! [*] *: value was obtained by multiplying the
*                                    68% radius by 1.62. This was necessary in
*                                    cases of unclosed or extremely irregular 95%
*                                    contours.
      real*4        F          (nr__) ! (10-8ph/cm2/s) Flux (E>100MeV) (4)
      real*4        e_F        (nr__) ! (10-8ph/cm2/s) ? rms uncertainty on F ({DELTA}F) (4)
      real*4        Sp_Index   (nr__) ! ? Photon spectral index in F(E)~E^-Sp-Index^
      real*4        e_Sp_Index (nr__) ! ? rms uncertainty on Sp-Index
      character*1   n_Sp_Index (nr__) ! [BF] B: Break, F: Features
      character*1   ID         (nr__) ! [PGSAa] Identification code (1)
      character*6   Note       (nr__) ! [@EemC, ] Notes (2)
      character*10  r_ID       (nr__) ! References detailed in file "refs.dat"
      character*2   l_z        (nr__) ! [>= ~] Limit flag on z
      real*4        z          (nr__) ! ? Redshift (AGNs only)
      character*1   u_z        (nr__) ! [?] Uncertainty flag on z
      character*62  OtherNames (nr__) ! Other names (3)
*Note (1):
*    P = pulsar (indicates detection of pulsed gamma radiation);
*    G = galaxy (LMC only);
*    S = solar flare;
*    A = active galactic nucleus;
*    a = possible active galactic nucleus.
*    The possible AGN identifications are questionable, either because the
*    objects have low radio flux density (<300 mJy) or because they lie
*    outside the 95% uncertainty contour, sometimes even outside the 99%
*    contour (but within the position determination map). Note that this is
*    similar to the notation used in 2EG (Cat. <J/ApJS/101/259>) and 2EGS
*    (Cat. <J/ApJS/107/227>) (albeit looser than the definition of
*    "marginal" used in 2EG and 2EGS), but different from that used in the
*    first EGRET catalog (Fichtel et al. 1994ApJS...94..551F), which
*    distinguished identifications by their statistical significance.
*Note (2):
*    @: Note in notes.dat file
*    E: extended source (applies only to the Large Magellanic Cloud);
*   em: possibly extended source or multiple sources (based on source
*       location maps inconsistent with a single point source or poor fit
*       to the calibrated PSF, from the observation or sum of observations
*       presented in the first entry for the source);
*    C: source confusion may affect flux, significance, or position.
*       (Below-threshold excesses are considered in assigning this symbol,
*       so some weak sources may be designated as confused despite having
*       no other catalog sources nearby, e.g., in Fig. 4.)
*   Sources with no entry (other than @) in this column are consistent
*   with the EGRET PSF for a single source.
*Note (3): Possible identifications are followed by "?"
*Note (4): the flux corresponds to the one marked "*" in the file
*    "fluxes.dat". It is repeated here in order to allow easy
*    searches on the fluxes.

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

C  Declarations for 'fluxes.dat'	! Third EGRET Source Catalog, fluxes (table 4)

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

      character*10  v3EG_1     (nr__1) ! 3EG name (Jhhmm+ddmm)
      character*1   n_3EG      (nr__1) ! [*] *: Maximum flux detected
      character*1   l_F        (nr__1) ! Limit flag on F (95% confidence upper
*                                       limit for (TS)^1/2^<2)
      real*4        F_1        (nr__1) ! (10-8ph/cm2/s) Flux (E>100MeV) (1)
      real*4        e_F_1      (nr__1) ! (10-8ph/cm2/s) ? rms uncertainty on F ({DELTA}F)
      character*1   l_Count    (nr__1) ! Limit flag on Count
      integer*4     Count      (nr__1) ! (ct) Number of >100 MeV photons represented by
*                                      the flux or upper limit.
      real*4        TS1_2      (nr__1) ! Statistical significance of the >100 MeV
*                                      detection.
      character*7   VP         (nr__1) ! Viewing period of the specific catalog
*                                       line (2)
*Note (1): For each observation (or sum of observations) with (TS)^1/2^>=2,
*    the excess is presented as a flux with its uncertainty. Note that for
*    the second EGRET catalog, (TS)^1/2^>=3 was used. For (TS)^1/2^<2, the
*    result is presented as a 95% confidence upper limit, derived as
*    described in Sect. 3.2 of Mattox et al. (1996ApJ...461..396M). Each
*    analysis of a viewing period (or sum of viewing periods) was carried
*    out independently; therefore, the sum of counts from individual
*    viewing periods for a specific source does not necessarily match
*    closely the counts from a summed map.
*
*    To limit the length of the catalog, upper limits with little or no
*    significance are deleted.
*
*    First, if the maximum flux detected from a source is F, upper limits
*    above F+e_F are deleted.
*
*    Second, where two or more short viewing periods have been added
*    together, upper limits for the individual viewing periods have been
*    deleted if they are greater than F+e_F (or the upper limit) for the
*    summed interval.
*
*    The flux uncertainties and upper limits shown are statistical only.
*    For all except the brightest sources or those in confused regions, the
*    statistical uncertainty is larger than any systematic uncertainties.
*    Systematic effects include the uncertainty in the calibration
*    (Thompson et al., 1993ApJS...86..629T; Esposito et al., 1999, ApJ, in
*    press) as a function of energy and angle within the instrument, and
*    the gradual change in operating performance of EGRET as the spark
*    chamber gas ages. A first-order correction to this latter effect has
*    been included. At this time, we recommend that a residual uncertainty
*    of 10% should be attached to any flux value, in addition to the
*    statistical uncertainty. Sources in confused regions may also have
*    significant uncertainties due to the overlapping PSFs. The fluxes for
*    such sources should not be considered independent of each other,
*    particularly in searching for time variability.
*
*    The flux F for most sources was determined assuming a photon spectral
*    index of 2. If the spectral index {gamma} (see below) differs
*    substantially from 2.0, some additional error should be assumed for
*    the flux F.
*
*    An approximate flux density at 400 MeV (~10^23^Hz), in units of
*    picojanskys, can be obtained by multiplying the value of F shown by
*    1.7. The fractional uncertainty in the flux density is e_F/F. The
*    approximations used in deriving the factor 1.7 are discussed in 2EGS
*    (Cat. <J/ApJS/107/227>).
*Note (2): The results are for summed maps for cycle 1 (denoted P1),
*    cycle 2 (P2), cycle 3 (P3), cycle 4 (P4), cycles 1+2 (P12), cycles 3+4
*    (P34), cycles 1+2+3+4 (P1234), and for all viewing periods meeting the
*    following criteria: (1) the source was within 30{deg} of the EGRET
*    pointing direction; and (2) the exposure was large enough to derive a
*    meaningful flux or upper limit. (There are two exceptions to the
*    30{deg} cutoff: (a) the highest significance detection of 3EG
*    J1200+2847 was in viewing period 206.0, in which the source was
*    31{deg} from the axis, and (b) viewing periods 403.0, 403.5, 411.1,
*    and 411.5 were carried out with EGRET in narrow field-of-view mode, so
*    a cutoff of 19{deg} from the pointing direction was used.) Also
*    presented are results for sums of 2-6 individual viewing periods close
*    in time and with nearly identical pointing directions.
*
*    P1234 represents the sum of cycles 1, 2, 3, and 4, etc.; 0.2+ is the
*    sum of viewing periods 0.20.5, all of which covered roughly the same
*    region of the sky during the verification phase of the mission.
*
*    Entries ending in "+" are for sums of 2-6 viewing periods, defined in
*    table 5.

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

C  Declarations for 'table1.dat'	! EGRET Viewing Periods

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

C  Position composed of: GLON GLAT
      real*4        VPd        (nr__2) ! Viewing period designation
      character*8   Start      (nr__2) ! ("DD/MM/YY") Starting date
      character*8   End        (nr__2) ! ("DD/MM/YY") Ending date
      real*4        GLON_1     (nr__2) ! (deg) Galactic longitude
      real*4        GLAT_1     (nr__2) ! (deg) Galactic latitude

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

C  Declarations for 'notes.dat'	! Individual notes

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

      character*10  v3EG_2     (nr__3) ! 3EG name (Jhhmm+ddmm)
      character*74  Note_1     (nr__3) ! Text of the note

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

C  Declarations for 'refs.dat'	! References

      integer*4 nr__4
      parameter (nr__4=27)	! Number of records
      character*88 ar__4  	! Full-size record

      integer*4     RefNo      (nr__4) ! Reference number
      character*85  Text       (nr__4) ! Text of reference, including the
*                                    19-digit bibcode.

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

C  Loading file '3eg.dat'	! Third EGRET Source Catalog (table 4)

C  Format for file interpretation

    1 format(
     +  4X,A10,1X,F6.2,1X,F6.2,1X,F6.2,1X,F6.2,1X,F5.3,A1,1X,F5.1,2X,
     +  F4.1,1X,F4.2,1X,F4.2,A1,2X,A1,1X,A6,1X,A10,1X,A2,F6.4,A1,1X,
     +  A62)

C  Effective file loading

      open(unit=1,status='old',file=
     +'3eg.dat')
      write(6,*) '....Loading file: 3eg.dat'
      do i__=1,271
        read(1,'(A166)')ar__
        read(ar__,1)
     +  v3EG(i__),RAdeg(i__),DEdeg(i__),GLON(i__),GLAT(i__),
     +  theta95(i__),n_theta95(i__),F(i__),e_F(i__),Sp_Index(i__),
     +  e_Sp_Index(i__),n_Sp_Index(i__),ID(i__),Note(i__),r_ID(i__),
     +  l_z(i__),z(i__),u_z(i__),OtherNames(i__)
        if(ar__(58:61) .EQ. '') e_F(i__) = rNULL__
        if(ar__(63:66) .EQ. '') Sp_Index(i__) = rNULL__
        if(ar__(68:71) .EQ. '') e_Sp_Index(i__) = rNULL__
        if(ar__(97:102) .EQ. '') z(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  v3EG(i__),RAdeg(i__),DEdeg(i__),GLON(i__),GLAT(i__),
     +  theta95(i__),n_theta95(i__),F(i__),e_F(i__),Sp_Index(i__),
     +  e_Sp_Index(i__),n_Sp_Index(i__),ID(i__),Note(i__),r_ID(i__),
     +  l_z(i__),z(i__),u_z(i__),OtherNames(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'fluxes.dat'	! Third EGRET Source Catalog, fluxes (table 4)

C  Format for file interpretation

    2 format(4X,A10,A1,1X,A1,F6.1,1X,F5.1,1X,A1,I5,1X,F5.1,1X,A7)

C  Effective file loading

      open(unit=1,status='old',file=
     +'fluxes.dat')
      write(6,*) '....Loading file: fluxes.dat'
      do i__=1,5245
        read(1,'(A50)')ar__1
        read(ar__1,2)
     +  v3EG_1(i__),n_3EG(i__),l_F(i__),F_1(i__),e_F_1(i__),
     +  l_Count(i__),Count(i__),TS1_2(i__),VP(i__)
        if(ar__1(25:29) .EQ. '') e_F_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  v3EG_1(i__),n_3EG(i__),l_F(i__),F_1(i__),e_F_1(i__),
     +  l_Count(i__),Count(i__),TS1_2(i__),VP(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table1.dat'	! EGRET Viewing Periods

C  Format for file interpretation

    3 format(F5.1,1X,A8,1X,A8,1X,F6.2,1X,F6.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,169
        read(1,'(A37)')ar__2
        read(ar__2,3)
     +  VPd(i__),Start(i__),End(i__),GLON_1(i__),GLAT_1(i__)
c    ..............Just test output...........
        write(6,3)
     +  VPd(i__),Start(i__),End(i__),GLON_1(i__),GLAT_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Individual notes

C  Format for file interpretation

    4 format(4X,A10,1X,A74)

C  Effective file loading

      open(unit=1,status='old',file=
     +'notes.dat')
      write(6,*) '....Loading file: notes.dat'
      do i__=1,112
        read(1,'(A89)')ar__3
        read(ar__3,4)v3EG_2(i__),Note_1(i__)
c    ..............Just test output...........
        write(6,4)v3EG_2(i__),Note_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    5 format(I2,1X,A85)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,27
        read(1,'(A88)')ar__4
        read(ar__4,5)RefNo(i__),Text(i__)
c    ..............Just test output...........
        write(6,5)RefNo(i__),Text(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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