Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/613/A65 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 2024-Apr-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/A+A/613/A65 Spectroscopic parameters of O-type stars (Holgado+, 2018) *================================================================================ *The IACOB project. *V. Spectroscopic parameters of the O-type stars in the modern grid of standards *for spectral classification. * Holgado G., Simon-Diaz S., Barba R.H., Puls J., Herrero A., Castro N., * Garcia M., Maiz Apellaniz J., Negueruela I., Sabin-Sanjulian C. * <Astron. Astrophys. 613, A65 (2018)> * =2018A&A...613A..65H (SIMBAD/NED BibCode) C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'tabled1.dat' ! Complete list of stars considered in this work integer*4 nr__ parameter (nr__=131) ! Number of records character*158 ar__ ! Full-size record character*17 Target (nr__) ! Name of the star character*14 OName (nr__) ! Alternative name of the star character*4 SpType (nr__) ! Spectral type character*5 LumClass (nr__) ! Luminosity class integer*4 NOT (nr__) ! Number of available spectra with NOT integer*4 Mercator (nr__) ! Number of available spectra with Mercator integer*4 FEROS_MPI2_2(nr__) ! Number of available spectra with FEROS integer*4 CAFE (nr__) ! Number of available spectra with CAFE character*37 SpecUsed (nr__) ! Spectra used in the analysis real*8 JD (nr__) ! (d) ?=- Julian date (JD-2450000) integer*4 S_Nc (nr__) ! ?=0 Signal-to-noise of the continuum character*18 Line (nr__) ! Line used for the broadening parameter integer*4 S_Nl (nr__) ! ?=- Signal-to-noise of the line integer*4 EW (nr__) ! (0.1pm) ?=- Equivalent width of the line (m{AA}) integer*4 RV (nr__) ! (km/s) ?=- Radial velocity integer*4 e_RV (nr__) ! (km/s) ? rms uncertainty on RV real*4 RVlit (nr__) ! (km/s) ?=- Radial velocity in literature real*4 e_RVlit (nr__) ! (km/s) ? rms uncertainty on RVlit character*2 r_RVlit (nr__) ! [* ] Reference for RVlit (1) *Note (1): References as follows: * * = Values from Gontcharov et al. (2006AstL...32..759G, Cat. III/252) * ** = Values from Kharchenko et al. (2007AN....328..889K, Cat. III/254) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'tabled2.dat' ! Spectroscopic parameters for the complete sample of stars integer*4 nr__1 parameter (nr__1=131) ! Number of records character*128 ar__1 ! Full-size record character*17 Target_1 (nr__1) ! Name of the star character*1 n_Target (nr__1) ! [a] Note (1) character*5 SpType_1 (nr__1) ! Spectral type character*11 LumClass_1 (nr__1) ! Luminosity class integer*4 vsini (nr__1) ! (km/s) ?=- Projected rotational velocity integer*4 vmac (nr__1) ! (km/s) ?=- Macroturbulent velocity character*1 l_Teff (nr__1) ! Limit flag on Teff real*4 Teff (nr__1) ! (kK) ?=- Effective temperature real*4 e_Teff (nr__1) ! (kK) ? rms uncertainty on Teff character*1 l_logg (nr__1) ! Limit flag on logg real*4 logg (nr__1) ! ([cm/s2]) ?=- logarithm of the surface gravity real*4 e_logg (nr__1) ! ([cm/s2]) ? rms uncertainty on logg character*1 l_loggt (nr__1) ! Limit flag on loggt real*4 loggt (nr__1) ! ([cm/s2]) ?=- Gravity corrected from rotational * effects (2) real*4 e_loggt (nr__1) ! ([cm/s2]) ? rms uncertainty on loggt character*1 l_Y_He (nr__1) ! Limit flag on Y(He) real*4 Y_He (nr__1) ! ([-]) ?=- Helium abundance real*4 e_Y_He (nr__1) ! ([-]) ? rms uncertainty on Y(He) character*1 l_vmic (nr__1) ! Limit flag on vmic real*4 vmic (nr__1) ! (km/s) ?=- Microturbulence velocity or lower value * of microturbulence velocity interval integer*4 e_vmic (nr__1) ! (km/s) ? rms uncertainty on vmic real*4 Bvmic (nr__1) ! (km/s) ? Upper value of microturbulence velocity * interval character*1 l_logQ (nr__1) ! Limit flag on logQ real*4 logQ (nr__1) ! ?=- Wind-strength parameter real*4 e_logQ (nr__1) ! ? rms uncertainty on logQ character*2 Qual (nr__1) ! Quality flag (Q1-Q4) (3) character*7 Notes (nr__1) ! Multi-epoch notes (4) character*4 OWNNote (nr__1) ! OWN multi-epoch notes (4) *Note (1): Note as follows: * a = For these three stars the luminosity class has changed from III to IV in * the new GOSSS OB2500 v3.0 grid of standards (Maiz Apellaniz et al., * 2016ApJS..224....4M) *Note (2): g_true_=g+g_cent_, g_cent_~(V_rot_*sini)^2^)/R* *Note (3): Quality flag as follows: * Q1 = acceptable fit with no major remarks, * Q2 = HeII {lambda}4686 appearing in the observed spectrum as an inverse * P-Cygni profile or showing a double peak * Q3 = H{alpha} and HeII {lambda}4686 not fitting at the same time * Q4 = no HeI available to properly constrain the effective temperature of * the star *Note (4): Notes as follows: * C = Constant * LPV = Line profile variability * WVa = Wind variable * WVe = Wind variable * MD0 = More Data needed, only 0 spectra available * MD1 = More Data needed, only 1 spectra available * MD2 = More Data needed, only 2 spectra available * SB1 = single-line eclipsing binary * SB2 = double-line eclipsing binary * VAR = Variable * VAR? = Variable ? C============================================================================= C Loading file 'tabled1.dat' ! Complete list of stars considered in this work C Format for file interpretation 1 format( + A17,3X,A14,1X,A4,1X,A5,1X,I3,1X,I3,1X,I2,1X,I2,1X,A37,1X,F8.3, + 1X,I3,1X,A18,1X,I3,1X,I3,1X,I4,1X,I1,1X,F6.1,1X,F4.1,A2) C Effective file loading open(unit=1,status='old',file= +'tabled1.dat') write(6,*) '....Loading file: tabled1.dat' do i__=1,131 read(1,'(A158)')ar__ read(ar__,1) + Target(i__),OName(i__),SpType(i__),LumClass(i__),NOT(i__), + Mercator(i__),FEROS_MPI2_2(i__),CAFE(i__),SpecUsed(i__), + JD(i__),S_Nc(i__),Line(i__),S_Nl(i__),EW(i__),RV(i__), + e_RV(i__),RVlit(i__),e_RVlit(i__),r_RVlit(i__) if (idig(ar__(99:106)).EQ.0) JD(i__) = rNULL__ if (S_Nl(i__) .EQ. 45) S_Nl(i__) = iNULL__ if (EW(i__) .EQ. 45) EW(i__) = iNULL__ if (RV(i__) .EQ. 45) RV(i__) = iNULL__ if(ar__(144:144) .EQ. '') e_RV(i__) = iNULL__ if (idig(ar__(146:151)).EQ.0) RVlit(i__) = rNULL__ if(ar__(153:156) .EQ. '') e_RVlit(i__) = rNULL__ c ..............Just test output........... write(6,1) + Target(i__),OName(i__),SpType(i__),LumClass(i__),NOT(i__), + Mercator(i__),FEROS_MPI2_2(i__),CAFE(i__),SpecUsed(i__), + JD(i__),S_Nc(i__),Line(i__),S_Nl(i__),EW(i__),RV(i__), + e_RV(i__),RVlit(i__),e_RVlit(i__),r_RVlit(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'tabled2.dat' ! Spectroscopic parameters for the complete * sample of stars C Format for file interpretation 2 format( + A17,A1,1X,A5,1X,A11,1X,I3,1X,I3,1X,A1,F4.1,1X,F3.1,1X,A1,F4.2, + 1X,F4.2,1X,A1,F4.2,1X,F4.2,1X,A1,F4.2,1X,F4.2,1X,A1,F4.1,2X, + I1,1X,F4.1,1X,A1,F5.1,1X,F3.1,1X,A2,1X,A7,1X,A4) C Effective file loading open(unit=1,status='old',file= +'tabled2.dat') write(6,*) '....Loading file: tabled2.dat' do i__=1,131 read(1,'(A128)')ar__1 read(ar__1,2) + Target_1(i__),n_Target(i__),SpType_1(i__),LumClass_1(i__), + vsini(i__),vmac(i__),l_Teff(i__),Teff(i__),e_Teff(i__), + l_logg(i__),logg(i__),e_logg(i__),l_loggt(i__),loggt(i__), + e_loggt(i__),l_Y_He(i__),Y_He(i__),e_Y_He(i__),l_vmic(i__), + vmic(i__),e_vmic(i__),Bvmic(i__),l_logQ(i__),logQ(i__), + e_logQ(i__),Qual(i__),Notes(i__),OWNNote(i__) if (vsini(i__) .EQ. 45) vsini(i__) = iNULL__ if (vmac(i__) .EQ. 45) vmac(i__) = iNULL__ if (idig(ar__1(47:50)).EQ.0) Teff(i__) = rNULL__ if(ar__1(52:54) .EQ. '') e_Teff(i__) = rNULL__ if (idig(ar__1(57:60)).EQ.0) logg(i__) = rNULL__ if(ar__1(62:65) .EQ. '') e_logg(i__) = rNULL__ if (idig(ar__1(68:71)).EQ.0) loggt(i__) = rNULL__ if(ar__1(73:76) .EQ. '') e_loggt(i__) = rNULL__ if (idig(ar__1(79:82)).EQ.0) Y_He(i__) = rNULL__ if(ar__1(84:87) .EQ. '') e_Y_He(i__) = rNULL__ if (idig(ar__1(90:93)).EQ.0) vmic(i__) = rNULL__ if(ar__1(96:96) .EQ. '') e_vmic(i__) = iNULL__ if(ar__1(98:101) .EQ. '') Bvmic(i__) = rNULL__ if (idig(ar__1(104:108)).EQ.0) logQ(i__) = rNULL__ if(ar__1(110:112) .EQ. '') e_logQ(i__) = rNULL__ c ..............Just test output........... write(6,2) + Target_1(i__),n_Target(i__),SpType_1(i__),LumClass_1(i__), + vsini(i__),vmac(i__),l_Teff(i__),Teff(i__),e_Teff(i__), + l_logg(i__),logg(i__),e_logg(i__),l_loggt(i__),loggt(i__), + e_loggt(i__),l_Y_He(i__),Y_He(i__),e_Y_He(i__),l_vmic(i__), + vmic(i__),e_vmic(i__),Bvmic(i__),l_logQ(i__),logQ(i__), + e_logQ(i__),Qual(i__),Notes(i__),OWNNote(i__) 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