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