Conversion of standardized ReadMe file for
file /./ftp/cats/J/MNRAS/423/122 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-17
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/MNRAS/423/122 Abundances of 93 solar-type Kepler targets (Bruntt+, 2012)
*================================================================================
*Accurate fundamental parameters and detailed abundance patterns from
*spectroscopy of 93 solar-type Kepler targets.
* Bruntt H., Basu S., Smalley B., Chaplin W.J., Verner G.A., Bedding T.R.,
* Catala C., Gazzano J.-C., Molenda-Zakowicz J., Thygesen A.O.,
* Uytterhoeven K., Hekker S., Huber D., Karoff C., Mathur S., Mosser B.,
* Appourchaux T., Campante T.L., Elsworth Y., Garcia R.A., Handberg R.,
* Metcalfe T.S., Quirion P.-O., Regulo C., Roxburgh I.W., Stello D.,
* Christensen-Dalsgaard J., Kawaler S.D., Kjeldsen H., Morris R.L.,
* Quintana E.V., Sanderfer D.T.
* <Mon. Not. R. Astron. Soc., 423, 122-131 (2012)>
* =2012MNRAS.423..122B
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table1.dat' ! Atomic data used in the spectral analysis
integer*4 nr__
parameter (nr__=1042) ! Number of records
character*37 ar__ ! Full-size record
character*4 El ! Element with ionization state
real*8 lambda ! (0.1nm) wavelength {lambda} ({AA})
real*4 Ep ! (eV) excitation potential
real*4 loggfV ! ([-]) Oscillator strength from VALD
real*8 loggf ! ([-]) Adjusted oscillator strength value
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table3.dat' ! Observed targets and their properties
integer*4 nr__1
parameter (nr__1=93) ! Number of records
character*96 ar__1 ! Full-size record
integer*4 KIC ! KIC number (Cat. V/133)
integer*4 HIP ! ? HIP number (Cat. I/311)
integer*4 HD ! ? HD number (Cat. III/135)
real*4 VTmag ! (mag) Tycho V magnitude
real*4 VT_K ! (mag) VT-Ks colour index
real*4 E_B_V ! (mag) ? B-V colour excess
real*4 e_E_B_V ! (mag) ? rms uncertainty on E(B-V)
integer*4 Teff1 ! (K) ? Effective temperature from KIC
real*4 logg1 ! ([cm/s2]) ? Gravity surface from KIC
real*4 v_Fe_H_1 ! ([Sun]) ? Metallicity from KIC
integer*4 Teff2 ! (K) Effective temperature from spectroscopy
* (+/-70K)
real*4 logg2 ! ([cm/s2]) Gravity surface from spectroscopy (+/-0.08dex)
integer*4 Teff ! (K) Final (asteroseismic) effective temperature
* (+/-60K)
real*4 logg ! ([cm/s2]) Final (asteroseismic) gravity surface
* (+/-0.03dex)
real*4 v_Fe_H_ ! ([-]) Final (asteroseismic) metallicity (+/-0.06dex)
real*4 xi ! (km/s) Final (asteroseismic) microturbulent velocity
* {xi} (+/-0.06km/s) (1)
real*4 vsini ! (km/s) Final (asteroseismic) rotational velocity (1)
*Note (1): We only list the `asteroseismic' values of vsini and xi, since
* the `spectroscopic' values are almost identical.
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table4.dat' ! Abundances relative to the Sun and the number of
lines used for 13 elements
integer*4 nr__2
parameter (nr__2=186) ! Number of records
character*218 ar__2 ! Full-size record
integer*4 KIC_1 ! KIC number (1)
integer*4 Ion ! [1/2] Ionisation state:
* 1 for neutral, 2 for singly-ionized
real*4 Li ! ([Sun]) ?=- Lithum abundance (2)
real*4 e_Li ! ([Sun]) ?=- rms uncertainty on Li
integer*4 o_Li ! ?=- Number of lines used for Li
real*4 C ! ([Sun]) ?=- Carbon abundance (2)
real*4 e_C ! ([Sun]) ?=- rms uncertainty on C
integer*4 o_C ! ?=- Number of lines used for C
real*4 N ! ([Sun]) ?=- Nitrogen abundance (2)
real*4 e_N ! ([Sun]) ?=- rms uncertainty on N
integer*4 o_N ! ?=- Number of lines used for N
real*4 O ! ([Sun]) ?=- Oxygen abundance (2)
real*4 e_O ! ([Sun]) ?=- rms uncertainty on O
integer*4 o_O ! ?=- Number of lines used for O
real*4 Na ! ([Sun]) ?=- Sodium abundance (2)
real*4 e_Na ! ([Sun]) ?=- rms uncertainty on Na
integer*4 o_Na ! ?=- Number of lines used for Na
real*4 Mg ! ([Sun]) ?=- Magnesium abundance (2)
real*4 e_Mg ! ([Sun]) ?=- rms uncertainty on Mg
integer*4 o_Mg ! ?=- Number of lines used for Mg
real*4 Si ! ([Sun]) ?=- Silicium abundance (2)
real*4 e_Si ! ([Sun]) ?=- rms uncertainty on Si
integer*4 o_Si ! ?=- Number of lines used for Si
real*4 Ca ! ([Sun]) ?=- Calcium abundance (2)
real*4 e_Ca ! ([Sun]) ?=- rms uncertainty on Ca
integer*4 o_Ca ! ?=- Number of lines used for Ca
real*4 Ti ! ([Sun]) ?=- Titanium abundance (2)
real*4 e_Ti ! ([Sun]) ?=- rms uncertainty on Ti
integer*4 o_Ti ! ?=- Number of lines used for Ti
real*4 V ! ([Sun]) ?=- Vanadium abundance (2)
real*4 e_V ! ([Sun]) ?=- rms uncertainty on V
integer*4 o_V ! ?=- Number of lines used for V
real*4 Cr ! ([Sun]) ?=- Chromium abundance (2)
real*4 e_Cr ! ([Sun]) ?=- rms uncertainty on Cr
integer*4 o_Cr ! ?=- Number of lines used for Cr
real*4 Fe ! ([Sun]) ?=- Iron abundance (2)
real*4 e_Fe ! ([Sun]) ?=- rms uncertainty on Fe
integer*4 o_Fe ! ?=- Number of lines used for Fe
real*4 Ni ! ([Sun]) ?=- Nickel abundance (2)
real*4 e_Ni ! ([Sun]) ?=- rms uncertainty on Ni
integer*4 o_Ni ! ?=- Number of lines used for Ni
*Note (1): For each star there are two rows: One for the neutral species and
* one for the singly-ionized species (for example Fe 1 and Fe 2).
*Note (2): All abundances are relative to the Solar values.
* "---" means that no lines were available to determine the abundance.
C=============================================================================
C Loading file 'table1.dat' ! Atomic data used in the spectral analysis
C Format for file interpretation
1 format(1X,A4,2X,F8.3,1X,F6.3,1X,F6.3,1X,F7.3)
C Effective file loading
open(unit=1,status='old',file=
+'table1.dat')
write(6,*) '....Loading file: table1.dat'
do i__=1,1042
read(1,'(A37)')ar__
read(ar__,1)El,lambda,Ep,loggfV,loggf
c ..............Just test output...........
write(6,1)El,lambda,Ep,loggfV,loggf
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table3.dat' ! Observed targets and their properties
C Format for file interpretation
2 format(
+ I8,1X,I5,1X,I6,1X,F6.3,1X,F5.3,1X,F4.2,1X,F4.2,1X,I4,1X,F4.2,
+ 1X,F5.2,1X,I4,1X,F4.2,1X,I4,1X,F4.2,1X,F5.2,1X,F4.2,1X,F4.1)
C Effective file loading
open(unit=1,status='old',file=
+'table3.dat')
write(6,*) '....Loading file: table3.dat'
do i__=1,93
read(1,'(A96)')ar__1
read(ar__1,2)
+ KIC,HIP,HD,VTmag,VT_K,E_B_V,e_E_B_V,Teff1,logg1,v_Fe_H_1,
+ Teff2,logg2,Teff,logg,v_Fe_H_,xi,vsini
if(ar__1(10:14) .EQ. '') HIP = iNULL__
if(ar__1(16:21) .EQ. '') HD = iNULL__
if(ar__1(36:39) .EQ. '') E_B_V = rNULL__
if(ar__1(41:44) .EQ. '') e_E_B_V = rNULL__
if(ar__1(46:49) .EQ. '') Teff1 = iNULL__
if(ar__1(51:54) .EQ. '') logg1 = rNULL__
if(ar__1(56:60) .EQ. '') v_Fe_H_1 = rNULL__
c ..............Just test output...........
write(6,2)
+ KIC,HIP,HD,VTmag,VT_K,E_B_V,e_E_B_V,Teff1,logg1,v_Fe_H_1,
+ Teff2,logg2,Teff,logg,v_Fe_H_,xi,vsini
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table4.dat' ! Abundances relative to the Sun and the number of
* lines used for 13 elements
C Format for file interpretation
3 format(
+ I8,1X,I1,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,
+ 2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,
+ F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,
+ I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,
+ F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3,1X,F5.2,2X,F4.2,1X,I3)
C Effective file loading
open(unit=1,status='old',file=
+'table4.dat')
write(6,*) '....Loading file: table4.dat'
do i__=1,186
read(1,'(A218)')ar__2
read(ar__2,3)
+ KIC_1,Ion,Li,e_Li,o_Li,C,e_C,o_C,N,e_N,o_N,O,e_O,o_O,Na,e_Na,
+ o_Na,Mg,e_Mg,o_Mg,Si,e_Si,o_Si,Ca,e_Ca,o_Ca,Ti,e_Ti,o_Ti,V,
+ e_V,o_V,Cr,e_Cr,o_Cr,Fe,e_Fe,o_Fe,Ni,e_Ni,o_Ni
if (idig(ar__2(12:16)).EQ.0) Li = rNULL__
if (idig(ar__2(19:22)).EQ.0) e_Li = rNULL__
if (o_Li .EQ. 45) o_Li = iNULL__
if (idig(ar__2(28:32)).EQ.0) C = rNULL__
if (idig(ar__2(35:38)).EQ.0) e_C = rNULL__
if (o_C .EQ. 45) o_C = iNULL__
if (idig(ar__2(44:48)).EQ.0) N = rNULL__
if (idig(ar__2(51:54)).EQ.0) e_N = rNULL__
if (o_N .EQ. 45) o_N = iNULL__
if (idig(ar__2(60:64)).EQ.0) O = rNULL__
if (idig(ar__2(67:70)).EQ.0) e_O = rNULL__
if (o_O .EQ. 45) o_O = iNULL__
if (idig(ar__2(76:80)).EQ.0) Na = rNULL__
if (idig(ar__2(83:86)).EQ.0) e_Na = rNULL__
if (o_Na .EQ. 45) o_Na = iNULL__
if (idig(ar__2(92:96)).EQ.0) Mg = rNULL__
if (idig(ar__2(99:102)).EQ.0) e_Mg = rNULL__
if (o_Mg .EQ. 45) o_Mg = iNULL__
if (idig(ar__2(108:112)).EQ.0) Si = rNULL__
if (idig(ar__2(115:118)).EQ.0) e_Si = rNULL__
if (o_Si .EQ. 45) o_Si = iNULL__
if (idig(ar__2(124:128)).EQ.0) Ca = rNULL__
if (idig(ar__2(131:134)).EQ.0) e_Ca = rNULL__
if (o_Ca .EQ. 45) o_Ca = iNULL__
if (idig(ar__2(140:144)).EQ.0) Ti = rNULL__
if (idig(ar__2(147:150)).EQ.0) e_Ti = rNULL__
if (o_Ti .EQ. 45) o_Ti = iNULL__
if (idig(ar__2(156:160)).EQ.0) V = rNULL__
if (idig(ar__2(163:166)).EQ.0) e_V = rNULL__
if (o_V .EQ. 45) o_V = iNULL__
if (idig(ar__2(172:176)).EQ.0) Cr = rNULL__
if (idig(ar__2(179:182)).EQ.0) e_Cr = rNULL__
if (o_Cr .EQ. 45) o_Cr = iNULL__
if (idig(ar__2(188:192)).EQ.0) Fe = rNULL__
if (idig(ar__2(195:198)).EQ.0) e_Fe = rNULL__
if (o_Fe .EQ. 45) o_Fe = iNULL__
if (idig(ar__2(204:208)).EQ.0) Ni = rNULL__
if (idig(ar__2(211:214)).EQ.0) e_Ni = rNULL__
if (o_Ni .EQ. 45) o_Ni = iNULL__
c ..............Just test output...........
write(6,3)
+ KIC_1,Ion,Li,e_Li,o_Li,C,e_C,o_C,N,e_N,o_N,O,e_O,o_O,Na,e_Na,
+ o_Na,Mg,e_Mg,o_Mg,Si,e_Si,o_Si,Ca,e_Ca,o_Ca,Ti,e_Ti,o_Ti,V,
+ e_V,o_V,Cr,e_Cr,o_Cr,Fe,e_Fe,o_Fe,Ni,e_Ni,o_Ni
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