Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_AS/143/391 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-19 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/A+AS/143/391 ROSAT HRI catalogue of LMC X-ray sources (Sasaki+, 2000) *================================================================================ *ROSAT HRI catalogue of X-ray sources in the LMC region * Sasaki M., Haberl F., Pietsch W. * <Astron. Astrophys. Suppl. Ser. 143, 391 (2000)> * =2000A&AS..143..391S C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! Variable sources integer*4 nr__ parameter (nr__=26) ! Number of records character*97 ar__ ! Full-size record integer*4 HRI ! HRI source number real*4 Hrate ! (ct/s) HRI count rate real*4 Prate ! (ct/s) ? PSPC count rate real*8 Fquo ! Fmax/Fmin real*8 redChi ! reduced Chi square integer*4 dof ! degrees of freedom integer*4 PNo ! ? PSPC source number, see Note (G1) character*55 Remarks ! Source ID, see Note (1) *Note (1): < > for new classification. * References between [] are defined in refs.dat file c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table2.dat' ! Identified sources integer*4 nr__1 parameter (nr__1=97) ! Number of records character*146 ar__1 ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg ! (deg) Right Ascension J2000 real*8 DEdeg ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) integer*4 HRI_1 ! HRI source number integer*4 RAh ! (h) Right ascension J2000 integer*4 RAm ! (min) Right ascension J2000 real*4 RAs ! (s) Right ascension J2000 character*1 DE_ ! Declination sign J2000 integer*4 DEd ! (deg) Declination J2000 integer*4 DEm ! (arcmin) Declination J2000 integer*4 DEs ! (arcsec) Declination J2000 real*4 PosErr ! (arcsec) Positional error real*8 MLexi ! Existence Likelihood real*4 Rate ! (ct/s) Count rate real*4 e_Rate ! (ct/s) Count rate error real*4 Extent ! (arcsec) Source extent real*4 e_Extent ! (arcsec) Extent error real*4 MLext ! Extent Likelihood integer*4 PNo_1 ! ? PSPC source number, see Note (G1) real*4 PHR1 ! ? Hardness ratio 1 of the PSPC source real*4 e_PHR1 ! ? Error of hardness ratio 1 character*1 n_PHR1 ! [*] * when no uncertainty for PHR1 value real*4 PHR2 ! ? Hardness ratio 2 of the PSPC source real*4 e_PHR2 ! ? Error of hardness ratio 2 character*1 n_PHR2 ! [*] * when no uncertainty for PHR2 value character*44 Remarks_1 ! Source classification, see Note (1) *Note (1): fg = foreground * Candidates from literature are marked with '?' behind the source class * References between [] are defined in refs.dat file c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table3.dat' ! Classified sources integer*4 nr__2 parameter (nr__2=21) ! Number of records character*132 ar__2 ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg_1 ! (deg) Right Ascension J2000 real*8 DEdeg_1 ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) integer*4 HRI_2 ! HRI source number integer*4 RAh_1 ! (h) Right ascension J2000 integer*4 RAm_1 ! (min) Right ascension J2000 real*4 RAs_1 ! (s) Right ascension J2000 character*1 DE__1 ! Declination sign J2000 integer*4 DEd_1 ! (deg) Declination J2000 integer*4 DEm_1 ! (arcmin) Declination J2000 integer*4 DEs_1 ! (arcsec) Declination J2000 real*4 PosErr_1 ! (arcsec) Positional error real*4 MLexi_1 ! Existence Likelihood real*4 Rate_1 ! (ct/s) Count rate real*4 e_Rate_1 ! (ct/s) Count rate error real*4 Extent_1 ! (arcsec) Source extent real*4 e_Extent_1 ! (arcsec) Extent error real*4 MLext_1 ! Extent Likelihood real*4 log_Fx_Fopt ! log(Fx/Fopt) integer*4 PNo_2 ! ? PSPC source number, see Note (G1) real*4 PHR1_1 ! ? Hardness ratio 1 of the PSPC source real*4 e_PHR1_1 ! ? Error of hardness ratio 1 real*4 PHR2_1 ! ? Hardness ratio 2 of the PSPC source real*4 e_PHR2_1 ! ? Error of hardness ratio 2 character*30 Remarks_2 ! Source classification (1) *Note (1): References between [] are defined in refs.dat file c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table4.dat' ! ROSAT HRI LMC catalogue integer*4 nr__3 parameter (nr__3=397) ! Number of records character*182 ar__3 ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg_2 ! (deg) Right Ascension J2000 real*8 DEdeg_2 ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) integer*4 HRI_3 ! HRI source number integer*4 RAh_2 ! (h) Right ascension J2000 integer*4 RAm_2 ! (min) Right ascension J2000 real*4 RAs_2 ! (s) Right ascension J2000 character*1 DE__2 ! Declination sign J2000 integer*4 DEd_2 ! (deg) Declination J2000 integer*4 DEm_2 ! (arcmin) Declination J2000 integer*4 DEs_2 ! (arcsec) Declination J2000 real*4 PosErr_2 ! (arcsec) Positional error real*8 MLexi_2 ! Existence Likelihood real*4 Rate_2 ! (ct/s) Count rate real*4 e_Rate_2 ! (ct/s) Count rate error real*4 Extent_2 ! (arcsec) Source extent real*4 e_Extent_2 ! (arcsec) Extent error real*4 MLext_2 ! Extent Likelihood character*1 l_PRate ! see Note (1) real*4 PRate_1 ! (ct/s) ? PSPC count rate, see Note (1) integer*4 PNo_3 ! ? PSPC source number, see Note (G1) real*4 PHR1_2 ! ? Hardness ratio 1 of the PSPC source real*4 e_PHR1_2 ! ? Error of hardness ratio 1 character*1 n_PHR1_1 ! [*] * when no uncertainty for PHR1 value real*4 PHR2_2 ! ? Hardness ratio 2 of the PSPC source real*4 e_PHR2_2 ! ? Error of hardness ratio 2 character*1 n_PHR2_1 ! [*] * when no uncertainty for PHR2 value character*70 Remarks_3 ! Source classification, see Note (2) *Note (1): For sources which are listed in the ROSAT PSPC catalogue * (Haberl & Pietsch, 1999, Cat. <J/A+AS/139/277>) PSPC count rates are * taken from the catalogue. Otherwise PSPC count rate is the 2 sigma * upper limit from maximum likelihood algorithm ('<' in column Uplim). *Note (2): fg: foreground * Candidates from literature are marked with '?' behind the source class * New classifications are put in < > * References between [] are defined in refs.dat file c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'refs.dat' ! References integer*4 nr__4 parameter (nr__4=18) ! Number of records character*209 ar__4 ! Full-size record character*8 Ref ! Reference code character*19 BibCode ! BibCode character*54 Aut ! Author names character*126 Com ! Comments C============================================================================= C Loading file 'table1.dat' ! Variable sources C Format for file interpretation 1 format(I3,1X,E6.1,1X,E6.1,1X,F7.1,1X,F7.1,1X,I2,1X,I4,1X,A55) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,26 read(1,'(A97)')ar__ read(ar__,1)HRI,Hrate,Prate,Fquo,redChi,dof,PNo,Remarks if(ar__(12:17) .EQ. '') Prate = rNULL__ if(ar__(38:41) .EQ. '') PNo = iNULL__ c ..............Just test output........... write(6,1)HRI,Hrate,Prate,Fquo,redChi,dof,PNo,Remarks c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table2.dat' ! Identified sources C Format for file interpretation 2 format( + I3,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,F4.1,1X,F7.1, + 1X,E8.2,1X,E8.2,1X,F4.1,1X,F3.1,1X,F6.1,1X,I4,1X,F5.2,1X,F4.2, + A1,1X,F5.2,1X,F4.2,A1,1X,A44) C Effective file loading open(unit=1,status='old',file= +'table2.dat') write(6,*) '....Loading file: table2.dat' do i__=1,97 read(1,'(A146)')ar__1 read(ar__1,2) + HRI_1,RAh,RAm,RAs,DE_,DEd,DEm,DEs,PosErr,MLexi,Rate,e_Rate, + Extent,e_Extent,MLext,PNo_1,PHR1,e_PHR1,n_PHR1,PHR2,e_PHR2, + n_PHR2,Remarks_1 if(ar__1(73:76) .EQ. '') PNo_1 = iNULL__ if(ar__1(78:82) .EQ. '') PHR1 = rNULL__ if(ar__1(84:87) .EQ. '') e_PHR1 = rNULL__ if(ar__1(90:94) .EQ. '') PHR2 = rNULL__ if(ar__1(96:99) .EQ. '') e_PHR2 = rNULL__ RAdeg = rNULL__ DEdeg = rNULL__ c Derive coordinates RAdeg and DEdeg from input data c (RAdeg and DEdeg are set to rNULL__ when unknown) if(RAh .GT. -180) RAdeg=RAh*15. if(RAm .GT. -180) RAdeg=RAdeg+RAm/4. if(RAs .GT. -180) RAdeg=RAdeg+RAs/240. if(DEd .GE. 0) DEdeg=DEd if(DEm .GE. 0) DEdeg=DEdeg+DEm/60. if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600. if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg c ..............Just test output........... write(6,2) + HRI_1,RAh,RAm,RAs,DE_,DEd,DEm,DEs,PosErr,MLexi,Rate,e_Rate, + Extent,e_Extent,MLext,PNo_1,PHR1,e_PHR1,n_PHR1,PHR2,e_PHR2, + n_PHR2,Remarks_1 write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table3.dat' ! Classified sources C Format for file interpretation 3 format( + I3,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,F4.1,1X,F6.1, + 1X,E8.2,1X,E8.2,1X,F4.1,1X,F4.1,1X,F5.1,1X,F5.2,1X,I4,1X,F4.2, + 1X,F4.2,1X,F4.2,1X,F4.2,1X,A30) C Effective file loading open(unit=1,status='old',file= +'table3.dat') write(6,*) '....Loading file: table3.dat' do i__=1,21 read(1,'(A132)')ar__2 read(ar__2,3) + HRI_2,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,PosErr_1, + MLexi_1,Rate_1,e_Rate_1,Extent_1,e_Extent_1,MLext_1, + log_Fx_Fopt,PNo_2,PHR1_1,e_PHR1_1,PHR2_1,e_PHR2_1,Remarks_2 if(ar__2(78:81) .EQ. '') PNo_2 = iNULL__ if(ar__2(83:86) .EQ. '') PHR1_1 = rNULL__ if(ar__2(88:91) .EQ. '') e_PHR1_1 = rNULL__ if(ar__2(93:96) .EQ. '') PHR2_1 = rNULL__ if(ar__2(98:101) .EQ. '') e_PHR2_1 = rNULL__ RAdeg_1 = rNULL__ DEdeg_1 = rNULL__ c Derive coordinates RAdeg_1 and DEdeg_1 from input data c (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown) if(RAh_1 .GT. -180) RAdeg_1=RAh_1*15. if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4. if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240. if(DEd_1 .GE. 0) DEdeg_1=DEd_1 if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60. if(DEs_1 .GE. 0) DEdeg_1=DEdeg_1+DEs_1/3600. if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1 c ..............Just test output........... write(6,3) + HRI_2,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,PosErr_1, + MLexi_1,Rate_1,e_Rate_1,Extent_1,e_Extent_1,MLext_1, + log_Fx_Fopt,PNo_2,PHR1_1,e_PHR1_1,PHR2_1,e_PHR2_1,Remarks_2 write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table4.dat' ! ROSAT HRI LMC catalogue C Format for file interpretation 4 format( + I3,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,F4.1,1X,F7.1, + 1X,E8.2,1X,E8.2,1X,F4.1,1X,F4.1,1X,F6.1,1X,A1,E8.2,1X,I4,1X, + F5.2,1X,F4.2,A1,1X,F5.2,1X,F4.2,A1,1X,A70) C Effective file loading open(unit=1,status='old',file= +'table4.dat') write(6,*) '....Loading file: table4.dat' do i__=1,397 read(1,'(A182)')ar__3 read(ar__3,4) + HRI_3,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,DEs_2,PosErr_2, + MLexi_2,Rate_2,e_Rate_2,Extent_2,e_Extent_2,MLext_2,l_PRate, + PRate_1,PNo_3,PHR1_2,e_PHR1_2,n_PHR1_1,PHR2_2,e_PHR2_2, + n_PHR2_1,Remarks_3 if(ar__3(75:82) .EQ. '') PRate_1 = rNULL__ if(ar__3(84:87) .EQ. '') PNo_3 = iNULL__ if(ar__3(89:93) .EQ. '') PHR1_2 = rNULL__ if(ar__3(95:98) .EQ. '') e_PHR1_2 = rNULL__ if(ar__3(101:105) .EQ. '') PHR2_2 = rNULL__ if(ar__3(107:110) .EQ. '') e_PHR2_2 = rNULL__ RAdeg_2 = rNULL__ DEdeg_2 = rNULL__ c Derive coordinates RAdeg_2 and DEdeg_2 from input data c (RAdeg_2 and DEdeg_2 are set to rNULL__ when unknown) if(RAh_2 .GT. -180) RAdeg_2=RAh_2*15. if(RAm_2 .GT. -180) RAdeg_2=RAdeg_2+RAm_2/4. if(RAs_2 .GT. -180) RAdeg_2=RAdeg_2+RAs_2/240. if(DEd_2 .GE. 0) DEdeg_2=DEd_2 if(DEm_2 .GE. 0) DEdeg_2=DEdeg_2+DEm_2/60. if(DEs_2 .GE. 0) DEdeg_2=DEdeg_2+DEs_2/3600. if(DE__2.EQ.'-'.AND.DEdeg_2.GE.0) DEdeg_2=-DEdeg_2 c ..............Just test output........... write(6,4) + HRI_3,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,DEs_2,PosErr_2, + MLexi_2,Rate_2,e_Rate_2,Extent_2,e_Extent_2,MLext_2,l_PRate, + PRate_1,PNo_3,PHR1_2,e_PHR1_2,n_PHR1_1,PHR2_2,e_PHR2_2, + n_PHR2_1,Remarks_3 write(6,'(6H Pos: 2F8.4)') RAdeg_2,DEdeg_2 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'refs.dat' ! References C Format for file interpretation 5 format(A8,1X,A19,1X,A54,A126) C Effective file loading open(unit=1,status='old',file= +'refs.dat') write(6,*) '....Loading file: refs.dat' do i__=1,18 read(1,'(A209)')ar__4 read(ar__4,5)Ref,BibCode,Aut,Com c ..............Just test output........... write(6,5)Ref,BibCode,Aut,Com c .......End.of.Just test output........... end do close(1) C============================================================================= stop end