FORTRAN Generation
(/./ftp/cats/B/astorb)

Conversion of standardized ReadMe file for file /./ftp/cats/B/astorb 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. B/astorb       Orbits of Minor Planets                     (Bowell+, 2014-)
*================================================================================
*The Asteroid Orbital Elements Database, version 2022-Dec-12
*       Bowell E., Wasserman L., Moskovitz N., Burt B., Schottland R.
*      <Lowell Observatory (1999-2014)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'astorb.dat'	! The catalog of Orbits

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

      integer*4     Planet      ! [1,]?+ Asteroid number (blank if unnumbered)
      character*18  Name        ! Name or preliminary designation.
      character*15  CompName    ! Orbit Computer.
      real*4        H           ! (mag) Absolute magnitude H parameter (1)
      real*4        G           ! Slope magnitude parameter (1)
      real*4        B_V         ! (mag) ? Color index (see E.F.Tedesco, pp.1090-1138)
      real*4        Diam        ! (km) ? IRAS diameter (see E.F.Tedesco,
*                                    pp.1151-1161; catalog <II/190>)
      character*4   IRAScl      ! IRAS Taxonomic classification
      integer*4     Xflg        ! [0/31] Planet-crossing code (4)
      integer*4     Oflg        ! [0/255] Orbit computation code (5)
      integer*4     Sflg        ! [0/31] Survey observation code (6)
      integer*4     MPCC        ! [0/7] MPC critical-list code (7)
      integer*4     LowC        ! [0/5] Lowell Observatory discovery code (8)
      integer*4     FlaC        ! [0/10] Flagstaff Station Code (9)
      integer*4     Narc        ! ? Orbital arc, days, spanned by observations
*                                   used in orbit computation.
      integer*4     Nobs        ! Number of observations used in orbit
*                                   computation.
      character*8   Epoch       ! ("YYYYMMDD") Epoch of osculation, yyyymmdd (TDT) (2)
      real*8        M           ! (deg) Mean anomaly (3)
      real*8        omega       ! (deg) Argument of perihelion (3)
      real*8        Omega_1     ! (deg) Longitude of ascending node (3)
      real*8        i           ! (deg) Inclination (3)
      real*8        e           ! Eccentricity (3)
      real*8        a           ! (AU) ? Semimajor axis (3)
      integer*4     DateOrb     ! ("YYYYMMDD") Date of orbit computation
      real*4        CEU         ! (arcsec) ?=0 Current Ephemeris Uncertainty (10)
      real*4        dCEU        ! (arcsec/d) ?=0 Rate of change of CEU (10)
      integer*4     DateCEU     ! ("YYYYMMDD") ?=0 Date of CEU
      real*4        PEU0        ! (arcsec) ?=0 Next Peak Ephemeris Uncertainty (PEU) (11)
      integer*4     DatePEU0    ! ("YYYYMMDD") ?=0 Date of PEU0
      real*4        PEU1        ! (arcsec) ?=0 Largest PEU in 10 years from DatePEU0 (11)
      integer*4     DatePEU1    ! ("YYYYMMDD") ?=0 Date of PEU1
      real*4        PEU2        ! (arcsec) ?=0 As PEU1, assuming that two observations
*                                   were made at DatePEU0 (11)
      integer*4     DatePEU2    ! ("YYYYMMDD") ?=0 Date of PEU2
      character*1   mod         ! [a*] added or updated (12)
      integer*4     modDate     ! ("YYYYMMDD") ? Date of last modification (12)
*Note (1):
*    Absolute magnitude H, mag [see E. Bowell et al., pp. 549-554, in
*    "Asteroids II", R. P. Binzel et al. (eds.), The University of Arizona
*    Press, Tucson, 1989 and more recent Minor Planet Circulars].
*    Note that H may be given to 2 decimal places (e.g., 13.41), 1 decimal
*    place (13.4) or zero decimal (13.), depending on its estimated
*    accuracy. H is given to two decimal places for all unnumbered
*    asteroids, even though it may be very poorly known.
*Note (2):
*    The epoch is the Julian date (TDT) ending in 00.5 nearest the date the
*    file was created. Thus, as the file is updated, epochs will succeed
*    each other at 100-day intervals on or after Julian dates ending in
*    50.5 (19960308, 19960616, 19960924, 19970102,...)
*Note (3): the osculating elements are heliocentric, on J2000
*Note (4): Planet-crossing asteroids
*    (Note: Because some orbits are very poor (or erroneously linked),
*    there may be errors in assignment of these parameter values)
*    The values are:
*      1 =  Earth-crossing asteroid (ECA), according to Shoemaker et al.'s
*           definition (In "Asteroids", pp. 253-282, T. Gehrels, ed., The
*           University of Arizona Press, Tucson, 1979 ). Some ECAs are
*           currently Amors (q.v.). ECAs have been identified prior to May
*           1991. After that date, asteroids having q < 1.0167 AU have been
*           assumed to be ECAs. Thus, in the latter group, some may not be
*           ECAs, and some asteroids assumed to be Amors may be ECAs.
*      2 =  Asteroids having perihelia less than the aphelion distance of the
*           Earth (1.0167 AU), but which are not ECAs.
*      4 =  Amors (1.0167 < q < 1.3 AU) (but see also type 1).
*      8 =  Mars crossers (1.3 < q < 1.6660 AU).
*     16 =  Outer-planet crossers (excluding Jupiter Trojans).
*      n =  Asteroids (excluding Mars and Jupiter Trojans) that cross both
*           inner- and outer-planet orbits. For example, n=24 crosses the
*           orbits of Mars (q < 1.6660 AU) and Jupiter (Q > 4.950 AU).
*Note (5): Orbit computation.
*      1 =  Orbits derived from uncertainly, perhaps erroneously linked
*           observations.
*      2 =  Eccentricity assumed.
*      4 =  Eccentricity and semimajor axis assumed.
*      8 =  For numbered asteroids, omitted observations have resulted in
*           degradation of a so-called orbit-quality parameter (OQP, see K.
*           Muinonen and E. Bowell, Icarus 104, 255-279, 1993), generally by
*           more than 0.1. The corresponding ephemeris uncertainty has
*           increased by about 25% or more.
*     16 =  OQP degrades by more than 0.1 if unsubstantiated observations
*           (e.g., one-night apparitions) are omitted.
*     32 =  Orbit derived from data containing observations not in
*           Minor Planet Center files
*     64 =  H is unknown; H = 14 mag assumed.
*    128 =  Asteroid sought, but not found.
*      n  = Sum of preceding entries. For example, n=3 pertains to an
*           uncertainly linked orbit for which the eccentricity was assumed.
*Note (6): Asteroids observed during the course of major surveys.
*    Our definition includes asteroids that were observed but not
*    discovered during the course of a survey.
*      1 =  Palomar-Leiden survey (PLS) asteroids.
*      2 =  Palomar-Leiden T-2 survey asteroids.
*      4 =  Palomar-Leiden T-3 survey asteroids.
*      8 =  U.K. Schmidt Telescope-Caltech asteroid survey (UCAS) asteroids.
*     16 =  Palomar-Leiden T-1 survey asteroids.
*      n =  Asteroids observed in more than one survey. For example, n=3
*           denotes an asteroid observed in both the PLS and T-2 surveys.
*Note (7): Minor Planet Center (MPC) critical-list numbered asteroids.
*      1 =  Lost asteroid.
*      2 =  Asteroids observed at only two apparitions.
*      3 =  Asteroids observed at only three apparitions.
*      4 =  Asteroids observed at four or more apparitions, last more than
*           ten years ago.
*      5 =  Asteroids observed at four or more apparitions, only one night in
*           last ten years.
*      6 =  Other poorly observed asteroids observed at four or more
*           apparitions.
*      7 =  Absolute magnitude poorly known (not on MPC critical-list).
*Note (8): Lowell Observatory and related discoveries
*      1 =  Asteroids discovered by E. Bowell.
*      2 =  Non-Bowell discoveries from Lowell search programs.
*      3 =  Discovered jointly by E. Bowell and another person connected
*           with Lowell search programs.
*Note (9): Rank, in decreasing importance, for our collaborative
*     program of astrometry using the transit circle of the
*     U.S. Naval Observatory Flagstaff Station.
*     10 =  Exceptionally important, to be observed frequently. Principally
*           space mission targets and occultation candidates.
*      9 =  Asteroids useful for mass determination.
*      8 =  Asteroids for which one or two additional nights' observation
*           are required to satisfy orbit-update requirements. Asteroids
*           of type 6:7 whose ephemeris uncertainties are between 2 and 5
*           arcsec within the next ten years or so.
*      7 =  Bowell unnumbered discoveries whose ephemeris uncertainties
*           are less than 2 arcsec within the next ten years or so. MPC
*           critical-list asteroids.
*      6 =  Planet-crossers of type 6:5.
*      5 =  Numbered asteroids whose ephemeris uncertainties are between
*           2 and 5 arcsec within the next ten years or so. Unnumbered
*           asteroids that should be numberable after one or two more
*           nights' observation.
*Note (10): The current 1-{sigma} ephemeris uncertainty CEU and its rate
*    of change dCEU indicate whether an asteroid ought to be located in an
*    observer's field of view. A CEU greater than all three of the peak
*    ephemeris uncertainties (PEU) implies that the asteroid's ephemeris
*    uncertainty is currently greater than at any time in the next ten
*    years. Such asteroids are prime targets for observation because their
*    orbits are subject to the greatest improvement for years to come. Note
*    that, because ephemeris uncertainties have been computed using 2-body
*    rather than n-body error propagation (see K. Muinonen and E. Bowell,
*    Icarus 104, 255-279, 1993), uncertainties for Earth-approaching
*    asteroids may have been misestimated by a factor of several.
*Note (11): Peak ephemeris uncertainties generally occur
*    near opposition or conjunction (the latter are more prevalent for
*    Earth-crossing asteroids). The next PEU [parameter PEU0] usually
*    indicates the best time to make astrometric observations for orbit
*    improvement, as will the PEU over the next 10 years [parameter PEU1].
*    Special effort should be made to observe asteroids whose next PEUs are
*    the greatest during the next 10 years [i.e., parameter PEU0 exceeds
*    both parameters PEU1 and PEU2]. Parameter PEU2 may be used to quantify
*    the amount of orbital improvement that would result from observing at
*    or near the date of next PEU. For example, if the next PEU is 1.2D+02
*    arcsec, and parameter PEU2 has value 6.0D+00 arcsec, a 20-fold
*    ephemeris improvement (and approximately equal improvement in the
*    uncertainties of the orbital elements) could be made. Note that
*    numbered asteroids whose orbits are satisfactory have all three PEUs
*    less than about 2 arcsec (absolute). Consequently, numbered asteroids
*    whose ephemeris uncertainties, as indicated by the CEU and PEUs, at
*    any time exceed about 2 arcsec should be targeted for observation.
*    Unnumbered asteroids whose ephemeris uncertainties [as per parameter
*    PEU2] could be brought below about 2 arcsec, would probably then be
*    candidates for numbering. A parameter PEU2 PEU greater than a
*    parameter PEU1 PEU implies that observing at or near the date of the
*    next PEU [parameter PEU0] may actually cause ephemeris and orbit
*    degradation. Thus, there is no point in making such observations
*    unless they are numerous and/or of high accuracy.
*Note (12): the two columns "mod" and "modDate" are added at CDS and
*    precises the date of the last modification of the number of
*    observations (columns "Nobs" and "Narc"). The column "mod" contains
*    an "a" for the date of addition of the asteroid, and a "*" for the
*    date of last change in the number of observations. Note that the
*    date is only approximative to about 1 week.

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

C  Loading file 'astorb.dat'	! The catalog of Orbits

C  Format for file interpretation

    1 format(
     +  I6,1X,A18,1X,A15,1X,F5.2,1X,F5.2,1X,F4.2,1X,F5.1,1X,A4,2X,I3,
     +  1X,I3,1X,I3,1X,I3,1X,I3,1X,I3,1X,I5,1X,I4,1X,A8,1X,F10.6,1X,
     +  F10.6,1X,F10.6,F10.6,1X,F10.8,F13.8,1X,I8,1X,E7.1,1X,E8.1,1X,
     +  I8,1X,E7.1,1X,I8,1X,E7.1,1X,I8,1X,E7.1,1X,I8,A1,I8)

C  Effective file loading

      open(unit=1,status='old',file=
     +'astorb.dat')
      write(6,*) '....Loading file: astorb.dat'
      do i__=1,1078400
        read(1,'(A276)')ar__
        read(ar__,1)
     +  Planet,Name,CompName,H,G,B_V,Diam,IRAScl,Xflg,Oflg,Sflg,MPCC,
     +  LowC,FlaC,Narc,Nobs,Epoch,M,omega,Omega_1,i,e,a,DateOrb,CEU,
     +  dCEU,DateCEU,PEU0,DatePEU0,PEU1,DatePEU1,PEU2,DatePEU2,mod,
     +  modDate
        if(ar__(1:6) .EQ. '') Planet = iNULL__
        if(ar__(55:58) .EQ. '') B_V = rNULL__
        if(ar__(60:64) .EQ. '') Diam = rNULL__
        if(ar__(96:100) .EQ. '') Narc = iNULL__
        if(ar__(169:181) .EQ. '') a = rNULL__
        if(ar__(269:276) .EQ. '') modDate = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  Planet,Name,CompName,H,G,B_V,Diam,IRAScl,Xflg,Oflg,Sflg,MPCC,
     +  LowC,FlaC,Narc,Nobs,Epoch,M,omega,Omega_1,i,e,a,DateOrb,CEU,
     +  dCEU,DateCEU,PEU0,DatePEU0,PEU1,DatePEU1,PEU2,DatePEU2,mod,
     +  modDate
c    .......End.of.Just test output...........
      end do
      close(1)

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