CDS.headStuff2 FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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-25
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. VII/1B           Revised New General Catalogue    (Sulentic+, 1973)
*================================================================================
*Revised New General Catalogue of Nonstellar Astronomical Objects
*    Sulentic J.W., Tifft W.G.
*   <Univ. of Arizona Press (1973)>
*   =1973rncn.book.....S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'catalog.dat'	! The Revised NGC Catalog

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

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

      integer*4     NGC        (nr__) ! [1/7840]+= The original NGC number
      character*1   m_NGC      (nr__) ! Component of NGC (6)
      integer*4     Type       (nr__) ! Type of object (1)
      integer*4     RAh        (nr__) ! (h) Right Ascension (1975)
      real*4        RAm        (nr__) ! (min) Right Ascension (1975)
      character*1   DE_        (nr__) ! Declination (1975) sign
      integer*4     DEd        (nr__) ! (deg) Declination (1975)
      integer*4     DEm        (nr__) ! (arcmin) Declination (1975)
      real*4        GLON       (nr__) ! (deg) ? Galactic longitude
      real*4        GLAT       (nr__) ! (deg) ? Galactic latitude
      integer*4     Xpos       (nr__) ! (mm) ? Position eastwards on POSS blue print
      integer*4     Ypos       (nr__) ! (mm) ? Position northwards on POSS blue print
      real*4        Mag        (nr__) ! (mag) ? Magnitude rounded to the nearest
*                                    half magnitude
      integer*4     r_Mag      (nr__) ! ? Source of Magnitude (2)
      character*40  OldDesc    (nr__) ! Visual appearance of object transcribed from
*                                   Dreyer J.L.E. (1888) (3)
      character*56  NewDesc    (nr__) ! Palomar Sky Survey Description of each
*                                   object (4)
      character*40  Notes      (nr__) ! Cross References for RNGC objects (5)
*Note (1): the object type is coded as follows :
*    1 Open Cluster                    6 Cluster associated with nebulosity
*    2 Globular Cluster                7 Non existent
*    3 Diffuse Nebula                  8 Object in Large Magellanic Cloud
*    4 Planetary Nebula                9 Object in Small Magellanic Cloud
*    5 Galaxy                          0 Unverified southern object
*  Combination of two type numbers may appear for an object
*  (such as 28 for a Globular cluster in LMC, etc)
*Note (2): The magnitude sources are coded as follows:
*    1 de Vaucouleurs (RC1, 1964)      5  Collinder (1931)
*    2 Zwicky (1961-1968)   <VII/49>   6  Arp (1965)          <VII/13>
*    3 Vorontsov-Velyaminov <VII/62>   7  Vorontsov-Velyaminov (1931)
*    4 Lindsay  =1958MNRAS.118..172L   8  Bok (1962), Van den Bergh (1968)
*  The complete references are given in the file "adc.doc".
*Note (3): data blocks, separated by commas, each describing an aspect
*  of the visual appearance of the object from Dreyer's (1888) catalogue.
*    The appearance aspects are written in the following order:
*    (a) For nebulae the sequence of blocks is:
*        brightness, size, shape, radial brightness variation,
*        comments referring to the field.
*    (b) For clusters the sequence is:
*        identification (cluster), size, richness, compression,
*        brightness of the stars therein.
*    The various codes and abbreviations are detailed in Table 5 of
*    the file "adc.doc".
*Note (4): The data blocks in the new description do not follow the
*    regular sequence used in the old description.
*    The description are decoded by taking each individual block of
*    comma-separated data and finding the largest combination of
*    letters present in the RNGC code table (Table 6 in file "adc.doc").
*Note (5): See Table 7 in file "adc.doc" for acronyms used in
*    cross-references.
*Note (6): Some anonymous objects near NGC objects or components
*    in multiple systems are assigned the same NGC number followed
*    by a letter in alphabetic sequence

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

C  Loading file 'catalog.dat'	! The Revised NGC Catalog

C  Format for file interpretation

    1 format(
     +  1X,I4,A1,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,F6.2,1X,F6.2,
     +  1X,I3,1X,I3,1X,F4.1,1X,I1,1X,A40,1X,A56,1X,A40)

C  Effective file loading

      open(unit=1,status='old',file=
     +'catalog.dat')
      write(6,*) '....Loading file: catalog.dat'
      do i__=1,8163
        read(1,'(A192)')ar__
        read(ar__,1)
     +  NGC(i__),m_NGC(i__),Type(i__),RAh(i__),RAm(i__),DE_(i__),
     +  DEd(i__),DEm(i__),GLON(i__),GLAT(i__),Xpos(i__),Ypos(i__),
     +  Mag(i__),r_Mag(i__),OldDesc(i__),NewDesc(i__),Notes(i__)
        if(ar__(26:31) .EQ. '') GLON(i__) = rNULL__
        if(ar__(33:38) .EQ. '') GLAT(i__) = rNULL__
        if(ar__(40:42) .EQ. '') Xpos(i__) = iNULL__
        if(ar__(44:46) .EQ. '') Ypos(i__) = iNULL__
        if(ar__(48:51) .EQ. '') Mag(i__) = rNULL__
        if(ar__(53:53) .EQ. '') r_Mag(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(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
        if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
        if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c    ..............Just test output...........
        write(6,1)
     +  NGC(i__),m_NGC(i__),Type(i__),RAh(i__),RAm(i__),DE_(i__),
     +  DEd(i__),DEm(i__),GLON(i__),GLAT(i__),Xpos(i__),Ypos(i__),
     +  Mag(i__),r_Mag(i__),OldDesc(i__),NewDesc(i__),Notes(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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