Conversion of standardized ReadMe file for
file /./ftp/cats/J/ApJ/862/50 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 2026-May-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/ApJ/862/50 Origin of Metals around Galaxies. I. (Mas-Ribas+, 2018)
*================================================================================
*Origin of Metals around Galaxies.
*I. Catalogs of metal-line absorption doublets from high-resolution quasar
*spectra.
* Mas-Ribas L., Riemer-Sorensen S., Hennawi J.F., Miralda-Escude J.,
* O'Meara J.M., Perez-Rafols I., Murphy M.T., Webb J.K.
* <Astrophys. J., 862, 50-50 (2018)>
* =2018ApJ...862...50M (SIMBAD/NED BibCode)
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'qsos.dat' ! List of quasars; table added by CDS (from
all catalogs)
integer*4 nr__
parameter (nr__=797) ! Number of records
character*47 ar__ ! 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)
character*15 ID ! Identifier (JHHMMSS+DDMMSSA)
integer*4 RAh ! (h) Hour of right ascension (J2000)
integer*4 RAm ! (min) Minute of right ascension (J2000)
real*4 RAs ! (s) Second of right ascension (J2000)
character*1 DE_ ! Sign of declination (J2000)
integer*4 DEd ! (deg) Degree of declination (J2000)
integer*4 DEm ! (arcmin) Arcminute of declination (J2000)
real*4 DEs ! (arcsec) Arcsecond of declination (J2000)
character*6 Cat ! Quasar sample from where the doublet was
* obtained (1)
*Note (1): Quasar sample as follows:
* HIRES = the High Resolution Echelle Spectrometer at Keck (see
* Murphy+ 2003, J/MNRAS/345/609 ; 68 occurrences)
* KODIAQ = the Keck Observatory Database of Ionized Absorption toward Quasars
* (KODIAQ DR1; O'Meara+ 2015, J/AJ/150/111), and those of the 130
* additional quasars incorporated in the second public data release
* (KODIAQ DR2; O'Meara+ 2017, J/AJ/154/114);
* <KODIAQ JHHMMSS+DDMMSSA> in Simbad (337 occurrences)
* UVES = the Ultraviolet and Visual Echelle Spectrograph at the VLT (see
* King+ 2012, J/MNRAS/422/3370 ; 392 occurrences)
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'civ.dat' ! CIV metal-line doublet catalog
integer*4 nr__1
parameter (nr__1=5656) ! Number of records
character*98 ar__1 ! 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)
character*15 ID_1 ! Identifier (JHHMMSS+DDMMSSA)
integer*4 RAh_1 ! (h) Hour of right ascension (J2000)
integer*4 RAm_1 ! (min) Minute of right ascension (J2000)
real*4 RAs_1 ! (s) Second of right ascension (J2000)
character*1 DE__1 ! Sign of declination (J2000)
integer*4 DEd_1 ! (deg) Degree of declination (J2000)
integer*4 DEm_1 ! (arcmin) Arcminute of declination (J2000)
real*4 DEs_1 ! (arcsec) Arcsecond of declination (J2000)
real*4 zavg ! [0.09/5.1] Weighted-mean redshift of the doublet
real*8 EW_l ! (10-13m) [0.2/4971] Equivalent width of the left-hand
* side line in the doublet (in m{AA})
real*4 e_EW_l ! (10-13m) [0.06/112] EW-l uncertainty
real*8 sig_l ! (10-13m) [3/3174] Significance of the detection for
* the left-hand side line in the doublet
* (in m{AA})
real*8 EW_r ! (10-13m) [0.03/1754] Equivalent width of the right-hand
* side line in the doublet (in m{AA})
real*4 e_EW_r ! (10-13m) [0.06/97] EW-r uncertainty
real*8 sig_r ! (10-13m) [1/2984] Significance of the detection for the
* right-hand side line in the doublet (in m{AA})
character*6 Cat_1 ! Quasar sample from where the doublet was
* obtained (KODIAQ, UVES or HIRES)
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'mgii.dat' ! MgII metal-line doublet catalog
integer*4 nr__2
parameter (nr__2=7919) ! Number of records
character*98 ar__2 ! 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)
character*15 ID_2 ! Identifier (JHHMMSS+DDMMSSA)
integer*4 RAh_2 ! (h) Hour of right ascension (J2000)
integer*4 RAm_2 ! (min) Minute of right ascension (J2000)
real*4 RAs_2 ! (s) Second of right ascension (J2000)
character*1 DE__2 ! Sign of declination (J2000)
integer*4 DEd_2 ! (deg) Degree of declination (J2000)
integer*4 DEm_2 ! (arcmin) Arcminute of declination (J2000)
real*4 DEs_2 ! (arcsec) Arcsecond of declination (J2000)
real*4 zavg_1 ! [0.09/5.1] Weighted-mean redshift of the doublet
real*8 EW_l_1 ! (10-13m) [0.2/4971] Equivalent width of the left-hand
* side line in the doublet (in m{AA})
real*4 e_EW_l_1 ! (10-13m) [0.06/112] EW-l uncertainty
real*8 sig_l_1 ! (10-13m) [3/3174] Significance of the detection for
* the left-hand side line in the doublet
* (in m{AA})
real*8 EW_r_1 ! (10-13m) [0.03/1754] Equivalent width of the right-hand
* side line in the doublet (in m{AA})
real*4 e_EW_r_1 ! (10-13m) [0.06/97] EW-r uncertainty
real*8 sig_r_1 ! (10-13m) [1/2984] Significance of the detection for the
* right-hand side line in the doublet (in m{AA})
character*6 Cat_2 ! Quasar sample from where the doublet was
* obtained (KODIAQ, UVES or HIRES)
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'nv.dat' ! NV metal-line doublet catalog
integer*4 nr__3
parameter (nr__3=239) ! Number of records
character*98 ar__3 ! Full-size record
C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg_3 ! (deg) Right Ascension J2000
real*8 DEdeg_3 ! (deg) Declination J2000
C ---------------------------------- ! (position vector(s) in degrees)
character*15 ID_3 ! Identifier (JHHMMSS+DDMMSSA)
integer*4 RAh_3 ! (h) Hour of right ascension (J2000)
integer*4 RAm_3 ! (min) Minute of right ascension (J2000)
real*4 RAs_3 ! (s) Second of right ascension (J2000)
character*1 DE__3 ! Sign of declination (J2000)
integer*4 DEd_3 ! (deg) Degree of declination (J2000)
integer*4 DEm_3 ! (arcmin) Arcminute of declination (J2000)
real*4 DEs_3 ! (arcsec) Arcsecond of declination (J2000)
real*4 zavg_2 ! [0.09/5.1] Weighted-mean redshift of the doublet
real*8 EW_l_2 ! (10-13m) [0.2/4971] Equivalent width of the left-hand
* side line in the doublet (in m{AA})
real*4 e_EW_l_2 ! (10-13m) [0.06/112] EW-l uncertainty
real*8 sig_l_2 ! (10-13m) [3/3174] Significance of the detection for
* the left-hand side line in the doublet
* (in m{AA})
real*8 EW_r_2 ! (10-13m) [0.03/1754] Equivalent width of the right-hand
* side line in the doublet (in m{AA})
real*4 e_EW_r_2 ! (10-13m) [0.06/97] EW-r uncertainty
real*8 sig_r_2 ! (10-13m) [1/2984] Significance of the detection for the
* right-hand side line in the doublet (in m{AA})
character*6 Cat_3 ! Quasar sample from where the doublet was
* obtained (KODIAQ, UVES or HIRES)
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'siiv.dat' ! SiIV metal-line doublet catalog
integer*4 nr__4
parameter (nr__4=2258) ! Number of records
character*98 ar__4 ! Full-size record
C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg_4 ! (deg) Right Ascension J2000
real*8 DEdeg_4 ! (deg) Declination J2000
C ---------------------------------- ! (position vector(s) in degrees)
character*15 ID_4 ! Identifier (JHHMMSS+DDMMSSA)
integer*4 RAh_4 ! (h) Hour of right ascension (J2000)
integer*4 RAm_4 ! (min) Minute of right ascension (J2000)
real*4 RAs_4 ! (s) Second of right ascension (J2000)
character*1 DE__4 ! Sign of declination (J2000)
integer*4 DEd_4 ! (deg) Degree of declination (J2000)
integer*4 DEm_4 ! (arcmin) Arcminute of declination (J2000)
real*4 DEs_4 ! (arcsec) Arcsecond of declination (J2000)
real*4 zavg_3 ! [0.09/5.1] Weighted-mean redshift of the doublet
real*8 EW_l_3 ! (10-13m) [0.2/4971] Equivalent width of the left-hand
* side line in the doublet (in m{AA})
real*4 e_EW_l_3 ! (10-13m) [0.06/112] EW-l uncertainty
real*8 sig_l_3 ! (10-13m) [3/3174] Significance of the detection for
* the left-hand side line in the doublet
* (in m{AA})
real*8 EW_r_3 ! (10-13m) [0.03/1754] Equivalent width of the right-hand
* side line in the doublet (in m{AA})
real*4 e_EW_r_3 ! (10-13m) [0.06/97] EW-r uncertainty
real*8 sig_r_3 ! (10-13m) [1/2984] Significance of the detection for the
* right-hand side line in the doublet (in m{AA})
character*6 Cat_4 ! Quasar sample from where the doublet was
* obtained (KODIAQ, UVES or HIRES)
C=============================================================================
C Loading file 'qsos.dat' ! List of quasars; table added by CDS (from
* all catalogs)
C Format for file interpretation
1 format(A15,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,A6)
C Effective file loading
open(unit=1,status='old',file=
+'qsos.dat')
write(6,*) '....Loading file: qsos.dat'
do i__=1,797
read(1,'(A47)')ar__
read(ar__,1)ID,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Cat
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,1)ID,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Cat
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'civ.dat' ! CIV metal-line doublet catalog
C Format for file interpretation
2 format(
+ A15,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,F5.3,1X,
+ F7.2,1X,F6.2,1X,F7.2,1X,F7.2,1X,F5.2,1X,F7.2,1X,A6)
C Effective file loading
open(unit=1,status='old',file=
+'civ.dat')
write(6,*) '....Loading file: civ.dat'
do i__=1,5656
read(1,'(A98)')ar__1
read(ar__1,2)
+ ID_1,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,zavg,EW_l,
+ e_EW_l,sig_l,EW_r,e_EW_r,sig_r,Cat_1
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,2)
+ ID_1,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,zavg,EW_l,
+ e_EW_l,sig_l,EW_r,e_EW_r,sig_r,Cat_1
write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'mgii.dat' ! MgII metal-line doublet catalog
C Format for file interpretation
3 format(
+ A15,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,F5.3,1X,
+ F7.2,1X,F6.2,1X,F7.2,1X,F7.2,1X,F5.2,1X,F7.2,1X,A6)
C Effective file loading
open(unit=1,status='old',file=
+'mgii.dat')
write(6,*) '....Loading file: mgii.dat'
do i__=1,7919
read(1,'(A98)')ar__2
read(ar__2,3)
+ ID_2,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,DEs_2,zavg_1,EW_l_1,
+ e_EW_l_1,sig_l_1,EW_r_1,e_EW_r_1,sig_r_1,Cat_2
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,3)
+ ID_2,RAh_2,RAm_2,RAs_2,DE__2,DEd_2,DEm_2,DEs_2,zavg_1,EW_l_1,
+ e_EW_l_1,sig_l_1,EW_r_1,e_EW_r_1,sig_r_1,Cat_2
write(6,'(6H Pos: 2F8.4)') RAdeg_2,DEdeg_2
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'nv.dat' ! NV metal-line doublet catalog
C Format for file interpretation
4 format(
+ A15,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,F5.3,1X,
+ F7.2,1X,F6.2,1X,F7.2,1X,F7.2,1X,F5.2,1X,F7.2,1X,A6)
C Effective file loading
open(unit=1,status='old',file=
+'nv.dat')
write(6,*) '....Loading file: nv.dat'
do i__=1,239
read(1,'(A98)')ar__3
read(ar__3,4)
+ ID_3,RAh_3,RAm_3,RAs_3,DE__3,DEd_3,DEm_3,DEs_3,zavg_2,EW_l_2,
+ e_EW_l_2,sig_l_2,EW_r_2,e_EW_r_2,sig_r_2,Cat_3
RAdeg_3 = rNULL__
DEdeg_3 = rNULL__
c Derive coordinates RAdeg_3 and DEdeg_3 from input data
c (RAdeg_3 and DEdeg_3 are set to rNULL__ when unknown)
if(RAh_3 .GT. -180) RAdeg_3=RAh_3*15.
if(RAm_3 .GT. -180) RAdeg_3=RAdeg_3+RAm_3/4.
if(RAs_3 .GT. -180) RAdeg_3=RAdeg_3+RAs_3/240.
if(DEd_3 .GE. 0) DEdeg_3=DEd_3
if(DEm_3 .GE. 0) DEdeg_3=DEdeg_3+DEm_3/60.
if(DEs_3 .GE. 0) DEdeg_3=DEdeg_3+DEs_3/3600.
if(DE__3.EQ.'-'.AND.DEdeg_3.GE.0) DEdeg_3=-DEdeg_3
c ..............Just test output...........
write(6,4)
+ ID_3,RAh_3,RAm_3,RAs_3,DE__3,DEd_3,DEm_3,DEs_3,zavg_2,EW_l_2,
+ e_EW_l_2,sig_l_2,EW_r_2,e_EW_r_2,sig_r_2,Cat_3
write(6,'(6H Pos: 2F8.4)') RAdeg_3,DEdeg_3
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'siiv.dat' ! SiIV metal-line doublet catalog
C Format for file interpretation
5 format(
+ A15,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,F5.3,1X,
+ F7.2,1X,F6.2,1X,F7.2,1X,F7.2,1X,F5.2,1X,F7.2,1X,A6)
C Effective file loading
open(unit=1,status='old',file=
+'siiv.dat')
write(6,*) '....Loading file: siiv.dat'
do i__=1,2258
read(1,'(A98)')ar__4
read(ar__4,5)
+ ID_4,RAh_4,RAm_4,RAs_4,DE__4,DEd_4,DEm_4,DEs_4,zavg_3,EW_l_3,
+ e_EW_l_3,sig_l_3,EW_r_3,e_EW_r_3,sig_r_3,Cat_4
RAdeg_4 = rNULL__
DEdeg_4 = rNULL__
c Derive coordinates RAdeg_4 and DEdeg_4 from input data
c (RAdeg_4 and DEdeg_4 are set to rNULL__ when unknown)
if(RAh_4 .GT. -180) RAdeg_4=RAh_4*15.
if(RAm_4 .GT. -180) RAdeg_4=RAdeg_4+RAm_4/4.
if(RAs_4 .GT. -180) RAdeg_4=RAdeg_4+RAs_4/240.
if(DEd_4 .GE. 0) DEdeg_4=DEd_4
if(DEm_4 .GE. 0) DEdeg_4=DEdeg_4+DEm_4/60.
if(DEs_4 .GE. 0) DEdeg_4=DEdeg_4+DEs_4/3600.
if(DE__4.EQ.'-'.AND.DEdeg_4.GE.0) DEdeg_4=-DEdeg_4
c ..............Just test output...........
write(6,5)
+ ID_4,RAh_4,RAm_4,RAs_4,DE__4,DEd_4,DEm_4,DEs_4,zavg_3,EW_l_3,
+ e_EW_l_3,sig_l_3,EW_r_3,e_EW_r_3,sig_r_3,Cat_4
write(6,'(6H Pos: 2F8.4)') RAdeg_4,DEdeg_4
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end