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

Conversion of standardized ReadMe file for file /./ftp/cats/J/AJ/153/147 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/AJ/153/147    The orbits of Jupiter's irregular satellites   (Brozovic+, 2017)
*================================================================================
*The orbits of Jupiter's irregular satellites.
*    Brozovic M., Jacobson R.A.
*   <Astron. J., 153, 147-147 (2017)>
*   =2017AJ....153..147B    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2.dat'	! Post-fit residual statistics

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

      character*10  Sat        (nr__) ! Satellite identifier
      integer*4     b_Time     (nr__) ! (yr) [1894/2011] Time span, lower value
      integer*4     B_Time_1   (nr__) ! (yr) [2003/2016]? Time span, upper value
      integer*4     N1         (nr__) ! [8/3257] First number of points used in orbital
*                                fit
      integer*4     N2         (nr__) ! [309/3251]? Second number of points used
*                                in orbital fit
      real*4        rmsRA      (nr__) ! (arcsec) [0.118/0.656] rms of the post-fit residuals
*                                in Right Ascension (1)
      real*4        rmsDE      (nr__) ! (arcsec) [0.109/0.679] rms of the post-fit residuals
*                                in Declination
      real*4        sRA        (nr__) ! [0.395/1.056] Reduced rms of the post-fit
*                                residuals in Right Ascension (in {sigma} units)
*                                (1)
      real*4        sDE        (nr__) ! [0.365/1.138] Reduced rms of the post-fit
*                                residuals in Declination (in {sigma} units)
*Note (1): All Right Ascension residuals in this manuscript have been scaled with
*          the cosine of declination.

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

C  Declarations for 'table3.dat'	! Jupiter barycentric state vectors at
                                2010 January 1 TDB referred to the ICRF

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

      character*17  Sat_1      (nr__1) ! Satellite identifier
      real*4        Pos        (nr__1) ! (km) Position of state vector (1)
      real*4        Vel        (nr__1) ! (km/s) Velocity of state vector (1)
*Note (1): These state vectors contain a large number of decimal places and can
*          be used as the starting points in any future numerical integrations.

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

C  Declarations for 'table5.dat'	! Orbital uncertainties in the plane-of-sky,
                                in-orbit, radial, and out-of-plane directions

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

      character*10  Sat_2      (nr__2) ! Satellite identifier
      character*4   Year       (nr__2) ! (yr) Year center (1)
      real*8        P_S        (nr__2) ! (arcsec) [0.02/1500]? Plane-of-sky uncertainty (2)
      integer*4     In_O       (nr__2) ! (km) [37/5304000]? In-orbit uncertainty (3)
      integer*4     R          (nr__2) ! (km) [15/871400]? Radial uncertainty (3)
      integer*4     Out_P      (nr__2) ! (km) [24/36700]? Out-of-plane uncertainty (3)
*Note (1): Mid-epoch of the uncertainty calculation.
*Note (2): Summed RA and DE. The plane-of-sky uncertainties are the maximum
*          uncertainties for 2009-2011 January, 2019-2021 January, and
*          2029-2031 January.
*Note (3): The in-orbit, radial, and out-of-plane are rms of the uncertainties
*          during this time.

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

C  Declarations for 'table6.dat'	! *Planetocentric mean orbital elements in
                                ecliptic coordinates for 59 irregular jovian
                                satellites

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

      character*1   Group      (nr__3) ! [prj] Object group (1)
      character*10  Sat_3      (nr__3) ! Satellite identifier
      integer*4     a          (nr__3) ! (km) Semimajor axis
      real*4        e          (nr__3) ! [0.045/0.491] Eccentricity
      real*4        Inc        (nr__3) ! (deg) [16.27/168.79] Inclination
      real*4        lambda     (nr__3) ! (deg) [11.2/359.01] Mean longitude {lambda}
      real*4        omega      (nr__3) ! (deg) [3.95/349.72] Longitude of periapsis {omega}
      real*4        Omega_1    (nr__3) ! (deg) [1.32/358.58] Longitude of the ascending node
*                                 {Omega}
      real*4        dl_dt      (nr__3) ! (deg/d) [0.0831/2.7688] Mean longitude rate d{lambda}/dt
      real*8        Per        (nr__3) ! (d) [130.02/4332.59] Orbital period P_{lambda}_
      real*8        do_dt      (nr__3) ! (deg/yr) [-3.1915/1.5737] Rate of apsidal precession
*                                 d{omega}/dt
      real*8        dO_dt_1    (nr__3) ! (deg/yr) [-3.191/5.7262] Rate of nodal precession
*                                 d{Omega}/dt
      real*4        nu         (nr__3) ! [-1/1.23]? Ratio of apsidal and nodal precession
*                                 rates {nu} (2)
      character*1   l_Class    (nr__3) ! [~] Limit flag on Class
      character*10  Class      (nr__3) ! Classification based on a value of {nu} (3)
*Note (1): Group as follows:
*  p = Satellite in prograde group;
*  r = Satellite in retrograde group;
*  j = The heliocentric mean orbital elements for Jupiter.
*Note (2): {nu}=-{omega}/{Omega} for prograde and {nu}={omega}/{Omega} for
*          retrograde.
*Note (3): The categories are the same as in Cuk & Burns (2004AJ....128.2518C):
*      LK = Lidov-Kozai librators;
*      RC = Reverse circulators;
*      DC = Direct circulators;
*  Non-MS = Non-main-sequence objects;
*     MSC = Main-sequence circulators;
*      SR = Secular resonators.

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

C  Declarations for 'table7.dat'	! Minimum and maximum values of osculating orbital
                                elements, and their averages over 1000 yr

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

      character*10  Sat_4      (nr__4) ! Satellite identifier
      integer*4     b_aosc     (nr__4) ! (km) Osculating semimajor axis minimum value
      integer*4     aoscavg    (nr__4) ! (km) Osculating semimajor axis mean value
      integer*4     B_aosc_1   (nr__4) ! (km) Osculating semimajor axis maximum value
      real*4        b_eosc     (nr__4) ! [0/0.29] Osculating eccentricity minimum value
      real*4        eoscavg    (nr__4) ! [0.104/0.485] Osculating eccentricity mean
*                                  value
      real*4        B_eosc_1   (nr__4) ! [0.156/0.701] Osculating eccentricity maximum
*                                  value
      real*4        b_iosc     (nr__4) ! (deg) [25.5/161] Osculating inclination minimum value
      real*4        ioscavg    (nr__4) ! (deg) [27.7/164.8] Osculating inclination mean value
      real*4        B_iosc_1   (nr__4) ! (deg) [29.7/168.5] Osculating inclination maximum
*                                  value

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

C  Loading file 'table2.dat'	! Post-fit residual statistics

C  Format for file interpretation

    1 format(
     +  A10,1X,I4,1X,I4,1X,I4,1X,I4,1X,F5.3,1X,F5.3,1X,F5.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,59
        read(1,'(A54)')ar__
        read(ar__,1)
     +  Sat(i__),b_Time(i__),B_Time_1(i__),N1(i__),N2(i__),rmsRA(i__),
     +  rmsDE(i__),sRA(i__),sDE(i__)
        if(ar__(17:20) .EQ. '') B_Time_1(i__) = iNULL__
        if(ar__(27:30) .EQ. '') N2(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Sat(i__),b_Time(i__),B_Time_1(i__),N1(i__),N2(i__),rmsRA(i__),
     +  rmsDE(i__),sRA(i__),sDE(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Jupiter barycentric state vectors at
*                                2010 January 1 TDB referred to the ICRF

C  Format for file interpretation

    2 format(A17,1X,E25.18,1X,E25.18)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,177
        read(1,'(A69)')ar__1
        read(ar__1,2)Sat_1(i__),Pos(i__),Vel(i__)
c    ..............Just test output...........
        write(6,2)Sat_1(i__),Pos(i__),Vel(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table5.dat'	! Orbital uncertainties in the plane-of-sky,
*                                in-orbit, radial, and out-of-plane directions

C  Format for file interpretation

    3 format(A10,1X,A4,1X,F7.2,1X,I7,1X,I6,1X,I5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table5.dat')
      write(6,*) '....Loading file: table5.dat'
      do i__=1,157
        read(1,'(A44)')ar__2
        read(ar__2,3)
     +  Sat_2(i__),Year(i__),P_S(i__),In_O(i__),R(i__),Out_P(i__)
        if(ar__2(17:23) .EQ. '') P_S(i__) = rNULL__
        if(ar__2(25:31) .EQ. '') In_O(i__) = iNULL__
        if(ar__2(33:38) .EQ. '') R(i__) = iNULL__
        if(ar__2(40:44) .EQ. '') Out_P(i__) = iNULL__
c    ..............Just test output...........
        write(6,3)
     +  Sat_2(i__),Year(i__),P_S(i__),In_O(i__),R(i__),Out_P(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table6.dat'	! *Planetocentric mean orbital elements in
*                                ecliptic coordinates for 59 irregular jovian
*                                satellites

C  Format for file interpretation

    4 format(
     +  A1,1X,A10,1X,I9,1X,F5.3,1X,F6.2,1X,F6.2,1X,F6.2,1X,F6.2,1X,
     +  F6.4,1X,F7.2,1X,F7.4,1X,F7.4,1X,F5.2,1X,A1,A10)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table6.dat')
      write(6,*) '....Loading file: table6.dat'
      do i__=1,60
        read(1,'(A105)')ar__3
        read(ar__3,4)
     +  Group(i__),Sat_3(i__),a(i__),e(i__),Inc(i__),lambda(i__),
     +  omega(i__),Omega_1(i__),dl_dt(i__),Per(i__),do_dt(i__),
     +  dO_dt_1(i__),nu(i__),l_Class(i__),Class(i__)
        if(ar__3(89:93) .EQ. '') nu(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  Group(i__),Sat_3(i__),a(i__),e(i__),Inc(i__),lambda(i__),
     +  omega(i__),Omega_1(i__),dl_dt(i__),Per(i__),do_dt(i__),
     +  dO_dt_1(i__),nu(i__),l_Class(i__),Class(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table7.dat'	! Minimum and maximum values of osculating orbital
*                                elements, and their averages over 1000 yr

C  Format for file interpretation

    5 format(
     +  A10,1X,I8,1X,I8,1X,I8,1X,F5.3,1X,F5.3,1X,F5.3,1X,F5.1,1X,F5.1,
     +  1X,F5.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table7.dat')
      write(6,*) '....Loading file: table7.dat'
      do i__=1,59
        read(1,'(A73)')ar__4
        read(ar__4,5)
     +  Sat_4(i__),b_aosc(i__),aoscavg(i__),B_aosc_1(i__),b_eosc(i__),
     +  eoscavg(i__),B_eosc_1(i__),b_iosc(i__),ioscavg(i__),
     +  B_iosc_1(i__)
c    ..............Just test output...........
        write(6,5)
     +  Sat_4(i__),b_aosc(i__),aoscavg(i__),B_aosc_1(i__),b_eosc(i__),
     +  eoscavg(i__),B_eosc_1(i__),b_iosc(i__),ioscavg(i__),
     +  B_iosc_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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