FORTRAN Generation
(/./ftp/cats/J/MNRAS/399/2146)

Conversion of standardized ReadMe file for file /./ftp/cats/J/MNRAS/399/2146 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-Apr-16
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/MNRAS/399/2146    Orbits of open clusters in the Galaxy          (Wu+, 2009)
*================================================================================
*The orbits of open clusters in the Galaxy.
*    Wu Z.-Y., Zhou X., Ma J., Du C.-H.
*   <Mon. Not. R. Astron. Soc., 399, 2146-2164 (2009)>
*   =2009MNRAS.399.2146W
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! The observed data of 488 OCs in our sample

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

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

      character*17  Name       (nr__) ! Cluster name
      integer*4     RAh        (nr__) ! (h) Right ascension (J2000)
      integer*4     RAm        (nr__) ! (min) Right ascension (J2000)
      integer*4     RAs        (nr__) ! (s) Right ascension (J2000)
      character*1   DE_        (nr__) ! Declination sign (J2000)
      integer*4     DEd        (nr__) ! (deg) Declination (J2000)
      integer*4     DEm        (nr__) ! (arcmin) Declination (J2000)
      integer*4     DEs        (nr__) ! (arcsec) Declination (J2000)
      real*4        Dist       (nr__) ! (kpc) Heliocentric distance
      real*4        e_Dist     (nr__) ! (kpc) rms uncertainty on Dist
      real*4        RV         (nr__) ! (km/s) Radial velocity
      real*4        e_RV       (nr__) ! (km/s) rms uncertainty on RV
      real*4        pmRA       (nr__) ! (mas/yr) Absolute proper motion along RA (pmRA*cosDE)
      real*4        e_pmRA     (nr__) ! (mas/yr) rms uncertainty on pmRA
      real*4        pmDE       (nr__) ! (mas/yr) Absolute proper motion along DE
      real*4        e_pmDE     (nr__) ! (mas/yr) rms uncertainty on pmDE
      real*4        Age        (nr__) ! (Myr) ? Cluster age
      real*4        v_Fe_H_    (nr__) ! ([Sun]) ? Cluster metallicity

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

C  Declarations for 'table2.dat'	! The present positions and velocities of 488 OCs
                              in our sample

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

      character*17  Name_1     (nr__1) ! Cluster name
      real*8        Xpos       (nr__1) ! (kpc) X coordinate in Galactic Plane
      real*4        e_Xpos     (nr__1) ! (kpc) rms uncertainty on Xpos
      real*4        Ypos       (nr__1) ! (kpc) Y coordinate in Galactic Plane
      real*4        e_Ypos     (nr__1) ! (kpc) rms uncertainty on Ypos
      real*4        Zpos       (nr__1) ! (kpc) Z coordinate above Galactic Plane
      real*4        e_Zpos     (nr__1) ! (kpc) rms uncertainty on Zpos
      real*4        Uvel       (nr__1) ! (km/s) U velocity
      real*4        e_Uvel     (nr__1) ! (km/s) rms uncertainty on Uvel
      real*4        Vvel       (nr__1) ! (km/s) V velocity
      real*4        e_Vvel     (nr__1) ! (km/s) rms uncertainty on Vvel
      real*4        Wvel       (nr__1) ! (km/s) W velocity
      real*4        e_Wvel     (nr__1) ! (km/s) rms uncertainty on  Wvel

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

C  Declarations for 'table4.dat'	! *The orbital parameters and their errors of
                              488 OCs in our sample

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

      character*17  Name_2     (nr__2) ! Cluster name
      real*4        Ra         (nr__2) ! (kpc) Apogalactic distance
      real*4        e_Ra       (nr__2) ! (kpc) rms uncertainty on Ra
      real*4        Rp         (nr__2) ! (kpc) Perigalactic distance
      real*4        e_Rp       (nr__2) ! (kpc) rms uncertainty on Rp
      real*4        e          (nr__2) ! Orbital eccentricity
      real*4        e_e        (nr__2) ! rms uncertainty on e
      real*4        zmax       (nr__2) ! (kpc) Maximum distance above the Galactic plane
      real*4        e_zmax     (nr__2) ! (kpc) rms uncertainty on zmax
      real*4        Tp         (nr__2) ! (Myr) Orbital period
      real*4        e_Tp       (nr__2) ! (Myr) rms uncertainty on Tp Tp
      real*4        Tz         (nr__2) ! (Myr) Mean time interval of the cluster to cross
*                                   the Galactic plane from one zmax to the
*                                   other in the opposite direction
      real*4        e_Tz       (nr__2) ! (Myr) rms uncertainty on  Tz
      real*8        Jz         (nr__2) ! (kpc.km/s) z-component of the angular momentum vector (1)
      real*4        e_Jz       (nr__2) ! (kpc.km/s) rms uncertainty on Jz
*Note (1): Because of the right-handed orientation of the coordinate system
*     adopted here, the negative Jz of the z-component of the angular
*     momentum vector corresponds to prograde rotation in the Galaxy 
*     and vice versa.

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

C  Loading file 'table1.dat'	! The observed data of 488 OCs in our sample

C  Format for file interpretation

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

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,488
        read(1,'(A98)')ar__
        read(ar__,1)
     +  Name(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Dist(i__),e_Dist(i__),RV(i__),e_RV(i__),
     +  pmRA(i__),e_pmRA(i__),pmDE(i__),e_pmDE(i__),Age(i__),
     +  v_Fe_H_(i__)
        if(ar__(87:92) .EQ. '') Age(i__) = rNULL__
        if(ar__(94:98) .EQ. '') v_Fe_H_(i__) = rNULL__
        RAdeg(i__) = rNULL__
        DEdeg(i__) = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15.
        if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4.
        if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240.
        if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
        if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
        if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600.
        if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Dist(i__),e_Dist(i__),RV(i__),e_RV(i__),
     +  pmRA(i__),e_pmRA(i__),pmDE(i__),e_pmDE(i__),Age(i__),
     +  v_Fe_H_(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! The present positions and velocities of 488 OCs
*                              in our sample

C  Format for file interpretation

    2 format(
     +  A17,1X,F7.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.1,
     +  1X,F4.1,1X,F5.1,1X,F3.1,1X,F5.1,1X,F3.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,488
        read(1,'(A89)')ar__1
        read(ar__1,2)
     +  Name_1(i__),Xpos(i__),e_Xpos(i__),Ypos(i__),e_Ypos(i__),
     +  Zpos(i__),e_Zpos(i__),Uvel(i__),e_Uvel(i__),Vvel(i__),
     +  e_Vvel(i__),Wvel(i__),e_Wvel(i__)
c    ..............Just test output...........
        write(6,2)
     +  Name_1(i__),Xpos(i__),e_Xpos(i__),Ypos(i__),e_Ypos(i__),
     +  Zpos(i__),e_Zpos(i__),Uvel(i__),e_Uvel(i__),Vvel(i__),
     +  e_Vvel(i__),Wvel(i__),e_Wvel(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table4.dat'	! *The orbital parameters and their errors of
*                              488 OCs in our sample

C  Format for file interpretation

    3 format(
     +  A17,1X,F4.1,1X,F4.1,1X,F4.1,1X,F3.1,1X,F4.2,1X,F4.2,1X,F5.2,
     +  1X,F5.2,1X,F6.1,1X,F5.1,1X,F5.1,1X,F5.1,1X,F7.1,1X,F6.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table4.dat')
      write(6,*) '....Loading file: table4.dat'
      do i__=1,488
        read(1,'(A98)')ar__2
        read(ar__2,3)
     +  Name_2(i__),Ra(i__),e_Ra(i__),Rp(i__),e_Rp(i__),e(i__),
     +  e_e(i__),zmax(i__),e_zmax(i__),Tp(i__),e_Tp(i__),Tz(i__),
     +  e_Tz(i__),Jz(i__),e_Jz(i__)
c    ..............Just test output...........
        write(6,3)
     +  Name_2(i__),Ra(i__),e_Ra(i__),Rp(i__),e_Rp(i__),e(i__),
     +  e_e(i__),zmax(i__),e_zmax(i__),Tp(i__),e_Tp(i__),Tz(i__),
     +  e_Tz(i__),Jz(i__),e_Jz(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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