Conversion of standardized ReadMe file for
file /./ftp/cats/J/ApJ/845/157 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 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 (nr__) ! Lens system identifier
* (<[SLC2015] SNL-N> in Simbad)
real*4 z (nr__) ! [0.03/0.06] Redshift
real*4 Re (nr__) ! (arcsec) Effective radius in J-band
real*4 theta (nr__) ! (arcsec) [2.2/2.9] Einstein radius {theta}_Ein_
real*4 Lr (nr__) ! (10+10Lsun) [1.6/3] Luminosity within {theta}_Ein_ in
* the SDSS r-band L_r,Ein_ (1)
real*4 e_Lr (nr__) ! (10+10Lsun) [0.05/0.07] Lr uncertainty
integer*4 sig (nr__) ! (km/s) [274/335] Velocity dispersion {sigma}_raw_
* measured in 4"x1.8" X-shooter IFU aperture
integer*4 e_sig (nr__) ! (km/s) sig uncertainty
integer*4 Sige (nr__) ! (km/s) [263/312] Aperture velocity dispersion
* {sigma}_e/2_; see section 4.4
integer*4 e_Sige (nr__) ! (km/s) Sige uncertainty
real*4 v_M_Lr_L (nr__) ! (Msun/Lsun) [4.7/5.5] Total M_Ein_/L_r,Ein_ (2)
real*4 e__M_Lr_L (nr__) ! (Msun/Lsun) (M/Lr)L uncertainty
real*4 v_M_Lr_D (nr__) ! (Msun/Lsun) ? Total projected M/L within {theta}_Ein_
* from stellar dynamical modeling only
real*4 e__M_Lr_D (nr__) ! (Msun/Lsun) ? (M/Lr)D uncertainty
real*4 v_M_Lr_L_E (nr__) ! (Msun/Lsun) [3.5/4.7] Stellar M*/L based on dark
* matter fractions from EAGLE
real*4 e__M_Lr_L_E(nr__) ! (Msun/Lsun) (M/Lr)L+E uncertainty
real*4 v_M_Lr_L_D (nr__) ! (Msun/Lsun) ? Stellar M*/L from joint lensing and
* dynamics model
real*4 e__M_Lr_L_D(nr__) ! (Msun/Lsun) ? (M/Lr)L+D uncertainty
real*4 v_M_Lr_MW (nr__) ! (Msun/Lsun) [3.6/4.1] Spectroscopic M*/L from Kroupa
* IMF
real*4 e__M_Lr_MW (nr__) ! (Msun/Lsun) (M/Lr)MW uncertainty
real*4 v_M_Lr_1PL (nr__) ! (Msun/Lsun) Spectroscopic M*/L from single power-law
* IMF at m<1M_{sun}_
real*4 e__M_Lr_1PL(nr__) ! (Msun/Lsun) (M/Lr)1PL negative uncertainty
real*4 E__M_Lr_1PL_1(nr__) ! (Msun/Lsun) (M/Lr)1PL positive uncertainty
real*4 v_M_Lr_2PL (nr__) ! (Msun/Lsun) Spectroscopic M*/L from double power-law
* IMF at m<1M_{sun}_
real*4 e__M_Lr_2PL(nr__) ! (Msun/Lsun) (M/Lr)2PL negative uncertainty
real*4 E__M_Lr_2PL_1(nr__) ! (Msun/Lsun) (M/Lr)2PL positive uncertainty
real*4 v_M_Lr_2PLc(nr__) ! (Msun/Lsun) Spectroscopic M*/L from double power-law
* with low-mass cutoff
real*4 e__M_Lr_2PLc(nr__) ! (Msun/Lsun) (M/Lr)2PLc negative uncertainty
real*4 E__M_Lr_2PLc_1(nr__) ! (Msun/Lsun) (M/Lr)2PLc positive uncertainty
real*4 v_M_Lr_np (nr__) ! (Msun/Lsun) [3.8/6.3] Spectroscopic M*/L,
* nonparametric IMF
real*4 e__M_Lr_np (nr__) ! (Msun/Lsun) (M/Lr)np negative uncertainty
real*4 E__M_Lr_np_1(nr__) ! (Msun/Lsun) (M/Lr)np positive uncertainty
real*4 aL_E (nr__) ! (Msun/Lsun) [0.9/1.2] Mass factor {alpha} using the
* lensing mass and EAGLE dark matter
* contribution (3)
real*4 e_aL_E (nr__) ! (Msun/Lsun) aL+E uncertainty
real*4 aL_D (nr__) ! (Msun/Lsun) ? Mass factor {alpha} from joint lensing
* and dynamical modeling (3)
real*4 e_aL_D (nr__) ! (Msun/Lsun) ? aL+D uncertainty
real*4 aL_noD (nr__) ! (Msun/Lsun) Total lensing mass; assumes no dark
* matter {alpha}_L+noDM_ (3)
real*4 e_aL_noD (nr__) ! (Msun/Lsun) aL+noD uncertainty
real*4 aD_noD (nr__) ! (Msun/Lsun) ? Total dynamical mass; assumes no dark
* matter {alpha}_D+noDM_ (3)
real*4 e_aD_noD (nr__) ! (Msun/Lsun) ? aD+noD uncertainty
real*4 a1PL (nr__) ! (Msun/Lsun) single power-law IMF at m<1M_{sun}_ (3)
real*4 e_a1PL (nr__) ! (Msun/Lsun) a1PL negative uncertainty
real*4 E_a1PL_1 (nr__) ! (Msun/Lsun) a1PL positive uncertainty
real*4 a2PL (nr__) ! (Msun/Lsun) double power-law IMF at m<1M_{sun}_ (3)
real*4 e_a2PL (nr__) ! (Msun/Lsun) a2PL negative uncertainty
real*4 E_a2PL_1 (nr__) ! (Msun/Lsun) a2PL positive uncertainty
real*4 a2PLc (nr__) ! (Msun/Lsun) double power-law with low-mass cutoff
* {alpha}_2PL+cut_ (3)
real*4 e_a2PLc (nr__) ! (Msun/Lsun) a2PLc negative uncertainty
real*4 E_a2PLc_1 (nr__) ! (Msun/Lsun) a2PLc positive uncertainty
real*4 anp (nr__) ! (Msun/Lsun) [1/1.6] nonparametric IMF
* {alpha}_non-p_ (3)
real*4 e_anp (nr__) ! (Msun/Lsun) anp negative uncertainty
real*4 E_anp_1 (nr__) ! (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 (nr__1) ! Galaxy name (1)
real*8 lambda (nr__1) ! (0.1nm) [3918.4/10543] Observed-frame wavelength
* in vacuum units (2)
real*8 Flux (nr__1) ! [0/211] Flux density in arbitrary units
real*8 e_Flux (nr__1) ! [0/3.1] The 1{sigma} uncertainty in Flux
integer*4 Flag (nr__1) ! [0/1] Mask pixel from fit when Flag=0
real*4 Res (nr__1) ! (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(i__),z(i__),Re(i__),theta(i__),Lr(i__),e_Lr(i__),
+ sig(i__),e_sig(i__),Sige(i__),e_Sige(i__),v_M_Lr_L(i__),
+ e__M_Lr_L(i__),v_M_Lr_D(i__),e__M_Lr_D(i__),v_M_Lr_L_E(i__),
+ e__M_Lr_L_E(i__),v_M_Lr_L_D(i__),e__M_Lr_L_D(i__),
+ v_M_Lr_MW(i__),e__M_Lr_MW(i__),v_M_Lr_1PL(i__),
+ e__M_Lr_1PL(i__),E__M_Lr_1PL_1(i__),v_M_Lr_2PL(i__),
+ e__M_Lr_2PL(i__),E__M_Lr_2PL_1(i__),v_M_Lr_2PLc(i__),
+ e__M_Lr_2PLc(i__),E__M_Lr_2PLc_1(i__),v_M_Lr_np(i__),
+ e__M_Lr_np(i__),E__M_Lr_np_1(i__),aL_E(i__),e_aL_E(i__),
+ aL_D(i__),e_aL_D(i__),aL_noD(i__),e_aL_noD(i__),aD_noD(i__),
+ e_aD_noD(i__),a1PL(i__),e_a1PL(i__),E_a1PL_1(i__),a2PL(i__),
+ e_a2PL(i__),E_a2PL_1(i__),a2PLc(i__),e_a2PLc(i__),
+ E_a2PLc_1(i__),anp(i__),e_anp(i__),E_anp_1(i__)
if(ar__(56:59) .EQ. '') v_M_Lr_D(i__) = rNULL__
if(ar__(61:64) .EQ. '') e__M_Lr_D(i__) = rNULL__
if(ar__(76:79) .EQ. '') v_M_Lr_L_D(i__) = rNULL__
if(ar__(81:84) .EQ. '') e__M_Lr_L_D(i__) = rNULL__
if(ar__(166:169) .EQ. '') aL_D(i__) = rNULL__
if(ar__(171:174) .EQ. '') e_aL_D(i__) = rNULL__
if(ar__(186:189) .EQ. '') aD_noD(i__) = rNULL__
if(ar__(191:194) .EQ. '') e_aD_noD(i__) = rNULL__
c ..............Just test output...........
write(6,1)
+ Name(i__),z(i__),Re(i__),theta(i__),Lr(i__),e_Lr(i__),
+ sig(i__),e_sig(i__),Sige(i__),e_Sige(i__),v_M_Lr_L(i__),
+ e__M_Lr_L(i__),v_M_Lr_D(i__),e__M_Lr_D(i__),v_M_Lr_L_E(i__),
+ e__M_Lr_L_E(i__),v_M_Lr_L_D(i__),e__M_Lr_L_D(i__),
+ v_M_Lr_MW(i__),e__M_Lr_MW(i__),v_M_Lr_1PL(i__),
+ e__M_Lr_1PL(i__),E__M_Lr_1PL_1(i__),v_M_Lr_2PL(i__),
+ e__M_Lr_2PL(i__),E__M_Lr_2PL_1(i__),v_M_Lr_2PLc(i__),
+ e__M_Lr_2PLc(i__),E__M_Lr_2PLc_1(i__),v_M_Lr_np(i__),
+ e__M_Lr_np(i__),E__M_Lr_np_1(i__),aL_E(i__),e_aL_E(i__),
+ aL_D(i__),e_aL_D(i__),aL_noD(i__),e_aL_noD(i__),aD_noD(i__),
+ e_aD_noD(i__),a1PL(i__),e_a1PL(i__),E_a1PL_1(i__),a2PL(i__),
+ e_a2PL(i__),E_a2PL_1(i__),a2PLc(i__),e_a2PLc(i__),
+ E_a2PLc_1(i__),anp(i__),e_anp(i__),E_anp_1(i__)
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(i__),lambda(i__),Flux(i__),e_Flux(i__),Flag(i__),
+ Res(i__)
c ..............Just test output...........
write(6,2)
+ Name_1(i__),lambda(i__),Flux(i__),e_Flux(i__),Flag(i__),
+ Res(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end