CDS.headStuff2 FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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/AJ/138/517      CaII spectroscopy of SMC red giants         (Parisi+, 2009)
*================================================================================
*Ca II triplet spectroscopy of Small Magellanic Cloud red giants.
*I. Abundances and velocities for a sample of clusters.
*    Parisi M.C., Grocholski A.J., Geisler D., Sarajedini A., Claria J.J.
*   <Astron. J., 138, 517-532 (2009)>
*   =2009AJ....138..517P
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! SMC clusters

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

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

      character*5   Name        ! Cluster name
      character*38  ONames      ! Other names
      integer*4     RAh         ! (h) Right ascension (J2000)
      integer*4     RAm         ! (min) Right ascension (J2000)
      integer*4     RAs         ! (s) Right ascension (J2000)
      character*1   DE_         ! Declination sign (J2000)
      integer*4     DEd         ! (deg) Declination (J2000)
      integer*4     DEm         ! (arcmin) Declination (J2000)
      integer*4     DEs         ! (arcsec) Declination (J2000)

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

C  Declarations for 'table2.dat'	! Position and measured values for member stars

      integer*4 nr__1
      parameter (nr__1=102)	! Number of records
      character*72 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)

      character*5   Name_1      ! Cluster name
      integer*4     ID          ! Cluster member identification number
      integer*4     RAh_1       ! (h) Hour of Right Ascension (J2000)
      integer*4     RAm_1       ! (min) Minute of Right Ascension (J2000)
      real*4        RAs_1       ! (s) Second of Right Ascension (J2000)
      character*1   DE__1       ! Sign of the Declination (J2000)
      integer*4     DEd_1       ! (deg) Degree of Declination (J2000)
      integer*4     DEm_1       ! (arcmin) Arcminute of Declination (J2000)
      real*4        DEs_1       ! (arcsec) Arcsecond of Declination (J2000)
      real*4        RV          ! (km/s) Heliocentric radial velocity
      real*4        e_RV        ! (km/s) The 1{sigma} error in RV
      real*4        V_VHB       ! (mag) ? Brightness difference between star and
*                                   cluster's horizontal branch
      real*4        W_Ca        ! (0.1nm) ? Summed Ca II equivalent width in {AA} (1)
      real*4        e_W_Ca      ! (0.1nm) ? The 1{sigma} error in SigmaW
      real*4        v_Fe_H_     ! ([Sun]) ? Metallicity
      real*4        e__Fe_H_    ! ([Sun]) ? The error in Metallicity
*Note (1): Where SigmaW = EW(8498) + EW(8542) + EW(8662).

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

C  Loading file 'table1.dat'	! SMC clusters

C  Format for file interpretation

    1 format(A5,1X,A38,1X,I2,1X,I2,1X,I2,1X,A1,I2,1X,I2,1X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,16
        read(1,'(A63)')ar__
        read(ar__,1)Name,ONames,RAh,RAm,RAs,DE_,DEd,DEm,DEs
        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)Name,ONames,RAh,RAm,RAs,DE_,DEd,DEm,DEs
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Position and measured values for member stars

C  Format for file interpretation

    2 format(
     +  A5,1X,I2,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F5.2,1X,F5.1,
     +  1X,F3.1,1X,F5.2,1X,F4.2,1X,F4.2,1X,F6.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,102
        read(1,'(A72)')ar__1
        read(ar__1,2)
     +  Name_1,ID,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,RV,e_RV,
     +  V_VHB,W_Ca,e_W_Ca,v_Fe_H_,e__Fe_H_
        if(ar__1(45:49) .EQ. '') V_VHB = rNULL__
        if(ar__1(51:54) .EQ. '') W_Ca = rNULL__
        if(ar__1(56:59) .EQ. '') e_W_Ca = rNULL__
        if(ar__1(61:66) .EQ. '') v_Fe_H_ = rNULL__
        if(ar__1(68:72) .EQ. '') e__Fe_H_ = rNULL__
        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_1 .GT. -180) RAdeg_1=RAh_1*15.
        if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4.
        if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240.
        if(DEd_1 .GE. 0) DEdeg_1=DEd_1
        if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60.
        if(DEs_1 .GE. 0) DEdeg_1=DEdeg_1+DEs_1/3600.
        if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1
c    ..............Just test output...........
        write(6,2)
     +  Name_1,ID,RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,RV,e_RV,
     +  V_VHB,W_Ca,e_W_Ca,v_Fe_H_,e__Fe_H_
        write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1
c    .......End.of.Just test output...........
      end do
      close(1)

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