Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/507/833 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-Mar-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/507/833 Interstellar CaII lines for 290 stars (Megier+, 2009) *================================================================================ *The interstellar CaII distance scale. * Megier A., Strobel A., Galazutdinov G.A., Krelowski J. * <Astron. Astrophys., 507, 833-840 (2009)> * =2009A&A...507..833M C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! Target stars integer*4 nr__ parameter (nr__=290) ! Number of records character*113 ar__ ! Full-size record C Position composed of: GLON GLAT character*10 Name (nr__) ! Star name real*8 GLON (nr__) ! (deg) Galactic longitude (from SIMBAD) real*8 GLAT (nr__) ! (deg) Galactic latitude (from SIMBAD) real*4 plx (nr__) ! (mas) ?=- Trigonometric parallax (Hipparcos) real*4 e_plx (nr__) ! (mas) ?=- rms uncertainty on plx integer*4 EWK (nr__) ! (0.1pm) Equivalent width of the CaII K line real*4 e_EWK (nr__) ! (0.1pm) rms uncertainty on EWK integer*4 EWH (nr__) ! (0.1pm) Equivalent width of the CaII H line real*4 e_EWH (nr__) ! (0.1pm) rms uncertainty on EWK real*4 NCaII (nr__) ! (10+12cm-2) CaII column density real*4 e_NCaII (nr__) ! (10+12cm-2) rms uncertainty on NCaII character*8 Assos (nr__) ! Association membership character*8 r_Assos (nr__) ! Reference for association membership (1) integer*4 DH (nr__) ! (pc) ?=- Association distance from * Humphreys (1978ApJS...38..309H) integer*4 DGS (nr__) ! (pc) ?=- Association distance from * Garmany & Stencel (1992A&AS...94..211G) integer*4 DZ (nr__) ! (pc) ?=- Association distance from de * Zeeuw et al. (1999, Cat. J/AJ/117/354) integer*4 DCaII (nr__) ! (pc) Distance estimated from formula (3) integer*4 e_DCaII (nr__) ! (pc) ? rms uncertainty pn DCaII *Note (1): Reference for association membership as follows: * H = Humphreys (1978ApJS...38..309H) * GS = Garmany and Stencel 1992A&AS...94..211G1992) * Z = de Zeeuw et al. (1999, Cat. <J/AJ/117/354>) *Note (3): The formula for estimating distance is: * DCaII=~77+{2.78+(2.60/[EWK/EWH - 0.932])}*EWH C============================================================================= C Loading file 'table1.dat' ! Target stars C Format for file interpretation 1 format( + A10,1X,F8.4,1X,F8.4,1X,F5.2,1X,F4.2,1X,I4,1X,F5.2,I3,1X,F5.2, + 1X,F5.2,1X,F4.2,1X,A8,1X,A8,2X,I4,1X,I4,1X,I3,1X,I4,1X,I4) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,290 read(1,'(A113)')ar__ read(ar__,1) + Name(i__),GLON(i__),GLAT(i__),plx(i__),e_plx(i__),EWK(i__), + e_EWK(i__),EWH(i__),e_EWH(i__),NCaII(i__),e_NCaII(i__), + Assos(i__),r_Assos(i__),DH(i__),DGS(i__),DZ(i__),DCaII(i__), + e_DCaII(i__) if (idig(ar__(30:34)).EQ.0) plx(i__) = rNULL__ if (idig(ar__(36:39)).EQ.0) e_plx(i__) = rNULL__ if (DH(i__) .EQ. 45) DH(i__) = iNULL__ if (DGS(i__) .EQ. 45) DGS(i__) = iNULL__ if (DZ(i__) .EQ. 45) DZ(i__) = iNULL__ if(ar__(110:113) .EQ. '') e_DCaII(i__) = iNULL__ c ..............Just test output........... write(6,1) + Name(i__),GLON(i__),GLAT(i__),plx(i__),e_plx(i__),EWK(i__), + e_EWK(i__),EWH(i__),e_EWH(i__),NCaII(i__),e_NCaII(i__), + Assos(i__),r_Assos(i__),DH(i__),DGS(i__),DZ(i__),DCaII(i__), + e_DCaII(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