FORTRAN Generation
(/./ftp/cats/J/AJ/153/165)

Conversion of standardized ReadMe file for file /./ftp/cats/J/AJ/153/165 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-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/AJ/153/165          Collisions of terrestrial worlds         (Theissen+, 2017)
*================================================================================
*Collisions of terrestrial worlds: the occurrence of extreme mid-infrared
*excesses around low-mass field stars.
*    Theissen C.A., West A.A.
*    <Astron. J. 153, 165 (2017)>
*    =2017AJ....153..165T        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table4.dat'	! Extreme MIR Excess Candidates Catalog

      integer*4 nr__
      parameter (nr__=584)	! Number of records
      character*908 ar__   	! Full-size record

C  J2000.0 position composed of: RAdeg DEdeg
      integer*8     objID       ! SDSS DR10 Object ID (SDSS_OBJID)
      real*8        RAdeg       ! (deg) SDSS Right ascension (J2000.0) (SDSS_RA)
      real*8        DEdeg       ! (deg) SDSS Declination (J2000.0) (SDSS_DEC)
      real*8        umag        ! (mag) SDSS u-band PSF magnitude (UMAG)
      real*8        e_umag      ! (mag) SDSS u-band PSF magnitude error (UMAG_ERR)
      real*8        Au          ! (mag) SDSS u-band PSF extinction (UMAG_EXT)
      real*8        umag0       ! (mag) SDSS u-band PSF unredenned magnitude
*                                   (UMAG_UNRED)
      real*8        gmag        ! (mag) SDSS g-band PSF magnitude (GMAG)
      real*8        e_gmag      ! (mag) SDSS g-band PSF magnitude error (GMAG_ERR)
      real*8        Ag          ! (mag) SDSS g-band PSF extinction (GMAG_EXT)
      real*8        gmag0       ! (mag) SDSS g-band PSF unredenned magnitude
*                                   (GMAG_UNRED)
      real*8        rmag        ! (mag) SDSS r-band PSF magnitude (RMAG)
      real*8        e_rmag      ! (mag) SDSS r-band PSF magnitude error (RMAG_ERR)
      real*8        Ar          ! (mag) SDSS r-band PSF extinction (RMAG_EXT)
      real*8        rmag0       ! (mag) SDSS r-band PSF unredenned magnitude
*                                   (RMAG_UNRED)
      real*8        imag        ! (mag) SDSS i-band PSF magnitude (IMAG)
      real*8        e_imag      ! (mag) SDSS i-band PSF magnitude error (IMAG_ERR)
      real*8        Ai          ! (mag) SDSS i-band PSF extinction (IMAG_EXT)
      real*8        imag0       ! (mag) SDSS i-band PSF unredenned magnitude
*                                   (IMAG_UNRED)
      real*8        zmag        ! (mag) SDSS z-band PSF magnitude (ZMAG)
      real*8        e_zmag      ! (mag) SDSS z-band PSF magnitude error (ZMAG_ERR)
      real*8        Az          ! (mag) SDSS z-band PSF extinction (ZMAG_EXT)
      real*8        zmag0       ! (mag) SDSS z-band PSF unredenned magnitude
*                                   (ZMAG_UNRED)
      real*4        Jmag        ! (mag) 2MASS J-band PSF magnitude (JMAG)
      real*8        e_Jmag      ! (mag) ?=-9999 2MASS J-band PSF corrected magnitude
*                                   uncertainty (JMAG_ERR)
      real*8        s_Jmag      ! (mag) ?=-9999 2MASS J-band PSF total magnitude
*                                   uncertainty (JMAG_ERRTOT)
      real*8        JSNR        ! [2.6/10905.1]?=-9999 2MASS J-band SNR (JSNR)
      real*8        Jchi        ! ?=-9999 2MASS J-band chi2 PSF fit (J_PSFCHI)
      real*8        AJ          ! (mag) 2MASS J-band PSF extinction (JMAG_EXT)
      real*4        Jmag0       ! (mag) 2MASS J-band PSF unredenned magnitude
*                                   (JMAG_UNRED)
      real*4        Hmag        ! (mag) 2MASS H-band PSF magnitude (HMAG)
      real*8        e_Hmag      ! (mag) ?=-9999 2MASS H-band PSF corrected magnitude
*                                   uncertainty (HMAG_ERR)
      real*8        s_Hmag      ! (mag) ?=-9999 2MASS H-band PSF total magnitude
*                                   uncertainty (HMAG_ERRTOT)
      real*8        HSNR        ! [2.4/21632.7]?=-9999 2MASS H-band SNR (HSNR)
      real*8        Hchi        ! ?=-9999 2MASS H-band chi2 PSF fit (H_PSFCHI)
      real*8        AH          ! (mag) 2MASS H-band PSF extinction (HMAG_EXT)
      real*4        Hmag0       ! (mag) 2MASS H-band PSF unredenned magnitude
*                                   (HMAG_UNRED)
      real*4        Kmag        ! (mag) 2MASS K-band PSF magnitude (KMAG)
      real*8        e_Kmag      ! (mag) ?=-9999 2MASS K-band PSF corrected magnitude
*                                   uncertainty (KMAG_ERR)
      real*8        s_Kmag      ! (mag) ?=-9999 2MASS K-band PSF total magnitude
*                                   uncertainty (KMAG_ERRTOT)
      real*8        KSNR        ! [2.1/27594.3]?=-9999 2MASS K-band SNR (KSNR)
      real*8        Kchi        ! ?=-9999 2MASS K-band chi2 PSF fit (K_PSFCHI)
      real*8        AK          ! (mag) 2MASS K-band PSF extinction (KMAG_EXT)
      real*4        Kmag0       ! (mag) 2MASS K-band PSF unredenned magnitude
*                                     (KMAG_UNRED)
      character*3   Q2          ! 2MASS photometric quality flag (2MASS_PH_QUAL)
      character*3   f2r         ! 2MASS read flag (2MASS_RD_FLG)
      character*3   f2b         ! 2MASS blend flag (2MASS_BL_FLG)
      character*3   f2c         ! 2MASS contamination and confusion flag
*                                   (2MASS_CC_FLG)
      integer*4     f2e         ! [0/2] 2MASS extended source contamination flag
*                                   (2MASS_GAL_CONTAM)
      real*4        W1mag       ! (mag) WISE W1-band PSF magnitude (W1MPRO)
      real*8        e_W1mag     ! (mag) ?=-9999 WISE W1-band PSF magnitude error
*                                   (W1SIGMPRO)
      real*8        W1SNR       ! [1.7/51.8]?=-9999 WISE W1-band SNR (W1SNR)
      real*8        W1chi       ! [0.08/61.91] WISE W1 reduced chi2 PSF fit
*                                   (W1RCHI2)
      real*8        AW1         ! (mag) WISE W1-band PSF extinction (W1MPRO_EXT)
      real*4        W1mag0      ! (mag) WISE W1-band PSF unredenned magnitude
*                                   (W1MPRO_UNRED)
      real*4        W2mag       ! (mag) WISE W2-band PSF magnitude (W2MPRO)
      real*8        e_W2mag     ! (mag) ?=-9999 WISE W2-band PSF magnitude error
*                                   (W2SIGMPRO)
      real*4        W2SNR       ! [-0.4/57.2] WISE W2-band SNR (W2SNR)
      real*8        W2chi       ! [0.19/33.1] WISE W2 reduced chi2 PSF fit
*                                   (W2RCHI2)
      real*8        AW2         ! (mag) WISE W2-band PSF extinction (W2MPRO_EXT)
      real*4        W2mag0      ! (mag) WISE W2-band PSF unredenned magnitude
*                                   (W2MPRO_UNRED)
      real*8        W3mag       ! (mag) ?=-9999 WISE W3-band PSF magnitude (W3MPRO)
      real*8        e_W3mag     ! (mag) ?=-9999 WISE W3-band PSF magnitude error
*                                   (W3SIGMPRO)
      real*8        W3SNR       ! [-14/83.4]?=-9999 WISE W3-band SNR (W3SNR)
      real*8        W3chi       ! [0.5/3630]?=-9999 WISE W3 reduced chi2 PSF fit
*                                   (W3RCHI2)
      real*8        AW3         ! (mag) WISE W3-band PSF extinction (W3MPRO_EXT)
      real*8        W3mag0      ! (mag) ?=-9999 WISE W3-band PSF unredenned magnitude
*                                   (W3MPRO_UNRED)
      real*8        W4mag       ! (mag) ?=-9999 WISE W4-band PSF magnitude (W4MPRO)
      real*8        e_W4mag     ! (mag) ?=-9999 WISE W4-band PSF magnitude error
*                                   (W4SIGMPRO)
      real*8        W4SNR       ! [-4.4/54.8]?=-9999 WISE W4-band SNR (W4SNR)
      real*8        W4chi       ! [0.5/2459]?=-9999 WISE W4 reduced chi2 PSF fit
*                                   (W4RCHI2)
      real*8        AW4         ! (mag) WISE W4-band PSF extinction (W4MPRO_EXT)
      real*8        W4mag0      ! (mag) ?=-9999 WISE W4-band PSF unredenned magnitude
*                                   (W4MPRO_UNRED)
      character*4   fWcc        ! WISE contamination and confusion flag
*                                   (WISE_CC_FLG)
      integer*4     fWe         ! WISE extended source flag (WISE_EXT_FLG)
      character*4   fWv         ! WISE variability flag (WISE_VAR_FLG)
      character*4   QW          ! WISE photometric quality flag (WISE_PH_QUAL)
      real*8        I1f         ! (uJy) ?=-9999 Spitzer IRAC CH1 flux (IRAC1_FLUX)
      real*8        e_I1f       ! (uJy) ?=-9999 Spitzer IRAC CH1 flux error
*                                   (IRAC1_FLUX_ERR)
      real*8        I2f         ! (uJy) ?=-9999 Spitzer IRAC CH2 flux (IRAC2_FLUX)
      real*8        e_I2f       ! (uJy) ?=-9999 Spitzer IRAC CH2 flux error
*                                   (IRAC2_FLUX_ERR)
      real*8        I3f         ! (uJy) ?=-9999 Spitzer IRAC CH3 flux (IRAC3_FLUX)
      real*8        e_I3f       ! (uJy) ?=-9999 Spitzer IRAC CH3 flux error
*                                   (IRAC3_FLUX_ERR)
      real*8        I4f         ! (uJy) ?=-9999 Spitzer IRAC CH4 flux (IRAC4_FLUX)
      real*8        e_I4f       ! (uJy) ?=-9999 Spitzer IRAC CH4 flux error
*                                   (IRAC4_FLUX_ERR)
      real*8        M1f         ! (uJy) ?=-9999 Spitzer MIPS CH1 flux (MIPS1_FLUX)
      real*8        e_M1f       ! (uJy) ?=-9999 Spitzer MIPS CH1 flux error
*                                   (MIPS1_FLUX_ERR)
      real*8        pmRA        ! (mas/yr) Proper motion in RA (proper units, i.e.
*                                   pmRA*cos(DE) (PMRA)
      real*8        pmDE        ! (mas/yr) Proper motion in DE (PMDEC)
      real*8        e_pmRA      ! (mas/yr) Combined error in proper motion in RA
*                                   (PMRA_TOTERR)
      real*8        e_pmDE      ! (mas/yr) Combined error in proper motion in DE
*                                   (PMDEC_TOTERR)
      integer*4     fl1f        ! Full Sample flag (FULL)
      integer*4     fl1c        ! Full Sample flag (CLEAN)
      integer*4     Qual        ! [1/2] Quality flag, 1=best (QUALITY) (1)
      real*8        Dist        ! (pc) Photometric parallax distance (DISTANCE) (2)
      real*8        Z           ! (pc) Distance from the Galactic plane (Z=0) (Z)
      real*8        sigP        ! SigmaPrime (SIMGAPRIME) (3)
      real*8        Temp        ! (K) Modeled temperature (TEMP)
      real*8        E_Temp      ! (K) Modeled temperature upper limit (TEMP_HIGH)
      real*8        e_Temp_1    ! (K) Modeled temperature lower limit (TEMP_LOW)
      real*8        logg        ! ([cm/s2]) Modeled surface gravity (LOGG)
      real*8        E_logg      ! ([cm/s2]) Modeled logg upper limit (LOGG_HIGH)
      real*8        e_logg_1    ! ([cm/s2]) Modeled logg lower limit (LOGG_LOW)
      real*8        chi12       ! Ratio of measured 12 micron flux to modeled
*                                   12 micron flux (CHI12)
      real*8        chi22       ! ?=- Ratio of measured 12 micron flux to
*                                   modeled 12 micron flux (CHI22)
      real*8        Lir         ! Fractional IR luminosity
*                                   (FRACTIONAL_LUMINOSITY)
      real*8        Rd          ! (AU) Dust radius (DUST_DISTANCE)
      real*4        Md          ! Dust mass, in moon mass unit (DUST_MASS)
      integer*4     Td          ! (K) ?=-9999 Disk temperature (DUST_TEMP)
      integer*4     e_Td        ! (K) ?=-9999 Disk temperature error (DUST_TEMP_ERR)
*Note (1): Quality 1 representing the highest-quality candidates and
*          quality 2 representing the lowest-quality candidates.
*Note (2): Computed using the relationships in Bochanski et al.,
*           2010AJ....139.2679B
*Note (3): Defined in Avenhaus et al., 2012A&A...548A.105A.
*  {sigma}' is the  WISE error estimate, and outliers are defined as sources that
*  diverge from the fit by more than 3{simga}'

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'fig10.dat'	! List of 2MASS source with spectra

      integer*4 nr__1
      parameter (nr__1=15)	! Number of records
      character*88 ar__1  	! Full-size record

C  J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg_1     ! (deg) Right Ascension J2000
      real*8        DEdeg_1     ! (deg)     Declination J2000
C  ---------------------------------- ! (position vector(s) in degrees)

      integer*4     RAh         ! (h) Right Ascension J2000 (hours)
      integer*4     RAm         ! (min) Right Ascension J2000 (minutes)
      real*8        RAs         ! (s) Right Ascension J2000 (seconds)
      character*1   DE_         ! Declination J2000 (sign)
      integer*4     DEd         ! (deg) Declination J2000 (degrees)
      integer*4     DEm         ! (arcmin) Declination J2000 (minutes)
      real*8        DEs         ! (arcsec) Declination J2000 (seconds)
      character*17  v2MASS      ! 2MASS designation (JHHMMSSss+DDmmsss)
      character*3   SpType      ! MK spectral type
      integer*4     RVel        ! (km/s) Radial velocity
      character*26  FileName    ! Name of file with spectrum in subdirectory sp

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'sp/*'	! Individual spectra

      integer*4 nr__2
      parameter (nr__2=15)	! Number of records
      character*65 ar__2  	! Full-size record

      real*4        Flux        ! (10mW/m2/nm) Flux (erg/cm2/s/{AA})
      real*4        e_Flux      ! (10mW/m2/nm) rms uncertainty on Flux (erg/cm2/s/{AA})
      real*8        lambda      ! (0.1nm) Wavelength

C=============================================================================

C  Loading file 'table4.dat'	! Extreme MIR Excess Candidates Catalog

C  Format for file interpretation

    1 format(
     +  I19,1X,F10.6,1X,F10.6,1X,F7.4,1X,F8.4,1X,F7.4,1X,F7.4,1X,F7.4,
     +  1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,
     +  F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,1X,F7.4,
     +  1X,F6.3,1X,F9.3,1X,F9.3,1X,F7.1,1X,F8.2,1X,F7.4,1X,F6.3,1X,
     +  F6.3,1X,F9.3,1X,F9.3,1X,F7.1,1X,F8.2,1X,F7.4,1X,F6.3,1X,F6.3,
     +  1X,F9.3,1X,F9.3,1X,F7.1,1X,F8.2,1X,F7.4,1X,F6.3,1X,A3,1X,A3,
     +  1X,A3,1X,A3,1X,I1,1X,F6.3,1X,F9.3,1X,F7.1,1X,F9.6,1X,F7.4,1X,
     +  F6.3,1X,F6.3,1X,F9.3,1X,F4.1,1X,F9.6,1X,F7.4,1X,F6.3,1X,F9.3,
     +  1X,F9.3,1X,F7.1,1X,F7.1,1X,F7.4,1X,F9.3,1X,F9.3,1X,F9.3,1X,
     +  F7.1,1X,F7.1,1X,F7.4,1X,F9.3,1X,A4,1X,I1,1X,A4,1X,A4,1X,F9.3,
     +  1X,F9.3,1X,F9.3,1X,F9.3,1X,F9.3,1X,F9.3,1X,F9.3,1X,F9.3,1X,
     +  F9.3,1X,F9.3,1X,F11.5,1X,F10.5,1X,F9.5,1X,F9.5,1X,I1,1X,I1,1X,
     +  I1,1X,F9.5,1X,F10.5,1X,F9.5,1X,F7.2,1X,F7.2,1X,F7.2,1X,F7.5,
     +  1X,F7.5,1X,F7.5,1X,F8.5,1X,F8.5,1X,F8.6,1X,F8.6,1X,E12.6,1X,
     +  I5,1X,I5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,584
        read(1,'(A908)')ar__
        read(ar__,1)
     +  objID,RAdeg,DEdeg,umag,e_umag,Au,umag0,gmag,e_gmag,Ag,gmag0,
     +  rmag,e_rmag,Ar,rmag0,imag,e_imag,Ai,imag0,zmag,e_zmag,Az,
     +  zmag0,Jmag,e_Jmag,s_Jmag,JSNR,Jchi,AJ,Jmag0,Hmag,e_Hmag,
     +  s_Hmag,HSNR,Hchi,AH,Hmag0,Kmag,e_Kmag,s_Kmag,KSNR,Kchi,AK,
     +  Kmag0,Q2,f2r,f2b,f2c,f2e,W1mag,e_W1mag,W1SNR,W1chi,AW1,W1mag0,
     +  W2mag,e_W2mag,W2SNR,W2chi,AW2,W2mag0,W3mag,e_W3mag,W3SNR,
     +  W3chi,AW3,W3mag0,W4mag,e_W4mag,W4SNR,W4chi,AW4,W4mag0,fWcc,
     +  fWe,fWv,QW,I1f,e_I1f,I2f,e_I2f,I3f,e_I3f,I4f,e_I4f,M1f,e_M1f,
     +  pmRA,pmDE,e_pmRA,e_pmDE,fl1f,fl1c,Qual,Dist,Z,sigP,Temp,
     +  E_Temp,e_Temp_1,logg,E_logg,e_logg_1,chi12,chi22,Lir,Rd,Md,Td,
     +  e_Td
        if (idig(ar__(858:865)).EQ.0) chi22 =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  objID,RAdeg,DEdeg,umag,e_umag,Au,umag0,gmag,e_gmag,Ag,gmag0,
     +  rmag,e_rmag,Ar,rmag0,imag,e_imag,Ai,imag0,zmag,e_zmag,Az,
     +  zmag0,Jmag,e_Jmag,s_Jmag,JSNR,Jchi,AJ,Jmag0,Hmag,e_Hmag,
     +  s_Hmag,HSNR,Hchi,AH,Hmag0,Kmag,e_Kmag,s_Kmag,KSNR,Kchi,AK,
     +  Kmag0,Q2,f2r,f2b,f2c,f2e,W1mag,e_W1mag,W1SNR,W1chi,AW1,W1mag0,
     +  W2mag,e_W2mag,W2SNR,W2chi,AW2,W2mag0,W3mag,e_W3mag,W3SNR,
     +  W3chi,AW3,W3mag0,W4mag,e_W4mag,W4SNR,W4chi,AW4,W4mag0,fWcc,
     +  fWe,fWv,QW,I1f,e_I1f,I2f,e_I2f,I3f,e_I3f,I4f,e_I4f,M1f,e_M1f,
     +  pmRA,pmDE,e_pmRA,e_pmDE,fl1f,fl1c,Qual,Dist,Z,sigP,Temp,
     +  E_Temp,e_Temp_1,logg,E_logg,e_logg_1,chi12,chi22,Lir,Rd,Md,Td,
     +  e_Td
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'fig10.dat'	! List of 2MASS source with spectra

C  Format for file interpretation

    2 format(
     +  I2,1X,I2,1X,F7.4,1X,A1,I2,1X,I2,1X,F7.4,7X,A17,1X,A3,1X,I4,1X,
     +  A26)

C  Effective file loading

      open(unit=1,status='old',file=
     +'fig10.dat')
      write(6,*) '....Loading file: fig10.dat'
      do i__=1,15
        read(1,'(A88)')ar__1
        read(ar__1,2)
     +  RAh,RAm,RAs,DE_,DEd,DEm,DEs,v2MASS,SpType,RVel,FileName
        RAdeg_1 = rNULL__
        DEdeg_1 = rNULL__
c  Derive coordinates RAdeg_1 and DEdeg_1 from input data
c  (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg_1=RAh*15.
        if(RAm .GT. -180) RAdeg_1=RAdeg_1+RAm/4.
        if(RAs .GT. -180) RAdeg_1=RAdeg_1+RAs/240.
        if(DEd .GE. 0) DEdeg_1=DEd
        if(DEm .GE. 0) DEdeg_1=DEdeg_1+DEm/60.
        if(DEs .GE. 0) DEdeg_1=DEdeg_1+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1
c    ..............Just test output...........
        write(6,2)
     +  RAh,RAm,RAs,DE_,DEd,DEm,DEs,v2MASS,SpType,RVel,FileName
        write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'sp/*'	! Individual spectra

C  Format for file interpretation

    3 format(E23.18,1X,E22.17,1X,F18.13)

C  Effective file loading

      open(unit=1,status='old',file=
     +'sp/*')
      write(6,*) '....Loading file: sp/*'
      do i__=1,15
        read(1,'(A65)')ar__2
        read(ar__2,3)Flux,e_Flux,lambda
c    ..............Just test output...........
        write(6,3)Flux,e_Flux,lambda
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