FORTRAN Generation
(/./ftp/cats/J/A_A/440/1061)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/440/1061 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-Mar-28
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/440/1061      Southern red high proper motion objects    (Lodieu+, 2005)
*================================================================================
*Spectroscopic classification of red high proper motion objects in the
*Southern Sky.
*    Lodieu N., Scholz R.-D., McCaughrean M.J., Ibata R., Irwin M., Zinnecker H.
*   <Astron. Astrophys., 440, 1061-1078 (2005)>
*   =2005A&A...440.1061L
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'main.dat'	! List of new, red proper motion objects (table1)

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

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

      integer*4     RN          ! Running number
      character*16  Name        ! Name of the target
      character*3   Note        ! Note about the presence in other catalogues (1)
      integer*4     RAh         ! (h) Right ascension (J2000.0)
      integer*4     RAm         ! (min) Right ascension (J2000.0)
      real*4        RAs         ! (s) Right ascension (J2000.0)
      character*1   DE_         ! Declination sign (J2000.0)
      integer*4     DEd         ! (deg) Declination (J2000.0)
      integer*4     DEm         ! (arcmin) Declination (J2000.0)
      real*4        DEs         ! (arcsec) Declination (J2000.0)
      real*8        Epoch       ! (yr) Epoch of observation
      integer*4     pmRA        ! (mas/yr) Proper motion in right ascension (incl. sign)
      integer*4     pmDE        ! (mas/yr) Proper motion in right ascension (incl. sign)
      integer*4     e_pmRA      ! (mas/yr) Error on the proper motion in right ascension
      integer*4     e_pmDE      ! (mas/yr) Error on the proper motion in declination
      real*4        Bjmag       ! (mag) B_J_ magnitude from SSS
      real*4        Rmag        ! (mag) R magnitude from SSS
      real*4        Imag        ! (mag) I magnitude from SSS
      real*4        Jmag        ! (mag) J magnitude from 2MASS
      real*4        Hmag        ! (mag) ? H magnitude from 2MASS
      real*4        Ksmag       ! (mag) ? K_s_ magnitude from 2MASS
*Note (1): Notes "a" and "b" indicate that the object is also mentioned
*     in the proper motion catalogue of Pokorny et al. (see J/A+A/421/763)
*     and in the B1.0 catalogue (Monet et al., Cat. I/284), respectively.

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

C  Declarations for 'obslog1.dat'	! Obs. logs: photometry with FORS1 & ISAAC (table2)

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

      integer*4     RN_1        ! Running number
      character*16  Name_1      ! Name of the target
      character*10  ObsO        ! ("YYYY/MM/DD") Date of the observation in RI bands
      integer*4     NExpR       ! Number of exposure in R band
      integer*4     ExpR        ! (s) Exposure time in R band
      real*4        Rmag_1      ! (mag) R magnitude from VLT/FORS1
      integer*4     NExpI       ! Number of exposure in I band
      integer*4     ExpI        ! (s) Exposure time in I band
      real*4        Imag_1      ! (mag) I magnitude from VLT/FORS1
      character*10  ObsJHK      ! ("YYYY/MM/DD") Date of the observation in JsHKs band
      integer*4     NExpJHK     ! Number of exposure in JsHKs bands
      integer*4     ExpJHK      ! (s) Exposure time in JsHKs bands
      real*4        Jsmag       ! (mag) ? J_s_ magnitude from VLT/ISAAC
      real*4        Hmag_1      ! (mag) ? H magnitude from VLT/ISAAC
      real*4        Ksmag_1     ! (mag) ? K_s_ magnitude from VLT/ISAAC

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

C  Declarations for 'obslog2.dat'	! Obs. logs: spectroscopy with FORS1 & ISAAC (table3)

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

      integer*4     RN_2        ! Running number
      character*16  Name_2      ! Name of the target
      character*10  ObsO_1      ! ("YYYY/MM/DD") Date of the observation in Optical
      integer*4     NExpO       ! Number of exposure in Optical
      integer*4     ExpO        ! (s) Exposure time in Optical
      character*10  ObsJHK_1    ! ("YYYY/MM/DD") Date of the observations in I band
      integer*4     NExpJ       ! ? Number of exposure in J band
      integer*4     ExpJ        ! ? Exposure time in J band
      integer*4     NExpH       ! ? Number of exposure in H band
      integer*4     ExpH        ! ? Exposure time in H band
      integer*4     NExpK       ! ? Number of exposure in K band
      integer*4     ExpK        ! ? Exposure time in K band

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

C  Declarations for 'obslog3.dat'	! Obs. logs: photometry with EFOSC2 & SofI (table4)

      integer*4 nr__3
      parameter (nr__3=49)	! Number of records
      character*58 ar__3  	! Full-size record

      integer*4     RN_3        ! Running number
      character*16  Name_3      ! Name of the target
      character*10  ObsO_2      ! ("YYYY/MM/DD") Date of the observation in Optical band
      integer*4     NExpO_1     ! ? Number of exposure in Optical band
      integer*4     ExpO_1      ! (s) ? Exposure time in optical band
      character*10  ObsNIR      ! ("YYYY/MM/DD") Date of the observation in NIR band
      integer*4     NExpNIR     ! ? Number of exposure in NIR band
      integer*4     ExpNIR      ! ? Exposure time in NIR band

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

C  Declarations for 'table5.dat'	! Results from optical spectra

      integer*4 nr__4
      parameter (nr__4=60)	! Number of records
      character*91 ar__4  	! Full-size record

      integer*4     RN_4        ! Running number
      character*16  Name_4      ! Name of the target
      real*4        indHa       ! Halpha index (1)
      real*4        EWHa        ! (0.1nm) ? Halpha equivalent width
      character*1   n_EWHa      ! [*] * for flare
      real*4        TiO5dM      ! ? Value of the TiO5 spectral index
      character*4   SpTiO5      ! Spectral type associated to the TiO5 index
      real*4        VOadM       ! Value of the VO-a spectral index
      character*5   SpVOa       ! Spectral type associated to the VO-a index
      real*4        PC3dM       ! Value of the PC3 spectral index
      character*4   SpPC3       ! Spectral type associated to the PC3 index
      character*4   SpComp      ! Spectral type from the comparison with a
*                                   template
      character*4   SpType      ! Final adopted spectral type
      real*4        distdM      ! (pc) Estimated distance
      real*4        e_distdM    ! (pc) Error on the distance
      integer*4     vtdM        ! (km/s) Tangential velocity
*Note (1): Halpha index which measures the strength of the H emission line
*          compared to the neighbouring continuum.

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

C  Declarations for 'table6.dat'	! Results from near-infrared spectra

      integer*4 nr__5
      parameter (nr__5=27)	! Number of records
      character*82 ar__5  	! Full-size record

      integer*4     RN_5        ! Running number
      character*16  Name_5      ! Name of the target
      real*4        H2OA        ! Value for the H2OA spectral index
      character*4   SpH2OA      ! Spectral type associated to the H2OA index
      real*4        H2OB        ! Value for the H2OB spectral index
      character*4   SpH2OB      ! Spectral type associated to the H2OB index
      real*4        K1          ! ? Value for the K1 spectral index
      character*4   SpK1        ! Spectral type associated to the K1 index
      real*4        Q           ! Value for the Q_Hband spectral index
      character*4   SpQ         ! Spectral type associated to the Q_Hband index
      character*4   SpMean      ! Mean near-infrared spectral type
      character*4   SpType_1    ! Final adopted spectral type (1)
      real*4        distIR      ! (pc) ? Estimated distance from the NIR spectral
*                                     types
      real*4        e_distIR    ! (pc) ? Error on the distance
      integer*4     vtIR        ! (km/s) ? Tangential velocity
*Note (1): Final adopted spectral types are derived from the optical spectrum
*          when available otherwise they are derived from the direct comparison
*          with a near-infrared template.

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

C  Declarations for 'table7.dat'	! Results the five new subdwarfs discovered

      integer*4 nr__6
      parameter (nr__6=15)	! Number of records
      character*97 ar__6  	! Full-size record

      integer*4     RN_6        ! Running number
      character*16  Name_6      ! Name of the target
      real*4        TiO5sd      ! Value of the TiO5 spectral index
      real*4        CaH1sd      ! ? Value of the CaH1 spectral index
      real*4        CaH2sd      ! Value of the CaH2 spectral index
      real*4        CaH3sd      ! Value of the CaH3 spectral index
      character*7   SpType_2    ! Spectral type for subdwarfs and extreme
*                                   subdwarfs
      character*1   r_distsd    ! [123] Source for distance estimate (1)
      integer*4     distsd      ! (pc) Distance estimates
      integer*4     e_distsd    ! (pc) Error on the distance estimates
      integer*4     vt          ! (km/s) Tangential velocity
      integer*4     RV          ! (km/s) ? Radial velocity
      integer*4     e_RV        ! (km/s) ? Error on the radial velocity
      integer*4     UVel        ! (km/s) Space motion : U component
      integer*4     e_UVel      ! (km/s) Error on the U space motion
      integer*4     VVel        ! (km/s) Space motion : V component
      integer*4     e_VVel      ! (km/s) Error on the V space motion
      integer*4     WVel        ! (km/s) Space motion : W component
      integer*4     e_WVel      ! (km/s) Error on the W space motion
*Note (1): Three different distances, tangential velocities, and space
*          motions are listed for each subdwarfs, numbered as follows:
*      1 = a model-dependent distance estimate according to
*          Baraffe et al. (1997A&A...327.1054B)
*      2 = a distance estimate using comparison objects from
*          Gizis (1997AJ....113..806G)
*      3 = a distance estimate based on empirical relationship between
*          spectral types and absolute Ks magnitudes from
*          Lepine et al. (2003AJ....125.1598L)

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

C  Loading file 'main.dat'	! List of new, red proper motion objects (table1)

C  Format for file interpretation

    1 format(
     +  I2,1X,A16,1X,A3,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,
     +  F7.2,1X,I5,1X,I5,1X,I2,1X,I2,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=
     +'main.dat')
      write(6,*) '....Loading file: main.dat'
      do i__=1,79
        read(1,'(A109)')ar__
        read(ar__,1)
     +  RN,Name,Note,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Epoch,pmRA,pmDE,
     +  e_pmRA,e_pmDE,Bjmag,Rmag,Imag,Jmag,Hmag,Ksmag
        if(ar__(99:103) .EQ. '') Hmag = rNULL__
        if(ar__(105:109) .EQ. '') Ksmag = rNULL__
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  RN,Name,Note,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Epoch,pmRA,pmDE,
     +  e_pmRA,e_pmDE,Bjmag,Rmag,Imag,Jmag,Hmag,Ksmag
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'obslog1.dat'	! Obs. logs: photometry with FORS1 & ISAAC (table2)

C  Format for file interpretation

    2 format(
     +  I2,1X,A16,1X,A10,1X,I1,1X,I2,2X,F5.2,1X,I1,1X,I2,2X,F5.2,1X,
     +  A10,1X,I1,1X,I1,2X,F5.2,1X,F5.2,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'obslog1.dat')
      write(6,*) '....Loading file: obslog1.dat'
      do i__=1,32
        read(1,'(A88)')ar__1
        read(ar__1,2)
     +  RN_1,Name_1,ObsO,NExpR,ExpR,Rmag_1,NExpI,ExpI,Imag_1,ObsJHK,
     +  NExpJHK,ExpJHK,Jsmag,Hmag_1,Ksmag_1
        if(ar__1(72:76) .EQ. '') Jsmag = rNULL__
        if(ar__1(78:82) .EQ. '') Hmag_1 = rNULL__
        if(ar__1(84:88) .EQ. '') Ksmag_1 = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  RN_1,Name_1,ObsO,NExpR,ExpR,Rmag_1,NExpI,ExpI,Imag_1,ObsJHK,
     +  NExpJHK,ExpJHK,Jsmag,Hmag_1,Ksmag_1
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'obslog2.dat'	! Obs. logs: spectroscopy with FORS1 & ISAAC (table3)

C  Format for file interpretation

    3 format(
     +  I2,1X,A16,1X,A10,1X,I1,1X,I3,2X,A10,1X,I2,1X,I3,2X,I2,1X,I3,
     +  2X,I2,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'obslog2.dat')
      write(6,*) '....Loading file: obslog2.dat'
      do i__=1,22
        read(1,'(A73)')ar__2
        read(ar__2,3)
     +  RN_2,Name_2,ObsO_1,NExpO,ExpO,ObsJHK_1,NExpJ,ExpJ,NExpH,ExpH,
     +  NExpK,ExpK
        if(ar__2(50:51) .EQ. '') NExpJ = iNULL__
        if(ar__2(53:55) .EQ. '') ExpJ = iNULL__
        if(ar__2(58:59) .EQ. '') NExpH = iNULL__
        if(ar__2(61:63) .EQ. '') ExpH = iNULL__
        if(ar__2(66:67) .EQ. '') NExpK = iNULL__
        if(ar__2(69:71) .EQ. '') ExpK = iNULL__
c    ..............Just test output...........
        write(6,3)
     +  RN_2,Name_2,ObsO_1,NExpO,ExpO,ObsJHK_1,NExpJ,ExpJ,NExpH,ExpH,
     +  NExpK,ExpK
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'obslog3.dat'	! Obs. logs: photometry with EFOSC2 & SofI (table4)

C  Format for file interpretation

    4 format(I2,1X,A16,1X,A10,1X,I1,1X,I4,2X,A10,1X,I1,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'obslog3.dat')
      write(6,*) '....Loading file: obslog3.dat'
      do i__=1,49
        read(1,'(A58)')ar__3
        read(ar__3,4)
     +  RN_3,Name_3,ObsO_2,NExpO_1,ExpO_1,ObsNIR,NExpNIR,ExpNIR
        if(ar__3(32:32) .EQ. '') NExpO_1 = iNULL__
        if(ar__3(34:37) .EQ. '') ExpO_1 = iNULL__
        if(ar__3(51:51) .EQ. '') NExpNIR = iNULL__
        if(ar__3(53:55) .EQ. '') ExpNIR = iNULL__
c    ..............Just test output...........
        write(6,4)
     +  RN_3,Name_3,ObsO_2,NExpO_1,ExpO_1,ObsNIR,NExpNIR,ExpNIR
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table5.dat'	! Results from optical spectra

C  Format for file interpretation

    5 format(
     +  I2,1X,A16,1X,F5.3,1X,F4.1,A1,1X,F5.3,1X,A4,2X,F5.3,1X,A5,1X,
     +  F5.3,1X,A4,1X,A4,1X,A4,1X,F5.1,1X,F4.1,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table5.dat')
      write(6,*) '....Loading file: table5.dat'
      do i__=1,60
        read(1,'(A91)')ar__4
        read(ar__4,5)
     +  RN_4,Name_4,indHa,EWHa,n_EWHa,TiO5dM,SpTiO5,VOadM,SpVOa,PC3dM,
     +  SpPC3,SpComp,SpType,distdM,e_distdM,vtdM
        if(ar__4(27:30) .EQ. '') EWHa = rNULL__
        if(ar__4(33:37) .EQ. '') TiO5dM = rNULL__
c    ..............Just test output...........
        write(6,5)
     +  RN_4,Name_4,indHa,EWHa,n_EWHa,TiO5dM,SpTiO5,VOadM,SpVOa,PC3dM,
     +  SpPC3,SpComp,SpType,distdM,e_distdM,vtdM
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table6.dat'	! Results from near-infrared spectra

C  Format for file interpretation

    6 format(
     +  I2,1X,A16,1X,F4.2,1X,A4,1X,F4.2,1X,A4,1X,F5.2,1X,A4,1X,F4.2,
     +  1X,A4,1X,A4,1X,A4,1X,F4.1,1X,F3.1,1X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,27
        read(1,'(A82)')ar__5
        read(ar__5,6)
     +  RN_5,Name_5,H2OA,SpH2OA,H2OB,SpH2OB,K1,SpK1,Q,SpQ,SpMean,
     +  SpType_1,distIR,e_distIR,vtIR
        if(ar__5(41:45) .EQ. '') K1 = rNULL__
        if(ar__5(72:75) .EQ. '') distIR = rNULL__
        if(ar__5(77:79) .EQ. '') e_distIR = rNULL__
        if(ar__5(81:82) .EQ. '') vtIR = iNULL__
c    ..............Just test output...........
        write(6,6)
     +  RN_5,Name_5,H2OA,SpH2OA,H2OB,SpH2OB,K1,SpK1,Q,SpQ,SpMean,
     +  SpType_1,distIR,e_distIR,vtIR
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table7.dat'	! Results the five new subdwarfs discovered

C  Format for file interpretation

    7 format(
     +  I2,1X,A16,1X,F5.3,1X,F5.3,1X,F5.3,1X,F5.3,1X,A7,1X,A1,1X,I3,
     +  1X,I2,1X,I3,1X,I4,1X,I2,1X,I4,1X,I2,1X,I4,1X,I3,1X,I4,1X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table7.dat')
      write(6,*) '....Loading file: table7.dat'
      do i__=1,15
        read(1,'(A97)')ar__6
        read(ar__6,7)
     +  RN_6,Name_6,TiO5sd,CaH1sd,CaH2sd,CaH3sd,SpType_2,r_distsd,
     +  distsd,e_distsd,vt,RV,e_RV,UVel,e_UVel,VVel,e_VVel,WVel,e_WVel
        if(ar__6(27:31) .EQ. '') CaH1sd = rNULL__
        if(ar__6(66:69) .EQ. '') RV = iNULL__
        if(ar__6(71:72) .EQ. '') e_RV = iNULL__
c    ..............Just test output...........
        write(6,7)
     +  RN_6,Name_6,TiO5sd,CaH1sd,CaH2sd,CaH3sd,SpType_2,r_distsd,
     +  distsd,e_distsd,vt,RV,e_RV,UVel,e_UVel,VVel,e_VVel,WVel,e_WVel
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================
      stop
      end