Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/490/625 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 2024-Apr-19 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/490/625 Abundances of NGC 6121 red giants (Marino+, 2008) *================================================================================ *Spectroscopic and photometric evidence of two stellar populations in the *Galactic globular cluster NGC 6121 (M4). * Marino A.F., Villanova S., Piotto G., Milone A.P., Momany Y., Bedin L.R., * Medling A.M. * <Astron. Astrophys. 490, 625 (2008)> * =2008A&A...490..625M C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table8.dat' ! Identification, equatorial coordinates, atmospheric parameters and photometry integer*4 nr__ parameter (nr__=105) ! Number of records character*88 ar__ ! Full-size record C J2000 position composed of: RAdeg DEdeg integer*4 Star ! [5359/45895] Star identification number real*8 RAdeg ! (deg) Right ascension in decimal degrees (J2000) real*8 DEdeg ! (deg) Declination in decimal degrees (J2000) integer*4 Teff ! (K) Effective temperature real*4 logg ! ([cm/s2]) Surface gravity real*4 Vt ! (km/s) Microturbulent velocity real*4 Umag ! (mag) ?=- Johnson U magnitude real*4 Bmag ! (mag) ?=- Johnson B magnitude real*4 Vmag ! (mag) ?=- Johnson V magnitude real*4 Icmag ! (mag) ?=- Cousisn I magnitude real*4 Jmag ! (mag) ?=- 2MASS J magnitude real*4 Hmag ! (mag) ?=- 2MASS H magnitude real*4 Kmag ! (mag) ?=- 2MASS K magnitude c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table9.dat' ! Chemical abundances integer*4 nr__1 parameter (nr__1=105) ! Number of records character*70 ar__1 ! Full-size record integer*4 Star_1 ! [5359/45895] Star identification number real*4 v_Fe_HI_ ! ([Sun]) Abundance ratio [Fe/HI] real*4 v_O_Fe_ ! ([Sun]) ?=- Abundance ratio [O/Fe] real*4 v_Na_Fe_ ! ([Sun]) Abundance ratio [Na/Fe] real*4 v_Mg_Fe_ ! ([Sun]) Abundance ratio [Mg/Fe] real*4 v_Al_Fe_ ! ([Sun]) ?=- Abundance ratio [Al/Fe] real*4 v_Si_Fe_ ! ([Sun]) Abundance ratio [Si/Fe] real*4 v_Ca_Fe_ ! ([Sun]) Abundance ratio [Ca/Fe] real*4 v_Ti_FeI_ ! ([Sun]) Abundance ratio [Ti/FeI] real*4 v_Ti_FeII_ ! ([Sun]) Abundance ratio [Ti/FeII] real*4 v_Cr_Fe_ ! ([Sun]) Abundance ratio [Cr/Fe] real*4 v_Ni_Fe_ ! ([Sun]) Abundance ratio [Ni/Fe] real*4 v_Ba_FeII_ ! ([Sun]) ?=- Abundance ratio [Ba/FeII] C============================================================================= C Loading file 'table8.dat' ! Identification, equatorial coordinates, * atmospheric parameters and photometry C Format for file interpretation 1 format( + I5,1X,F12.8,1X,F12.8,1X,I4,1X,F4.2,1X,F4.2,1X,F5.2,1X,F5.2,1X, + F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2) C Effective file loading open(unit=1,status='old',file= +'table8.dat') write(6,*) '....Loading file: table8.dat' do i__=1,105 read(1,'(A88)')ar__ read(ar__,1) + Star,RAdeg,DEdeg,Teff,logg,Vt,Umag,Bmag,Vmag,Icmag,Jmag,Hmag, + Kmag if (idig(ar__(48:52)).EQ.0) Umag = rNULL__ if (idig(ar__(54:58)).EQ.0) Bmag = rNULL__ if (idig(ar__(60:64)).EQ.0) Vmag = rNULL__ if (idig(ar__(66:70)).EQ.0) Icmag = rNULL__ if (idig(ar__(72:76)).EQ.0) Jmag = rNULL__ if (idig(ar__(78:82)).EQ.0) Hmag = rNULL__ if (idig(ar__(84:88)).EQ.0) Kmag = rNULL__ c ..............Just test output........... write(6,1) + Star,RAdeg,DEdeg,Teff,logg,Vt,Umag,Bmag,Vmag,Icmag,Jmag,Hmag, + Kmag c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table9.dat' ! Chemical abundances C Format for file interpretation 2 format( + I5,1X,F5.2,1X,F4.2,1X,F5.2,1X,F4.2,1X,F5.2,1X,F4.2,1X,F4.2,1X, + F4.2,1X,F4.2,1X,F5.2,1X,F5.2,1X,F4.2) C Effective file loading open(unit=1,status='old',file= +'table9.dat') write(6,*) '....Loading file: table9.dat' do i__=1,105 read(1,'(A70)')ar__1 read(ar__1,2) + Star_1,v_Fe_HI_,v_O_Fe_,v_Na_Fe_,v_Mg_Fe_,v_Al_Fe_,v_Si_Fe_, + v_Ca_Fe_,v_Ti_FeI_,v_Ti_FeII_,v_Cr_Fe_,v_Ni_Fe_,v_Ba_FeII_ if (idig(ar__1(13:16)).EQ.0) v_O_Fe_ = rNULL__ if (idig(ar__1(29:33)).EQ.0) v_Al_Fe_ = rNULL__ if (idig(ar__1(67:70)).EQ.0) v_Ba_FeII_ = rNULL__ c ..............Just test output........... write(6,2) + Star_1,v_Fe_HI_,v_O_Fe_,v_Na_Fe_,v_Mg_Fe_,v_Al_Fe_,v_Si_Fe_, + v_Ca_Fe_,v_Ti_FeI_,v_Ti_FeII_,v_Cr_Fe_,v_Ni_Fe_,v_Ba_FeII_ 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