Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/495/421 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-Mar-28 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+A/495/421 Catalog of AGN in XMM-Newton archive (CAIXA) (Bianchi+, 2009) *================================================================================ *CAIXA: a catalogue of AGN in the XMM-Newton archive. I. Spectral analysis. * Bianchi S., Guainazzi M., Matt G., Fonseca Bonilla N., Ponti G. * <Astron. Astrophys. 495, 421 (2009)> * =2009A&A...495..421B C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! Main properties of the observations of the sources included in CAIXA integer*4 nr__ parameter (nr__=156) ! Number of records character*104 ar__ ! Full-size record character*23 Source (nr__) ! Source name, from VV06 (G1) character*10 ObsID (nr__) ! XMM-Newton ObsID real*4 t_exp (nr__) ! (ks) Clean exposure time real*4 Fs (nr__) ! (fW/m2) Soft (0.5-2keV) flux (in 10^-12^erg/cm^2^/s) real*4 e_Fs (nr__) ! (fW/m2) Error on Fs (in 10^-12^erg/cm^2^/s) real*4 Fh (nr__) ! (fW/m2) Hard (2-10keV) flux (in 10^-12^erg/cm^2^/s) real*4 e_Fh (nr__) ! (fW/m2) Error on Fh (in 10^-12^erg/cm^2^/s) real*8 Ls (nr__) ! (10+37W) Soft (0.5-2keV) unabsorbed luminosity * (in 10^44^erg/s) real*8 e_Ls (nr__) ! (10+37W) Error on Ls (in 10^44^erg/s) real*8 Lh (nr__) ! (10+37W) Hard (2-10keV) unabsorbed luminosity * (in 10^44^erg/s) real*8 e_Lh (nr__) ! (10+37W) Error on Lh (in 10^44^erg/s) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table2.dat' ! Main X-ray parameters derived from the automatic fits of the observations included in CAIXA integer*4 nr__1 parameter (nr__1=156) ! Number of records character*115 ar__1 ! Full-size record character*23 Source_1 (nr__1) ! Source name, from VV06 (G1) character*10 ObsID_1 (nr__1) ! XMM-Newton ObsID real*4 Gam_s (nr__1) ! ?=- Soft X-ray powerlaw index real*4 E_Gam_s (nr__1) ! ?=- Upper error on powerlaw real*4 e_Gam_s_1 (nr__1) ! ?=- Lower error on powerlaw real*4 Gam_h (nr__1) ! Hard X-ray powerlaw index real*4 E_Gam_h (nr__1) ! Upper error on powerlaw real*4 e_Gam_h_1 (nr__1) ! Lower error on powerlaw integer*4 EW64 (nr__1) ! (eV) 6.4keV emission line equivalent width integer*4 E_EW64 (nr__1) ! (eV) Upper error on EW64 integer*4 e_EW64_1 (nr__1) ! (eV) Lower error on EW64 integer*4 EW67 (nr__1) ! (eV) 6.7keV emission line equivalent width integer*4 E_EW67 (nr__1) ! (eV) Upper error on EW67 integer*4 e_EW67_1 (nr__1) ! (eV) Lower error on EW67 integer*4 EW69 (nr__1) ! (eV) 6.96keV emission line equivalent width integer*4 E_EW69 (nr__1) ! (eV) Upper error on EW69 integer*4 e_EW69_1 (nr__1) ! (eV) Lower error on EW69 c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table3.dat' ! Multiwavelength properties of the sources included in CAIXA integer*4 nr__2 parameter (nr__2=156) ! Number of records character*112 ar__2 ! Full-size record C J2000 position composed of: RAdeg DEdeg character*23 Source_2 (nr__2) ! Source name, from VV06 (G1) real*8 RAdeg (nr__2) ! (deg) Right ascension (J2000), from NED real*8 DEdeg (nr__2) ! (deg) Declination (J2000), from NED real*4 z (nr__2) ! Redshift, from VV06 (G1) real*4 Mabs (nr__2) ! (mag) Absolute magnitude, from VV06 (G1) real*8 F6cm (nr__2) ! (Jy) ?=- Radio flux at 6cm character*2 n_F6cm (nr__2) ! [RQ] Note on F6cm (1) character*4 r_F6cm (nr__2) ! ?=- Reference for radio flux real*4 F20cm (nr__2) ! (Jy) ?=- Radio flux at 20cm character*2 r_F20cm (nr__2) ! ?=- Reference for radio flux integer*4 Hb (nr__2) ! (km/s) ? FWHM of Hbeta character*1 r_Hb (nr__2) ! ?=- Reference for Hbeta real*4 MBH (nr__2) ! ([solMass]) ?=- Log of black hole mass character*1 r_MBH (nr__2) ! ?=- Reference for BH mass character*1 n_MBH (nr__2) ! [mnorv] Note on BH mass (2) real*4 Vmag (nr__2) ! (mag) ?=- V magnitude, from VV06 (G1) real*4 B_V (nr__2) ! (mag) ?=- B-V colour index, from VV06 (G1) *Note (1): RQ means the source is considered radio-quiet in the reference, * but no radio flux is reported *Note (2): BH mass computation from: * r = reverberation mapping * o = Hbeta FWHM * m = MgII FWHM * n = narrow line region size * v = stellar velocity dispersion c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'refs.dat' ! References integer*4 nr__3 parameter (nr__3=52) ! Number of records character*79 ar__3 ! Full-size record character*2 Ref (nr__3) ! Reference code character*19 BibCode (nr__3) ! BibCode character*22 Aut (nr__3) ! Author's name character*34 Com (nr__3) ! Comments C============================================================================= C Loading file 'table1.dat' ! Main properties of the observations of the * sources included in CAIXA C Format for file interpretation 1 format( + A23,1X,A10,1X,F5.1,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F9.5, + F8.5,1X,F10.6,F9.6) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,156 read(1,'(A104)')ar__ read(ar__,1) + Source(i__),ObsID(i__),t_exp(i__),Fs(i__),e_Fs(i__),Fh(i__), + e_Fh(i__),Ls(i__),e_Ls(i__),Lh(i__),e_Lh(i__) c ..............Just test output........... write(6,1) + Source(i__),ObsID(i__),t_exp(i__),Fs(i__),e_Fs(i__),Fh(i__), + e_Fh(i__),Ls(i__),e_Ls(i__),Lh(i__),e_Lh(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table2.dat' ! Main X-ray parameters derived from the automatic * fits of the observations included in CAIXA C Format for file interpretation 2 format( + A23,1X,A10,2X,F5.3,1X,F5.3,1X,F5.3,F6.3,1X,F5.3,1X,F5.3,1X,I3, + 1X,I4,2X,I3,2X,I3,1X,I4,2X,I3,2X,I3,1X,I4,2X,I3) C Effective file loading open(unit=1,status='old',file= +'table2.dat') write(6,*) '....Loading file: table2.dat' do i__=1,156 read(1,'(A115)')ar__1 read(ar__1,2) + Source_1(i__),ObsID_1(i__),Gam_s(i__),E_Gam_s(i__), + e_Gam_s_1(i__),Gam_h(i__),E_Gam_h(i__),e_Gam_h_1(i__), + EW64(i__),E_EW64(i__),e_EW64_1(i__),EW67(i__),E_EW67(i__), + e_EW67_1(i__),EW69(i__),E_EW69(i__),e_EW69_1(i__) if (idig(ar__1(37:41)).EQ.0) Gam_s(i__) = rNULL__ if (idig(ar__1(43:47)).EQ.0) E_Gam_s(i__) = rNULL__ if (idig(ar__1(49:53)).EQ.0) e_Gam_s_1(i__) = rNULL__ c ..............Just test output........... write(6,2) + Source_1(i__),ObsID_1(i__),Gam_s(i__),E_Gam_s(i__), + e_Gam_s_1(i__),Gam_h(i__),E_Gam_h(i__),e_Gam_h_1(i__), + EW64(i__),E_EW64(i__),e_EW64_1(i__),EW67(i__),E_EW67(i__), + e_EW67_1(i__),EW69(i__),E_EW69(i__),e_EW69_1(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table3.dat' ! Multiwavelength properties of the sources * included in CAIXA C Format for file interpretation 3 format( + A23,1X,F9.5,1X,F10.6,1X,F6.4,1X,F5.1,1X,F7.5,A2,1X,A4,1X,F6.4, + 1X,A2,1X,I5,1X,A1,1X,F5.2,2X,A1,A1,1X,F5.2,1X,F5.2) C Effective file loading open(unit=1,status='old',file= +'table3.dat') write(6,*) '....Loading file: table3.dat' do i__=1,156 read(1,'(A112)')ar__2 read(ar__2,3) + Source_2(i__),RAdeg(i__),DEdeg(i__),z(i__),Mabs(i__), + F6cm(i__),n_F6cm(i__),r_F6cm(i__),F20cm(i__),r_F20cm(i__), + Hb(i__),r_Hb(i__),MBH(i__),r_MBH(i__),n_MBH(i__),Vmag(i__), + B_V(i__) if (idig(ar__2(59:65)).EQ.0) F6cm(i__) = rNULL__ if (idig(ar__2(74:79)).EQ.0) F20cm(i__) = rNULL__ if(ar__2(84:88) .EQ. '') Hb(i__) = iNULL__ if (idig(ar__2(92:96)).EQ.0) MBH(i__) = rNULL__ if (idig(ar__2(102:106)).EQ.0) Vmag(i__) = rNULL__ if (idig(ar__2(108:112)).EQ.0) B_V(i__) = rNULL__ c ..............Just test output........... write(6,3) + Source_2(i__),RAdeg(i__),DEdeg(i__),z(i__),Mabs(i__), + F6cm(i__),n_F6cm(i__),r_F6cm(i__),F20cm(i__),r_F20cm(i__), + Hb(i__),r_Hb(i__),MBH(i__),r_MBH(i__),n_MBH(i__),Vmag(i__), + B_V(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'refs.dat' ! References C Format for file interpretation 4 format(A2,1X,A19,1X,A22,A34) C Effective file loading open(unit=1,status='old',file= +'refs.dat') write(6,*) '....Loading file: refs.dat' do i__=1,52 read(1,'(A79)')ar__3 read(ar__3,4)Ref(i__),BibCode(i__),Aut(i__),Com(i__) c ..............Just test output........... write(6,4)Ref(i__),BibCode(i__),Aut(i__),Com(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