FORTRAN Generation
(/./ftp/cats/I/80)

Conversion of standardized ReadMe file for file /./ftp/cats/I/80 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-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. I/80        Catalog of 5268 Standard Stars, Normal System N30 (Morgan 1952)
*================================================================================
*Catalog of 5,268 Standard Stars Based on the Normal System N30
*     Morgan H.R.
*    <Astron. Papers Amer. Ephemeris 13, Part III (1952)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'n30.dat'	! The N30 catalog of 5268 standard stars

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

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

      integer*4     N30        (nr__) ! N30 running number
      character*8   DM         (nr__) ! !DM number (Present for all stars)
      integer*4     GC         (nr__) ! [1/33342]? GC number (blank if not present)
      integer*4     HPmag      (nr__) ! (0.01mag) *Harvard photometric magnitude
      character*4   HDSp       (nr__) ! *Henry Draper (HD) spectral type
      integer*4     RAh        (nr__) ! (h) *Right ascension (equinox B1950.0) in hours
      integer*4     RAm        (nr__) ! (min) *RA in minutes
      real*4        RAs        (nr__) ! (s) *RA in seconds
      integer*4     RA3rd      (nr__) ! (0.01s) *Third term in right ascension
      integer*4     pmRA       (nr__) ! (0.01s/ha) Centennial proper motion in RA
      integer*4     D_pmRA     (nr__) ! (0.01s/ha) ? Centennial secular variation in pmRA
      integer*4     EpRA_1900  (nr__) ! (0.1yr) Mean epoch of RA (0.1 yr) (1900+)
      integer*4     w_RAs      (nr__) ! *weight of RA
      character*1   DE_        (nr__) ! sign
      integer*4     DEd        (nr__) ! (deg) *Declination (equinox B1950.0) in degrees
      integer*4     DEm        (nr__) ! (arcmin) *DEC in arcminutes
      real*4        DEs        (nr__) ! (arcsec) *DEC in arcseconds
      integer*4     DEC3rd     (nr__) ! (0.1arcsec) *Third term in declination
      integer*4     pmDE       (nr__) ! (marcsec/a) Centennial proper motion in declination
      integer*4     D_pmDE     (nr__) ! (marcsec/a) ? Centennial secular variation in pmDE
      integer*4     EpDE_1900  (nr__) ! (0.1yr) Mean epoch of DEC (0.1 yr) (1900+)
      integer*4     w_DEs      (nr__) ! *weight of DEC
      character*1   rem        (nr__) ! [* ] "*" if there is a remark in remarks.dat
*Note on HPmag:
*  For double stars, if the position is for one component, the magnitude of
*  that component is given and the magnitude, distance and position angle
*  of the companion are given in the notes (remarks.dat). If the position
*  is for the mean, center of light, or center of gravity, the combined
*  magnitude is given and the magnitudes, distance and position angle of
*  the components are given in the notes. Where the position is for the
*  center of gravity, the orbital corrections used in the reduction of the
*  observation were taken from the GC, Vol. I, Ap. II. For double stars of
*  distances 1" to 2", there is an uncertainty as to part observed,
*  depending upon the relative magnitudes of the components. If the
*  components are separated and differ considerably in magnitude, then the
*  use of screens cuts out the fainter star. There are a number of such
*  stars and in older work the observations were reduced as the mean, or
*  center of light. Where it seems probable that the new position is for
*  the brighter star and the GC gives a mean, a note is given. The
*  magnitudes of variable stars are given as a blank followed by three
*  zeroes.
*Note on HDSp:
*  Composite spectra are given as combinations; e.g. KOAO or KO+A. A few
*  peculiar composite spectra require > 4 characters and the p's are
*  omitted in the fields, but given in the notes.
*Note on RAh, RAm, RAs, DEd, DEm, DEs:
*  Right ascension for equinox and epoch 1950.0 were brought up from epoch
*  of observation using Newcomb's precession and the proper motions in this
*  catalog.
*Note on RA3rd, DEC3rd:
*  The first and second terms are not included on the original tape.
*Note on w_RAs:
*  Sum of combining weights used in forming the normal position in RA.
*Note on w_DEs:
*  Sum of combining weights used in forming the normal position in Dec.

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

C  Declarations for 'remarks.dat'	! Remarks

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

      integer*4     N30_1      (nr__1) ! N30 running number
      character*74  rem_1      (nr__1) ! Remark(s)

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

C  Loading file 'n30.dat'	! The N30 catalog of 5268 standard stars

C  Format for file interpretation

    1 format(
     +  I4,A8,I5,I4,A4,I2,I2,F6.3,I7,I5,I7,I3,I3,A1,I2,I2,F5.2,I5,I5,
     +  I3,I3,I3,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'n30.dat')
      write(6,*) '....Loading file: n30.dat'
      do i__=1,5268
        read(1,'(A90)')ar__
        read(ar__,1)
     +  N30(i__),DM(i__),GC(i__),HPmag(i__),HDSp(i__),RAh(i__),
     +  RAm(i__),RAs(i__),RA3rd(i__),pmRA(i__),D_pmRA(i__),
     +  EpRA_1900(i__),w_RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),
     +  DEC3rd(i__),pmDE(i__),D_pmDE(i__),EpDE_1900(i__),w_DEs(i__),
     +  rem(i__)
        if(ar__(13:17) .EQ. '') GC(i__) = iNULL__
        if(ar__(48:54) .EQ. '') D_pmRA(i__) = iNULL__
        if(ar__(81:83) .EQ. '') D_pmDE(i__) = iNULL__
        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)
     +  N30(i__),DM(i__),GC(i__),HPmag(i__),HDSp(i__),RAh(i__),
     +  RAm(i__),RAs(i__),RA3rd(i__),pmRA(i__),D_pmRA(i__),
     +  EpRA_1900(i__),w_RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),
     +  DEC3rd(i__),pmDE(i__),D_pmDE(i__),EpDE_1900(i__),w_DEs(i__),
     +  rem(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 'remarks.dat'	! Remarks

C  Format for file interpretation

    2 format(I4,2X,A74)

C  Effective file loading

      open(unit=1,status='old',file=
     +'remarks.dat')
      write(6,*) '....Loading file: remarks.dat'
      do i__=1,277
        read(1,'(A80)')ar__1
        read(ar__1,2)N30_1(i__),rem_1(i__)
c    ..............Just test output...........
        write(6,2)N30_1(i__),rem_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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