FORTRAN Generation
(/./ftp/cats/VII/227/)

Conversion of standardized ReadMe file for file /./ftp/cats/VII/227/ 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 2018-Oct-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. VII/227       A Catalogue of Galactic Supernova Remnants            (Green 2001)
*================================================================================
*A Catalogue of Galactic Supernova Remnants, 2001 December version
*    Green D.A.
*   <Mullard Radio Astronomy Observatory, Cambridge, United Kingdom (2001)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'snrs.dat'	! Supernova Remnant catalogue

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

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

      character*11  SNR         ! *SuperNova Remnant designation
      integer*4     RAh         ! (h) *Right Ascension J2000 hours
      integer*4     RAm         ! (min) *Right Ascension J2000 minutes
      integer*4     RAs         ! (s) *Right Ascension J2000 seconds
      character*1   DE_         ! *Declination sign
      integer*4     DEd         ! (deg) *Declination J2000 degrees
      integer*4     DEm         ! (arcmin) *Declination J2000 arcminutes
      real*4        MajDiam     ! (arcmin) *Major Angular Size of remnant
      real*4        MinDiam     ! (arcmin) *? Minor Angular Size of remnant
      character*1   u_MinDiam   ! [?] Uncertainty flag on Angular Size
      character*2   type        ! *[CFS? ] Type of remnant
      character*1   l_S_1GHz    ! [>] Limit flag on S(1GHz)
      real*4        S_1GHz      ! (Jy) *? Flux Density at 1 GHz
      character*1   u_S_1GHz    ! [?] Uncertainty flag on S(1GHz)
      real*4        Sp_Index    ! *? Spectral Index of integrated radio emission
      character*2   u_Sp_Index  ! *[?v ] Uncertainty and variability flag on SI
      character*27  Names       ! *Other names commonly used
*Note on SNR:
*  This designation is based on the galactic longitude and latitude of
*  the source centroid quoted to the nearest tenth of a degree. (Note:
*  in this catalogue additional leading zeros are not used.)
*Note on RAh, RAm, RAs, DE-, DEd, DEm:
*  The accuracy of the quoted values depends on the size of the
*  remnant. For small remnants they are to the nearest few seconds of
*  time and the nearest minute of arc for RA and DEC respectively. For
*  the larger remnants they are rounded to coarser values. They are in
*  every case sufficient to specify a point within the boundary of the
*  remnant. These coordinates are generally deduced from radio maps
*  rather than from X-ray or optical observations, and are J2000.0.
*Note on MajDiam, MinDiam:
*  Usually taken from the highest resolution radio map available,
*  although for some barely resolved sources that are thought to be SNRs
*  the only available size is that from Gaussian models after
*  deconvolution with the observed beam size. The boundary of
*  most remnants approximates reasonably well to a circle or an ellipse; a
*  single value is quoted for the angular size of the more nearly circular
*  remnants, which is the diameter of a circle with an area equal to that of
*  the remnant, but for elongated remnants the product of two values is
*  quoted, and these are the major and minor axes of the remnant boundary
*  modeled as an ellipse. In a few cases an ellipse is not a satisfactory
*  description of the boundary of the object (refer to the description of the
*  individual object given the full catalogue entry), although an angular size
*  is still quoted for information. For `filled-centre' remnants the size
*  quoted is for the largest extent of the observed radio emission, not, as
*  at times has been used, the half-width of the centrally brightened peak.
*Note on S(1GHz):
*  The flux density of the remnant at 1 GHz in Jansky. This is not a
*  measured value, but that deduced from the observed radio frequency
*  spectrum of the source. The frequency of 1 GHz is chosen because flux
*  density measurements at frequencies both above and below this value
*  are usually available.
*Note on Sp-Index, u_Sp-Index:
*  The spectral index is {alpha} where S({nu}) {prop.to} {v}^-{alpha}^
*  The spectral index of the integrated radio emission from the remnant
*  is either a value quoted from the literature, or one deduced from the
*  available integrated flux densities of the remnant. For several SNRs a
*  simple spectral model is not adequate to describe their radio emission
*  because the spectral index varies across the face of the remnant or
*  that the integrated spectrum is curved, and in these cases the spectral
*  index includes the 'v' in u_SI. In some cases, for example where the
*  remnant is highly confused with thermal emission, the spectral index
*  is given as '?' since no value can be deduced with any confidence.
*Note on type:
*  S  remnant shows a shell radio structure
*  F  remnant shows a filled center ('filled centre') radio structure
*  C  remnant shows a composite or combination radio structure
*  S?, C?, F? if there is some uncertainty
*  ?  object is conventionally considered a SNR although its nature is
*     poorly known or not well understood.
*Note on Names:
*  Other names commonly used for the object. These are given
*  in parentheses if the remnant is only part of the source.
*  For some objects, notably the Crab Nebula, not all common names
*  are given.

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

C  Loading file 'snrs.dat'	! Supernova Remnant catalogue

C  Format for file interpretation

    1 format(
     +  A11,2X,I2,1X,I2,1X,I2,2X,A1,I2,1X,I2,1X,F5.1,1X,F5.1,A1,1X,A2,
     +  1X,A1,F6.1,A1,1X,F4.2,A2,1X,A27)

C  Effective file loading

      open(unit=1,status='old',file=
     +'snrs.dat')
      write(6,*) '....Loading file: snrs.dat'
      do i__=1,231
        read(1,'(A89)')ar__
        read(ar__,1)
     +  SNR,RAh,RAm,RAs,DE_,DEd,DEm,MajDiam,MinDiam,u_MinDiam,type,
     +  l_S_1GHz,S_1GHz,u_S_1GHz,Sp_Index,u_Sp_Index,Names
        if(ar__(37:41) .EQ. '') MinDiam = rNULL__
        if(ar__(48:53) .EQ. '') S_1GHz = rNULL__
        if(ar__(56:59) .EQ. '') Sp_Index = rNULL__
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  SNR,RAh,RAm,RAs,DE_,DEd,DEm,MajDiam,MinDiam,u_MinDiam,type,
     +  l_S_1GHz,S_1GHz,u_S_1GHz,Sp_Index,u_Sp_Index,Names
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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