Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/600/A82 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-14
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/600/A82 VLTS. O giants and supergiants nitrogen abundances (Grin+, 2017)
*================================================================================
*The VLT-FLAMES Tarantula Survey.
*XXV. Surface nitrogen abundances of O-type giants and supergiants.
* Grin N.J., Ramirez-Agudelo O.H., de Koter A., Sana H., Puls J., Brott I.,
* Crowther P.A., Dufton P.L., Evans C.J., Graefener G., Herrero A.,
* Langer N., Lennon D.J., van Loon J.T., Markova N., de Mink S.E.,
* Najarro F., Schneider F.R.N., Taylor W.D., Tramper F., Vink J.S.,
* Walborn W.R.
* <Astron. Astrophys. 600, A82 (2017)>
* =2017A&A...600A..82G (SIMBAD/NED BibCode)
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'tablea1.dat' ! Table of results for the O-type giants and
supergiants
integer*4 nr__
parameter (nr__=72) ! Number of records
character*71 ar__ ! Full-size record
integer*4 VFTS ! [16/843] VLT-FLAMES Tarantula Survey identifier
character*1 n_VFTS ! [*] Note on VFTS (1)
character*23 SpType ! Morphological classification by Walborn et al.
* (2014, Cat. J/A+A/564/A40)
integer*4 vsini ! (km/s) Projected rotational velocity (2)
character*1 l_epsN ! Upper limit flag on epsN
real*4 epsN ! ([-]) Surface nitrogen abundance
* (=log(N_N/N_H)+12, see equation 1)
real*4 e_epsN ! ([-]) ? Error on surface nitrogen abundance
integer*4 Nlines ! ?=- Number of lines used for measurement (3)
real*4 YHe ! Surface Helium mass fraction (2)
real*4 loggc ! ([cm/s2]) Logarithmic surface gravity corrected for
* rotation (2)
real*4 Teff ! (kK) Effective Temperature in kilo Kelvin (2)
real*4 logL ! ([Lsun]) Logarithmic luminosity in terms of solar (2)
integer*4 Mass ! (Msun) Mass estimate in solar masses (2)(4)
character*1 EW ! [*] * indicates equivalent width in table2
*Note (1): Note as follows:
* * = for newly detected binaries and are excluded from quantitative
* comparison to theory (see Sect. 3.4).
*Note (2): Parameters determined by Ramirez-Agudelo et al., (2016, in prep.).
*Note (3): A '-' is used in case of an upper limit on the nitrogen abundance
*Note (4): Masses are determined using the Bayesian tool BONNSAI
* (Schneider et al., 2014A&A...570A..66S).
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'tablea2.dat' ! Table of results for the O-type stars without
assigned luminosity class
integer*4 nr__1
parameter (nr__1=31) ! Number of records
character*40 ar__1 ! Full-size record
integer*4 VFTS_1 ! [16/843] VLT-FLAMES Tarantula Survey identifier
character*1 n_VFTS_1 ! [*] Note on VFTS (1)
character*11 SpType_1 ! Morphological classification by Walborn+ (2014)
integer*4 vsini_1 ! (km/s) Projected rotational velocity (2)
real*4 epsN_1 ! ([-]) Surface nitrogen abundance
* (= log(N_N/N_H)+12, see equation 1)
character*1 l_epsN_1 ! Upper limit on the nitrogen abundance
real*4 e_epsN_1 ! ([-]) ? Error on surface nitrogen abundance
integer*4 Nlines_1 ! ?=- Number of lines used for measurement (3)
real*4 loggc_1 ! ([cm/s2]) Logarithmic surface gravity corrected for
character*1 EW_1 ! [*] * indicates equivalent widths in table2
*Note (1): Note as follows:
* * = for poor quality fits and are excluded from quantitative
* comparison to theory (see Sect. 3.4).
*Note (2): Parameters determined by Ramirez-Agudelo et al. (2016, in prep.).
*Note (3): A '-' is used in case of an upper limit on the nitrogen abundance.
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table2.dat' ! Equivalent widths
integer*4 nr__2
parameter (nr__2=41) ! Number of records
character*195 ar__2 ! Full-size record
integer*4 VFTS_2 ! [16/843] VLT-FLAMES Tarantula Survey
* identifier
real*4 EWNII3995 ! (0.1pm) ?=- Equivalent width of the NII3995 line (1)
real*4 e_EWNII3995 ! (0.1pm) ?=- Error on EWNII3995 line (1)
real*4 EWNII4630 ! (0.1pm) ?=- Equivalent width of the NII4630 line (1)
real*4 e_EWNII4630 ! (0.1pm) ?=- Error on EWNII4630 line (1)
real*4 EWNIII4097 ! (0.1pm) ?=- Equivalent width of the NIII4097 line
* (1) (2)
real*4 e_EWNIII4097 ! (0.1pm) ?=- Error on EWNIII4097 line (1)
real*4 EWNIII4195 ! (0.1pm) ?=- Equivalent width of the NIII4195 line (1)
real*4 e_EWNIII4195 ! (0.1pm) ?=- Error on EWNIII4195 line (1)
real*4 EWNIII4379 ! (0.1pm) ?=- Equivalent width of the NIII4379 line (1)
real*4 e_EWNIII4379 ! (0.1pm) ?=- Error on EWNIII4379 line (1)
real*4 EWNIII4511 ! (0.1pm) ?=- Equivalent width of the NIII4511 line (1)
real*4 e_EWNIII4511 ! (0.1pm) ?=- Error on EWNIII4511 line (1)
real*4 EWNIII4515 ! (0.1pm) ?=- Equivalent width of the NIII4515 line (1)
real*4 e_EWNIII4515 ! (0.1pm) ?=- Error on EWNIII4515 line (1)
real*4 EWNIII4518 ! (0.1pm) ?=- Equivalent width of the NIII4518 line (1)
real*4 e_EWNIII4518 ! (0.1pm) ?=- Error on EWNIII4518 line (1)
real*4 EWNIII4523 ! (0.1pm) ?=- Equivalent width of the NIII4523 line (1)
real*4 e_EWNIII4523 ! (0.1pm) ?=- Error on EWNIII4523 line (1)
real*4 EWNIII4535 ! (0.1pm) ?=- Equivalent width of the NIII4535 line (1)
real*4 e_EWNIII4535 ! (0.1pm) ?=- Error on EWNIII4535 line (1)
real*4 EWNIII4634 ! (0.1pm) ?=- Equivalent width of the NIII4634 line (1)
real*4 e_EWNIII4634 ! (0.1pm) ?=- Error on EWNIII4634 line (1)
real*4 EWNIII4640 ! (0.1pm) ?=- Equivalent width of the NIII4640 line (1)
real*4 e_EWNIII4640 ! (0.1pm) ?=- Error on EWNIII4640 line (1)
real*4 EWNIIIqua ! (0.1pm) ?=- Combined equivalent width of the
* NIII4511-4515-4518 lines (1)
real*4 e_EWNIIIqua ! (0.1pm) ?=- Error on EWNIIIqua (1)
real*4 EWNIV4058 ! (0.1pm) ?=- Equivalent width of the NIV4058 line (1)
real*4 e_EWNIV4058 ! (0.1pm) ?=- Error on EWNIV4058 line (1)
real*4 EWNV4603 ! (0.1pm) ?=- Equivalent width of the NV4603 line (1)
real*4 e_EWNV4603 ! (0.1pm) ?=- Error on EWNV4603 line (1)
real*4 EWNV4619 ! (0.1pm) ?=- Equivalent width of the NV4619 line (1)
real*4 e_EWNV4619 ! (0.1pm) ?=- Error on EWNV4619 line (1)
*Note (1): 0.1pm = 1e-3 Angstrom, negative equivalent width values indicate
* emission.
* A '---' indicates the line was not used in the analysis.
*Note (2): Equivalent width as measured after dividing the observed profile
* by a Lorentzian fit to the wing of Hdelta (see Sect. 3.2).
C=============================================================================
C Loading file 'tablea1.dat' ! Table of results for the O-type giants and
* supergiants
C Format for file interpretation
1 format(
+ I3,A1,1X,A23,1X,I3,1X,A1,F4.2,1X,F4.2,1X,I1,1X,F4.2,1X,F4.2,
+ 1X,F5.2,1X,F4.2,1X,I2,1X,A1)
C Effective file loading
open(unit=1,status='old',file=
+'tablea1.dat')
write(6,*) '....Loading file: tablea1.dat'
do i__=1,72
read(1,'(A71)')ar__
read(ar__,1)
+ VFTS,n_VFTS,SpType,vsini,l_epsN,epsN,e_epsN,Nlines,YHe,loggc,
+ Teff,logL,Mass,EW
if(ar__(40:43) .EQ. '') e_epsN = rNULL__
if (Nlines .EQ. 45) Nlines = iNULL__
c ..............Just test output...........
write(6,1)
+ VFTS,n_VFTS,SpType,vsini,l_epsN,epsN,e_epsN,Nlines,YHe,loggc,
+ Teff,logL,Mass,EW
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'tablea2.dat' ! Table of results for the O-type stars without
* assigned luminosity class
C Format for file interpretation
2 format(
+ I3,A1,1X,A11,1X,I3,1X,F4.2,1X,A1,F4.2,1X,I1,1X,F4.2,1X,A1)
C Effective file loading
open(unit=1,status='old',file=
+'tablea2.dat')
write(6,*) '....Loading file: tablea2.dat'
do i__=1,31
read(1,'(A40)')ar__1
read(ar__1,2)
+ VFTS_1,n_VFTS_1,SpType_1,vsini_1,epsN_1,l_epsN_1,e_epsN_1,
+ Nlines_1,loggc_1,EW_1
if(ar__1(28:31) .EQ. '') e_epsN_1 = rNULL__
if (Nlines_1 .EQ. 45) Nlines_1 = iNULL__
c ..............Just test output...........
write(6,2)
+ VFTS_1,n_VFTS_1,SpType_1,vsini_1,epsN_1,l_epsN_1,e_epsN_1,
+ Nlines_1,loggc_1,EW_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table2.dat' ! Equivalent widths
C Format for file interpretation
3 format(
+ I3,3X,F4.1,2X,F3.1,3X,F4.1,1X,F4.1,2X,F5.1,1X,F4.1,3X,F4.1,2X,
+ F3.1,2X,F5.1,1X,F4.1,2X,F5.1,1X,F4.1,2X,F5.1,1X,F4.1,3X,F4.1,
+ 2X,F3.1,3X,F4.1,2X,F3.1,3X,F4.1,2X,F3.1,1X,F6.1,1X,F4.1,1X,
+ F6.1,1X,F4.1,2X,F5.1,1X,F4.1,1X,F6.1,2X,F3.1,2X,F5.1,2X,F3.1,
+ 2X,F5.1,2X,F3.1)
C Effective file loading
open(unit=1,status='old',file=
+'table2.dat')
write(6,*) '....Loading file: table2.dat'
do i__=1,41
read(1,'(A195)')ar__2
read(ar__2,3)
+ VFTS_2,EWNII3995,e_EWNII3995,EWNII4630,e_EWNII4630,EWNIII4097,
+ e_EWNIII4097,EWNIII4195,e_EWNIII4195,EWNIII4379,e_EWNIII4379,
+ EWNIII4511,e_EWNIII4511,EWNIII4515,e_EWNIII4515,EWNIII4518,
+ e_EWNIII4518,EWNIII4523,e_EWNIII4523,EWNIII4535,e_EWNIII4535,
+ EWNIII4634,e_EWNIII4634,EWNIII4640,e_EWNIII4640,EWNIIIqua,
+ e_EWNIIIqua,EWNIV4058,e_EWNIV4058,EWNV4603,e_EWNV4603,
+ EWNV4619,e_EWNV4619
if (idig(ar__2(7:10)).EQ.0) EWNII3995 = rNULL__
if (idig(ar__2(13:15)).EQ.0) e_EWNII3995 = rNULL__
if (idig(ar__2(19:22)).EQ.0) EWNII4630 = rNULL__
if (idig(ar__2(24:27)).EQ.0) e_EWNII4630 = rNULL__
if (idig(ar__2(30:34)).EQ.0) EWNIII4097 = rNULL__
if (idig(ar__2(36:39)).EQ.0) e_EWNIII4097 = rNULL__
if (idig(ar__2(43:46)).EQ.0) EWNIII4195 = rNULL__
if (idig(ar__2(49:51)).EQ.0) e_EWNIII4195 = rNULL__
if (idig(ar__2(54:58)).EQ.0) EWNIII4379 = rNULL__
if (idig(ar__2(60:63)).EQ.0) e_EWNIII4379 = rNULL__
if (idig(ar__2(66:70)).EQ.0) EWNIII4511 = rNULL__
if (idig(ar__2(72:75)).EQ.0) e_EWNIII4511 = rNULL__
if (idig(ar__2(78:82)).EQ.0) EWNIII4515 = rNULL__
if (idig(ar__2(84:87)).EQ.0) e_EWNIII4515 = rNULL__
if (idig(ar__2(91:94)).EQ.0) EWNIII4518 = rNULL__
if (idig(ar__2(97:99)).EQ.0) e_EWNIII4518 = rNULL__
if (idig(ar__2(103:106)).EQ.0) EWNIII4523 = rNULL__
if (idig(ar__2(109:111)).EQ.0) e_EWNIII4523 = rNULL__
if (idig(ar__2(115:118)).EQ.0) EWNIII4535 = rNULL__
if (idig(ar__2(121:123)).EQ.0) e_EWNIII4535 = rNULL__
if (idig(ar__2(125:130)).EQ.0) EWNIII4634 = rNULL__
if (idig(ar__2(132:135)).EQ.0) e_EWNIII4634 = rNULL__
if (idig(ar__2(137:142)).EQ.0) EWNIII4640 = rNULL__
if (idig(ar__2(144:147)).EQ.0) e_EWNIII4640 = rNULL__
if (idig(ar__2(150:154)).EQ.0) EWNIIIqua = rNULL__
if (idig(ar__2(156:159)).EQ.0) e_EWNIIIqua = rNULL__
if (idig(ar__2(161:166)).EQ.0) EWNIV4058 = rNULL__
if (idig(ar__2(169:171)).EQ.0) e_EWNIV4058 = rNULL__
if (idig(ar__2(174:178)).EQ.0) EWNV4603 = rNULL__
if (idig(ar__2(181:183)).EQ.0) e_EWNV4603 = rNULL__
if (idig(ar__2(186:190)).EQ.0) EWNV4619 = rNULL__
if (idig(ar__2(193:195)).EQ.0) e_EWNV4619 = rNULL__
c ..............Just test output...........
write(6,3)
+ VFTS_2,EWNII3995,e_EWNII3995,EWNII4630,e_EWNII4630,EWNIII4097,
+ e_EWNIII4097,EWNIII4195,e_EWNIII4195,EWNIII4379,e_EWNIII4379,
+ EWNIII4511,e_EWNIII4511,EWNIII4515,e_EWNIII4515,EWNIII4518,
+ e_EWNIII4518,EWNIII4523,e_EWNIII4523,EWNIII4535,e_EWNIII4535,
+ EWNIII4634,e_EWNIII4634,EWNIII4640,e_EWNIII4640,EWNIIIqua,
+ e_EWNIIIqua,EWNIV4058,e_EWNIV4058,EWNV4603,e_EWNV4603,
+ EWNV4619,e_EWNV4619
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