Conversion of standardized ReadMe file for
file /./ftp/cats/J/ApJ/845/157 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-Oct-12
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/845/157 IMF in 3 low-redshift strong lenses from SNELLS (Newman+, 2017)
*================================================================================
*The initial mass function in the nearest strong lenses from SNELLS: assessing
*the consistency of lensing, dynamical, and spectroscopic constraints.
* Newman A.B., Smith R.J., Conroy C., Villaume A., van Dokkum P.
* <Astrophys. J., 845, 157 (2017)>
* =2017ApJ...845..157N
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table1.dat' ! *Measured quantities for SNELLS lenses
integer*4 nr__
parameter (nr__=3) ! Number of records
character*254 ar__ ! Full-size record
character*5 Name ! Lens system identifier
* (<[SLC2015] SNL-N> in Simbad)
real*4 z ! [0.03/0.06] Redshift
real*4 Re ! (arcsec) Effective radius in J-band
real*4 theta ! (arcsec) [2.2/2.9] Einstein radius {theta}_Ein_
real*4 Lr ! (10+10Lsun) [1.6/3] Luminosity within {theta}_Ein_ in
* the SDSS r-band L_r,Ein_ (1)
real*4 e_Lr ! (10+10Lsun) [0.05/0.07] Lr uncertainty
integer*4 sig ! (km/s) [274/335] Velocity dispersion {sigma}_raw_
* measured in 4"x1.8" X-shooter IFU aperture
integer*4 e_sig ! (km/s) sig uncertainty
integer*4 Sige ! (km/s) [263/312] Aperture velocity dispersion
* {sigma}_e/2_; see section 4.4
integer*4 e_Sige ! (km/s) Sige uncertainty
real*4 v_M_Lr_L ! (Msun/Lsun) [4.7/5.5] Total M_Ein_/L_r,Ein_ (2)
real*4 e__M_Lr_L ! (Msun/Lsun) (M/Lr)L uncertainty
real*4 v_M_Lr_D ! (Msun/Lsun) ? Total projected M/L within {theta}_Ein_
* from stellar dynamical modeling only
real*4 e__M_Lr_D ! (Msun/Lsun) ? (M/Lr)D uncertainty
real*4 v_M_Lr_L_E ! (Msun/Lsun) [3.5/4.7] Stellar M*/L based on dark
* matter fractions from EAGLE
real*4 e__M_Lr_L_E ! (Msun/Lsun) (M/Lr)L+E uncertainty
real*4 v_M_Lr_L_D ! (Msun/Lsun) ? Stellar M*/L from joint lensing and
* dynamics model
real*4 e__M_Lr_L_D ! (Msun/Lsun) ? (M/Lr)L+D uncertainty
real*4 v_M_Lr_MW ! (Msun/Lsun) [3.6/4.1] Spectroscopic M*/L from Kroupa
* IMF
real*4 e__M_Lr_MW ! (Msun/Lsun) (M/Lr)MW uncertainty
real*4 v_M_Lr_1PL ! (Msun/Lsun) Spectroscopic M*/L from single power-law
* IMF at m<1M_{sun}_
real*4 e__M_Lr_1PL ! (Msun/Lsun) (M/Lr)1PL negative uncertainty
real*4 E__M_Lr_1PL_1 ! (Msun/Lsun) (M/Lr)1PL positive uncertainty
real*4 v_M_Lr_2PL ! (Msun/Lsun) Spectroscopic M*/L from double power-law
* IMF at m<1M_{sun}_
real*4 e__M_Lr_2PL ! (Msun/Lsun) (M/Lr)2PL negative uncertainty
real*4 E__M_Lr_2PL_1 ! (Msun/Lsun) (M/Lr)2PL positive uncertainty
real*4 v_M_Lr_2PLc ! (Msun/Lsun) Spectroscopic M*/L from double power-law
* with low-mass cutoff
real*4 e__M_Lr_2PLc ! (Msun/Lsun) (M/Lr)2PLc negative uncertainty
real*4 E__M_Lr_2PLc_1 ! (Msun/Lsun) (M/Lr)2PLc positive uncertainty
real*4 v_M_Lr_np ! (Msun/Lsun) [3.8/6.3] Spectroscopic M*/L,
* nonparametric IMF
real*4 e__M_Lr_np ! (Msun/Lsun) (M/Lr)np negative uncertainty
real*4 E__M_Lr_np_1 ! (Msun/Lsun) (M/Lr)np positive uncertainty
real*4 aL_E ! (Msun/Lsun) [0.9/1.2] Mass factor {alpha} using the
* lensing mass and EAGLE dark matter
* contribution (3)
real*4 e_aL_E ! (Msun/Lsun) aL+E uncertainty
real*4 aL_D ! (Msun/Lsun) ? Mass factor {alpha} from joint lensing
* and dynamical modeling (3)
real*4 e_aL_D ! (Msun/Lsun) ? aL+D uncertainty
real*4 aL_noD ! (Msun/Lsun) Total lensing mass; assumes no dark
* matter {alpha}_L+noDM_ (3)
real*4 e_aL_noD ! (Msun/Lsun) aL+noD uncertainty
real*4 aD_noD ! (Msun/Lsun) ? Total dynamical mass; assumes no dark
* matter {alpha}_D+noDM_ (3)
real*4 e_aD_noD ! (Msun/Lsun) ? aD+noD uncertainty
real*4 a1PL ! (Msun/Lsun) single power-law IMF at m<1M_{sun}_ (3)
real*4 e_a1PL ! (Msun/Lsun) a1PL negative uncertainty
real*4 E_a1PL_1 ! (Msun/Lsun) a1PL positive uncertainty
real*4 a2PL ! (Msun/Lsun) double power-law IMF at m<1M_{sun}_ (3)
real*4 e_a2PL ! (Msun/Lsun) a2PL negative uncertainty
real*4 E_a2PL_1 ! (Msun/Lsun) a2PL positive uncertainty
real*4 a2PLc ! (Msun/Lsun) double power-law with low-mass cutoff
* {alpha}_2PL+cut_ (3)
real*4 e_a2PLc ! (Msun/Lsun) a2PLc negative uncertainty
real*4 E_a2PLc_1 ! (Msun/Lsun) a2PLc positive uncertainty
real*4 anp ! (Msun/Lsun) [1/1.6] nonparametric IMF
* {alpha}_non-p_ (3)
real*4 e_anp ! (Msun/Lsun) anp negative uncertainty
real*4 E_anp_1 ! (Msun/Lsun) anp positive uncertainty
*Note (1): M_r,{sun}_=4.64 AB; distance error not included.
*Note (2): Total M_Ein_/L_r,Ein_ with M_Ein_ from S15
* (Smith+, 2015MNRAS.449.3441S)
*Note (3): The lensing and dynamical data place integral constraints on the IMF
* via the mass factor {alpha}, also referred to as the "IMF mismatch"
* factor; see Equation (1):
* {alpha} = (M*/L_r_)/(M*/L_r_)_MW_
* where (M*/L_r_)_MW_ is inferred from SPS modeling assuming a fiducial
* Kroupa (2001MNRAS.322..231K) IMF. See section 5.2.
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table2.dat' ! Spectra of SNELLS lenses used in SPS analysis
integer*4 nr__1
parameter (nr__1=8117) ! Number of records
character*40 ar__1 ! Full-size record
character*5 Name_1 ! Galaxy name (1)
real*8 lambda ! (0.1nm) [3918.4/10543] Observed-frame wavelength
* in vacuum units (2)
real*8 Flux ! [0/211] Flux density in arbitrary units
real*8 e_Flux ! [0/3.1] The 1{sigma} uncertainty in Flux
integer*4 Flag ! [0/1] Mask pixel from fit when Flag=0
real*4 Res ! (km/s) [32/89.3] Instrumental resolution;
* {sigma} of gaussian
*Note (1): SNL-0 and SNL-1 include data from IMACS and from FIRE; SNL-2
* includes only IMACS. The FIRE data begin at wavelengths > 9900 A.
* Note that there is a discontinuity in the (arbitrary) scaling of
* Flam between the IMACS and FIRE spectra. As described in
* Section 2.3, for each lens, a small gap around the Ca4227 feature
* has been filled in using the X-Shooter spectrum.
*Note (2): Only the six wavelength ranges described in Section 6 were used
* to constrain models, regardless of the value of the Flag field.
* This table contains slightly more wavelength coverage for
* completeness.
C=============================================================================
C Loading file 'table1.dat' ! *Measured quantities for SNELLS lenses
C Format for file interpretation
1 format(
+ A5,1X,F5.3,1X,F3.1,1X,F4.2,1X,F4.2,1X,F4.2,1X,I3,1X,I2,1X,I3,
+ 1X,I2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,
+ 1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,
+ F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,
+ 1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,
+ F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,
+ 1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2)
C Effective file loading
open(unit=1,status='old',file=
+'table1.dat')
write(6,*) '....Loading file: table1.dat'
do i__=1,3
read(1,'(A254)')ar__
read(ar__,1)
+ Name,z,Re,theta,Lr,e_Lr,sig,e_sig,Sige,e_Sige,v_M_Lr_L,
+ e__M_Lr_L,v_M_Lr_D,e__M_Lr_D,v_M_Lr_L_E,e__M_Lr_L_E,
+ v_M_Lr_L_D,e__M_Lr_L_D,v_M_Lr_MW,e__M_Lr_MW,v_M_Lr_1PL,
+ e__M_Lr_1PL,E__M_Lr_1PL_1,v_M_Lr_2PL,e__M_Lr_2PL,
+ E__M_Lr_2PL_1,v_M_Lr_2PLc,e__M_Lr_2PLc,E__M_Lr_2PLc_1,
+ v_M_Lr_np,e__M_Lr_np,E__M_Lr_np_1,aL_E,e_aL_E,aL_D,e_aL_D,
+ aL_noD,e_aL_noD,aD_noD,e_aD_noD,a1PL,e_a1PL,E_a1PL_1,a2PL,
+ e_a2PL,E_a2PL_1,a2PLc,e_a2PLc,E_a2PLc_1,anp,e_anp,E_anp_1
if(ar__(56:59) .EQ. '') v_M_Lr_D = rNULL__
if(ar__(61:64) .EQ. '') e__M_Lr_D = rNULL__
if(ar__(76:79) .EQ. '') v_M_Lr_L_D = rNULL__
if(ar__(81:84) .EQ. '') e__M_Lr_L_D = rNULL__
if(ar__(166:169) .EQ. '') aL_D = rNULL__
if(ar__(171:174) .EQ. '') e_aL_D = rNULL__
if(ar__(186:189) .EQ. '') aD_noD = rNULL__
if(ar__(191:194) .EQ. '') e_aD_noD = rNULL__
c ..............Just test output...........
write(6,1)
+ Name,z,Re,theta,Lr,e_Lr,sig,e_sig,Sige,e_Sige,v_M_Lr_L,
+ e__M_Lr_L,v_M_Lr_D,e__M_Lr_D,v_M_Lr_L_E,e__M_Lr_L_E,
+ v_M_Lr_L_D,e__M_Lr_L_D,v_M_Lr_MW,e__M_Lr_MW,v_M_Lr_1PL,
+ e__M_Lr_1PL,E__M_Lr_1PL_1,v_M_Lr_2PL,e__M_Lr_2PL,
+ E__M_Lr_2PL_1,v_M_Lr_2PLc,e__M_Lr_2PLc,E__M_Lr_2PLc_1,
+ v_M_Lr_np,e__M_Lr_np,E__M_Lr_np_1,aL_E,e_aL_E,aL_D,e_aL_D,
+ aL_noD,e_aL_noD,aD_noD,e_aD_noD,a1PL,e_a1PL,E_a1PL_1,a2PL,
+ e_a2PL,E_a2PL_1,a2PLc,e_a2PLc,E_a2PLc_1,anp,e_anp,E_anp_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table2.dat' ! Spectra of SNELLS lenses used in SPS analysis
C Format for file interpretation
2 format(A5,1X,F9.3,1X,F9.5,1X,F7.5,1X,I1,1X,F4.1)
C Effective file loading
open(unit=1,status='old',file=
+'table2.dat')
write(6,*) '....Loading file: table2.dat'
do i__=1,8117
read(1,'(A40)')ar__1
read(ar__1,2)Name_1,lambda,Flux,e_Flux,Flag,Res
c ..............Just test output...........
write(6,2)Name_1,lambda,Flux,e_Flux,Flag,Res
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end