FORTRAN Generation
(/./ftp/cats/IX/20A)

Conversion of standardized ReadMe file for file /./ftp/cats/IX/20A 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-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. IX/20A              The Fourth BATSE Burst Revised Catalog     (Paciesas+ 1999)
*================================================================================
*The Fourth BATSE Burst Catalog (Revised)
*     Paciesas W.S., Meegan C.A., Pendleton G.N., Briggs M.S., Kouveliotou C.,
*     Koshut T.M., Lestrade J.P., McCollough M.L., Brainerd J.J., Hakkila J.,
*     Henze W., Preece R.D., Connaughton V., Kippen R.M., Mallozzi R.S.,
*     Fishman G.J., Richardson G.A., Sahi M.
*    <Astrophys. J. Suppl. Ser. 122, 465 (1999)>
*    =1999ApJS..122..465P
*The Ulysses supplement to the BATSE 4Br catalog of cosmic gamma-ray bursts.
*     Hurley K., Briggs M.S., Kippen R.M., Kouveliotou C., Meegan C.,
*     Fishman G., Cline T., Boer M.
*    <Astrophys. J. Suppl. Ser. 122, 497 (1999)>
*    =1999ApJS..122..497H
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for '4br.dat'	! Basic 4Br catalogue (until 29-Aug-1996)

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

C  J2000 position composed of: RAdeg DEdeg
      integer*4     TrigNo      ! [105/8121] The BATSE trigger number
      character*11  v4B         ! The BATSE burst name (based on observation date)
      character*1   Uflag       ! [*] when the burst is in the Ulysses supplement
      real*8        JD          ! (d) The Julian Date (TJD) of the trigger
      real*8        Time        ! (s) *[0,86400[ The time in decimal seconds of day (UT)
*                                 of the trigger
      real*8        RAdeg       ! (deg) Right ascension (J2000) in decimal degrees
      real*8        DEdeg       ! (deg) Declination (J2000) in decimal degrees
      real*8        GLON        ! (deg) Galactic longitude in decimal degrees
      real*8        GLAT        ! (deg) Galactic latitude in decimal degrees
      real*4        PosErr      ! (deg) *Radius in decimal degrees of positional error box
      real*8        Angle       ! (deg) *Angle in decimal degrees of geocenter
      character*1   PrevFlag    ! [YN] Overwrite flag: Y(true) if this burst
*                                 overwrote an earlier, weaker trigger.
*                                 N(false) otherwise
      character*1   NextFlag    ! [YN] Overwritten flag: Y(true) if this burst was
*                                 overwritten by a later, more intense trigger.
*                                 N(false) otherwise
*Note on PosErr:
*    The error in angular location is the radius of a circle having the
*    same area as the 68% confidence ellipse defined by the formal
*    covariance matrix from a {chi}^2^ fit on the assumption of normal
*    errors.
*
*    The positional error is reduced when the Uflag is set, see the file
*    "ulysses.dat"
*Note on Angle: The angle between the burst and the nadir, as measured
*     from the satellite
*Note on Time:
*    The burst trigger time is the end of the interval (64, 256 or 1024ms)
*    on which the burst triggered the detector.

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

C  Declarations for 'grb.dat'	! Gamma-ray bursts observed until 09-Sep-2000

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

C  J2000 position composed of: RAdeg DEdeg
      integer*4     TrigNo_1    ! [105/8121] The BATSE trigger number
      character*11  v4B_1       ! The BATSE burst name (based on observation date)
      character*1   Uflag_1     ! [*] when the burst is in the Ulysses supplement
      real*8        JD_1        ! (d) The Julian Date (TJD) of the trigger
      real*8        Time_1      ! (s) *[0,86400[ The time in decimal seconds of day (UT)
*                                 of the trigger
      real*8        RAdeg_1     ! (deg) Right ascension (J2000) in decimal degrees
      real*8        DEdeg_1     ! (deg) Declination (J2000) in decimal degrees
      real*8        GLON_1      ! (deg) Galactic longitude in decimal degrees
      real*8        GLAT_1      ! (deg) Galactic latitude in decimal degrees
      real*4        PosErr_1    ! (deg) *Radius in decimal degrees of positional error box
      real*8        Angle_1     ! (deg) *Angle in decimal degrees of geocenter
      character*1   PrevFlag_1  ! [YN] Overwrite flag: Y(true) if this burst
*                                 overwrote an earlier, weaker trigger.
*                                 N(false) otherwise
      character*1   NextFlag_1  ! [YN] Overwritten flag: Y(true) if this burst was
*                                 overwritten by a later, more intense trigger.
*                                 N(false) otherwise
*Note on PosErr:
*    The error in angular location is the radius of a circle having the
*    same area as the 68% confidence ellipse defined by the formal
*    covariance matrix from a {chi}^2^ fit on the assumption of normal
*    errors.
*
*    The positional error is reduced when the Uflag is set, see the file
*    "ulysses.dat"
*Note on Angle: The angle between the burst and the nadir, as measured
*     from the satellite
*Note on Time:
*    The burst trigger time is the end of the interval (64, 256 or 1024ms)
*    on which the burst triggered the detector.

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

C  Declarations for '4brcom.dat'	! Comments (on 4Br bursts only)

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

      integer*4     TrigNo_2    ! [105/8121] BATSE trigger number
      character*1   Flag        ! *[QAOLT] Comment flag
      character*79  Text        ! Comment
*Note on Flag: the letter indicates a comment category:
*          Q : comments on data quality
*          A : additional observations by other instruments
*          O : general comments
*          L : comments on the gamma-ray burst coordinates
*          T : comments on the gamma-ray burst duration

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

C  Declarations for 'duration.dat'	! Duration table (on all gamma-ray bursts)

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

      integer*4     TrigNo_3    ! [105/8121] The BATSE trigger number.
      real*8        T50         ! (s) *T50, interval covering 50% of the counts
      real*4        e_T50       ! (s) Uncertainty in T50
      real*8        T50start    ! (s) *The start time of the T50 interval, relative
*                                   to the trigger time in table 4br.dat
      real*8        T90         ! (s) *T90, interval covering 90% of the counts
      real*4        e_T90       ! (s) Uncertainty in T90
      real*8        T90start    ! (s) *The start time of the T90 interval, relative
*                                   to the trigger time in table 4br.dat
*Note on T50: T50 measures the duration of the time interval during which
*    25% to 75% of the total observed counts have been detected, using data
*    summed over the 4 LAD discriminator channels and using data summed
*    over only those detectors that satisfied the BATSE trigger criteria.
*Note on T50start: the start of the T50 interval is defined by the time at
*    which 25% of the total counts have been detected, and the end of the
*    T50 interval is defined by the time at which 75% of the counts have
*    been detected.
*Note on T90: T90 measures the duration of the time interval during which
*    5% to 95% of the total observed counts have been detected, using data
*    summed over the 4 LAD discriminator channels and using data summed
*    over only those detectors that satisfied the BATSE trigger criteria.
*Note on T90start: the start of the T90 interval is defined by the time at
*    which 5% of the total counts have been detected, and the end of the
*    T90 interval is defined by the time at which 95% of the total counts
*    have been detected.

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

C  Declarations for 'flux.dat'	! Flux values for BATSE triggers

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

      integer*4     TrigNo_4    ! [105/8121] BATSE trigger number
      real*4        F1          ! (mJ/m2) Fluence for channel 1 (20-50 keV)
      real*4        e_F1        ! (mJ/m2) Error in F1 (one-sigma)
      real*4        F2          ! (mJ/m2) Fluence for channel 2 (50-100 keV)
      real*4        e_F2        ! (mJ/m2) Error in F2 (one-sigma)
      real*4        F3          ! (mJ/m2) Fluence for channel 3 (100-300 keV)
      real*4        e_F3        ! (mJ/m2) Error in F3 (one-sigma)
      real*4        F4          ! (mJ/m2) *Fluence for channel 4 (E > 300 keV)
      real*4        e_F4        ! (mJ/m2) Error in F4 (one-sigma)
      real*8        F64ms       ! (ct/cm2/s) *Peak flux on the 64ms time scale
      real*4        e_F64ms     ! (ct/cm2/s) *Error in F64ms (one-sigma)
      real*8        T64ms       ! (s) *Time of F64ms
      real*8        F256ms      ! (ct/cm2/s) *Peak flux on the 256ms time scale
      real*4        e_F256ms    ! (ct/cm2/s) *Error in F256ms (one-sigma)
      real*8        T256ms      ! (s) *Time of F256ms
      real*8        F1024ms     ! (ct/cm2/s) *Peak flux on the 1024 time scale
      real*4        e_F1024ms   ! (ct/cm2/s) *Error in F1024ms (one-sigma)
      real*8        T1024ms     ! (s) *Time of F1024ms
*Note on T64ms, T256ms, T1024ms: The peak flux times are expressed in
*    decimal seconds relative to the burst trigger time for the end of the
*    interval in which the flux was calculated.
*Note on F64ms, F256ms, F1024ms: The peak flux energy range is 50-300 keV,
*    coinciding with the energy range of the nominal BATSE on-board burst
*    trigger.
*Note on e_F64ms, e_F256ms, e_F1024ms: truncated to 9.999 for trigger 6238.
*Note on F4: since channel 4 is an integral channel, fluences given for
*    this channel are quite sensitive to the assumed spectral form.
*    Spectral analyses in this energy range should be performed with higher
*    resolution data types. Many of the bursts between March 1992 and March
*    1993 have significant gaps in the data and are not included in the
*    table.

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

C  Declarations for 'maxmin.dat'	! Peak and threshold count rates

      integer*4 nr__5
      parameter (nr__5=1323)	! Number of records
      character*46 ar__5  	! Full-size record

      integer*4     TrigNo_5    ! [105/8121] BATSE trigger number
      real*8        CMax64      ! ?=-999.000 Maximum counts in the second most
*                                brightly illuminated detector divided by the
*                                threshold count rate on the 64ms timescale
      integer*4     T64         ! (ct) ?=-999 Trigger threshold on the 64ms timescale.
*                                It is the number of counts in 64ms required
*                                to trigger the second most brightly illuminated
*                                detector for this particular burst (1)
      real*8        CMax256     ! ?=-999.000 Maximum counts in the second most
*                                brightly illuminated detector divided by the
*                                threshold count rate on the 256ms timescale.
      integer*4     T256        ! (ct) ?=-999 Trigger threshold on the 256ms timescale.
*                                It is the number of counts in 256ms required
*                                to trigger the second most brightly illuminated
*                                detector for this particular burst (1)
      real*8        CMax1024    ! ?=-999.000 Maximum counts in the second most
*                                brightly illuminated detector divided by the
*                                threshold count rate on the 1024ms timescale.
      integer*4     T1024       ! (ct) ?=-999 Trigger threshold on the 1024ms timescale.
*                                It is the number of counts in 1024ms required
*                                to trigger the second most brightly illuminated
*                                detector for this particular burst (1)
*Note (1): since a trigger can occur on any of the three timescales,
*    there are often cases in which the maximum rate will be below
*    threshold on one or two of the timescales. The value of V/Vmax can be
*    determined for any burst by selecting the maximum of the three peak
*    rates, raised to the -3/2 power. Many bursts have unknown counts or
*    thresholds on one or more timescales. These are marked by a "-999" in
*    the table. This can happen for one of the following reasons:
*
*    1. If the trigger occurs on the 64ms timescale during the peak 256ms
*        rate, then the peak 256ms rate is not found.
*
*    2. If the 64ms peak rate never exceeds the 64ms threshold, and it
*       occurs before the trigger time, then the peak 64ms rate is not
*       found.
*
*    3. If the 256ms peak rate never exceeds the 256ms threshold, and it
*        occurs before the trigger time, then the peak 256ms rate is not
*        found.
*
*    Note that items 2 and 3 do not affect V/Vmax, since these peak rates
*    do not exceed threshold. Item 1 can on rare occasions lead to an
*    overestimate of V/Vmax.

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

C  Declarations for 'ulysses.dat'	! Ulysses/BATSE annuli localisations

      integer*4 nr__6
      parameter (nr__6=147)	! Number of records
      character*34 ar__6  	! Full-size record

C  J2000 position composed of: RAIdeg DEIdeg
      integer*4     TrigNo_6    ! [105/5586] The BATSE trigger number
      real*8        RAIdeg      ! (deg) IPN (Interplanetary Network BATSE/Ulysses)
*                                  right ascension of the center annulus,
*                                  in heliocentric frame (J2000)
      real*8        DEIdeg      ! (deg) IPN (Interplanetary Network BATSE/Ulysses)
*                                  declination of the center annulus,
*                                  in heliocentric frame (J2000)
      real*4        RIPN        ! (deg) Angular radius of the IPN (BATSE/Ulysses)
*                                 annulus, in the heliocentric frame
      real*4        dRIPN       ! (deg) Half-width of the IPN (BATSE/Ulysses) annulus

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

C  Declarations for '4b.dat'	! 1997 version of the basic 4B catalogue.

      integer*4 nr__7
      parameter (nr__7=1637)	! Number of records
      character*88 ar__7  	! Full-size record

C  J2000 position composed of: RAdeg DEdeg
      integer*4     TrigNo_7    ! [105/8121] The BATSE trigger number
      character*11  v4B_2       ! The BATSE burst name (based on observation date)
      character*1   Uflag_2     ! [*] when the burst is in the Ulysses supplement
      real*8        JD_2        ! (d) The Julian Date (TJD) of the trigger
      real*8        Time_2      ! (s) *[0,86400[ The time in decimal seconds of day (UT)
*                                 of the trigger
      real*8        RAdeg_2     ! (deg) Right ascension (J2000) in decimal degrees
      real*8        DEdeg_2     ! (deg) Declination (J2000) in decimal degrees
      real*8        GLON_2      ! (deg) Galactic longitude in decimal degrees
      real*8        GLAT_2      ! (deg) Galactic latitude in decimal degrees
      real*4        PosErr_2    ! (deg) *Radius in decimal degrees of positional error box
      real*8        Angle_2     ! (deg) *Angle in decimal degrees of geocenter
      character*1   PrevFlag_2  ! [YN] Overwrite flag: Y(true) if this burst
*                                 overwrote an earlier, weaker trigger.
*                                 N(false) otherwise
      character*1   NextFlag_2  ! [YN] Overwritten flag: Y(true) if this burst was
*                                 overwritten by a later, more intense trigger.
*                                 N(false) otherwise
*Note on PosErr:
*    The error in angular location is the radius of a circle having the
*    same area as the 68% confidence ellipse defined by the formal
*    covariance matrix from a {chi}^2^ fit on the assumption of normal
*    errors.
*
*    The positional error is reduced when the Uflag is set, see the file
*    "ulysses.dat"
*Note on Angle: The angle between the burst and the nadir, as measured
*     from the satellite
*Note on Time:
*    The burst trigger time is the end of the interval (64, 256 or 1024ms)
*    on which the burst triggered the detector.

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

C  Loading file '4br.dat'	! Basic 4Br catalogue (until 29-Aug-1996)

C  Format for file interpretation

    1 format(
     +  I4,1X,A11,A1,1X,F9.1,1X,F9.3,1X,F7.3,1X,F7.3,1X,F7.3,1X,F7.3,
     +  1X,F6.3,1X,F7.3,1X,A1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'4br.dat')
      write(6,*) '....Loading file: 4br.dat'
      do i__=1,1637
        read(1,'(A88)')ar__
        read(ar__,1)
     +  TrigNo,v4B,Uflag,JD,Time,RAdeg,DEdeg,GLON,GLAT,PosErr,Angle,
     +  PrevFlag,NextFlag
c    ..............Just test output...........
        write(6,1)
     +  TrigNo,v4B,Uflag,JD,Time,RAdeg,DEdeg,GLON,GLAT,PosErr,Angle,
     +  PrevFlag,NextFlag
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'grb.dat'	! Gamma-ray bursts observed until 09-Sep-2000

C  Format for file interpretation

    2 format(
     +  I4,1X,A11,A1,1X,F9.1,1X,F9.3,1X,F7.3,1X,F7.3,1X,F7.3,1X,F7.3,
     +  1X,F6.3,1X,F7.3,1X,A1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'grb.dat')
      write(6,*) '....Loading file: grb.dat'
      do i__=1,1067
        read(1,'(A88)')ar__1
        read(ar__1,2)
     +  TrigNo_1,v4B_1,Uflag_1,JD_1,Time_1,RAdeg_1,DEdeg_1,GLON_1,
     +  GLAT_1,PosErr_1,Angle_1,PrevFlag_1,NextFlag_1
c    ..............Just test output...........
        write(6,2)
     +  TrigNo_1,v4B_1,Uflag_1,JD_1,Time_1,RAdeg_1,DEdeg_1,GLON_1,
     +  GLAT_1,PosErr_1,Angle_1,PrevFlag_1,NextFlag_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file '4brcom.dat'	! Comments (on 4Br bursts only)

C  Format for file interpretation

    3 format(I4,1X,A1,1X,A79)

C  Effective file loading

      open(unit=1,status='old',file=
     +'4brcom.dat')
      write(6,*) '....Loading file: 4brcom.dat'
      do i__=1,3061
        read(1,'(A89)')ar__2
        read(ar__2,3)TrigNo_2,Flag,Text
c    ..............Just test output...........
        write(6,3)TrigNo_2,Flag,Text
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'duration.dat'	! Duration table (on all gamma-ray bursts)

C  Format for file interpretation

    4 format(I4,1X,F7.3,1X,F6.3,1X,F8.3,F8.3,1X,F6.3,1X,F8.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'duration.dat')
      write(6,*) '....Loading file: duration.dat'
      do i__=1,2041
        read(1,'(A52)')ar__3
        read(ar__3,4)TrigNo_3,T50,e_T50,T50start,T90,e_T90,T90start
c    ..............Just test output...........
        write(6,4)TrigNo_3,T50,e_T50,T50start,T90,e_T90,T90start
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'flux.dat'	! Flux values for BATSE triggers

C  Format for file interpretation

    5 format(
     +  I4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,E10.4,1X,
     +  E10.4,1X,E10.4,1X,F8.3,1X,F5.3,1X,F8.3,1X,F8.3,1X,F5.3,1X,
     +  F8.3,1X,F8.3,1X,F5.3,1X,F8.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'flux.dat')
      write(6,*) '....Loading file: flux.dat'
      do i__=1,2135
        read(1,'(A164)')ar__4
        read(ar__4,5)
     +  TrigNo_4,F1,e_F1,F2,e_F2,F3,e_F3,F4,e_F4,F64ms,e_F64ms,T64ms,
     +  F256ms,e_F256ms,T256ms,F1024ms,e_F1024ms,T1024ms
c    ..............Just test output...........
        write(6,5)
     +  TrigNo_4,F1,e_F1,F2,e_F2,F3,e_F3,F4,e_F4,F64ms,e_F64ms,T64ms,
     +  F256ms,e_F256ms,T256ms,F1024ms,e_F1024ms,T1024ms
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'maxmin.dat'	! Peak and threshold count rates

C  Format for file interpretation

    6 format(I4,1X,F8.3,1X,I4,1X,F8.3,1X,I4,1X,F8.3,1X,I4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'maxmin.dat')
      write(6,*) '....Loading file: maxmin.dat'
      do i__=1,1323
        read(1,'(A46)')ar__5
        read(ar__5,6)TrigNo_5,CMax64,T64,CMax256,T256,CMax1024,T1024
c    ..............Just test output...........
        write(6,6)TrigNo_5,CMax64,T64,CMax256,T256,CMax1024,T1024
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'ulysses.dat'	! Ulysses/BATSE annuli localisations

C  Format for file interpretation

    7 format(I4,1X,F7.3,1X,F7.3,1X,F6.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'ulysses.dat')
      write(6,*) '....Loading file: ulysses.dat'
      do i__=1,147
        read(1,'(A34)')ar__6
        read(ar__6,7)TrigNo_6,RAIdeg,DEIdeg,RIPN,dRIPN
c    ..............Just test output...........
        write(6,7)TrigNo_6,RAIdeg,DEIdeg,RIPN,dRIPN
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file '4b.dat'	! 1997 version of the basic 4B catalogue.

C  Format for file interpretation

    8 format(
     +  I4,1X,A11,A1,1X,F9.1,1X,F9.3,1X,F7.3,1X,F7.3,1X,F7.3,1X,F7.3,
     +  1X,F6.3,1X,F7.3,1X,A1,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'4b.dat')
      write(6,*) '....Loading file: 4b.dat'
      do i__=1,1637
        read(1,'(A88)')ar__7
        read(ar__7,8)
     +  TrigNo_7,v4B_2,Uflag_2,JD_2,Time_2,RAdeg_2,DEdeg_2,GLON_2,
     +  GLAT_2,PosErr_2,Angle_2,PrevFlag_2,NextFlag_2
c    ..............Just test output...........
        write(6,8)
     +  TrigNo_7,v4B_2,Uflag_2,JD_2,Time_2,RAdeg_2,DEdeg_2,GLON_2,
     +  GLAT_2,PosErr_2,Angle_2,PrevFlag_2,NextFlag_2
c    .......End.of.Just test output...........
      end do
      close(1)

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