FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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.5, on 2013-May-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__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. J/other/Ap/52.369   Blue stellar objects in strip DE=47{deg}    (Erastova, 2009)
*================================================================================
*Byurakan spectral sky surveys. Blue stellar objects in the strip at
*{delta}=+47{deg}.
*    Erastova L.K.
*   <Astrophysics, 52, 369-376 (2009)>
*   =2009Ap.....52..369E
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! List of observed objects

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

      real*8        RA_         ! (deg) Right Ascension J2000
      real*8        Dec         ! (deg)     Declination J2000
      character*9   Name        ! Byurakan source name (HHMM+DDDA, B1950)
      character*1   S_G         ! [sg] stellar or galaxy classification
      integer*4     RAh         ! (h) Right ascension (J2000)
      integer*4     RAm         ! (min) Right ascension (J2000)
      real*4        RAs         ! (s) Right ascension (J2000)
      character*1   DE_         ! Declination sign (J2000)
      integer*4     DEd         ! (deg) Declination (J2000)
      integer*4     DEm         ! (arcmin) Declination (J2000)
      real*4        DEs         ! (arcsec) Declination (J2000)
      character*4   Surv        ! Survey type
      integer*4     size1       ! (arcsec) ? Angular dimension for diffuse objects (max)
      integer*4     size2       ! (arcsec) ? Angular dimension for diffuse objects (min)
      real*4        Bmag        ! (mag) Visuble blue magnitude
      real*4        BmagA       ! (mag) ? B magnitude according to APM
      real*4        z           ! ? Redshift
      character*6   Type        ! Physical type according to the form of its
*                                   slit spectrum
      character*9   r_z         ! Source of the redshift (1)
      character*10  OName       ! Other name
      character*7   r_OName     ! Reference for OName (2)
*Note (1): Source of redshift as follows:
*     HS = Hamburg Survey
*    SBS = Second Byurakan Survey
*   SDSS = Sloan Digital Sky Survey
*Note (2): References as follows:
*      4 = 1987ApJS...63..809S Sanduleak et al.
*      5 = 1989ApJS...70..173S Sanduleak & Pesch
*      6 = 1989PASP..101.1081S Sanduleak & Pesch
*      7 = 1989A&A...223L...1G Groote et al.
*      9 = 2003A&A...400..939E Edelmann et al., Cat. J/A+A/400/939
*     10 = 1995ApJS...98...41P Pesch et al.
*     11 = 2004ApJS..153..119M Mitchell & Usher, Cat. J/ApJS/153/119
*     12 = 1999A&AS..139....1T Thuan et al., Cat. J/A+AS/139/1
*     13 = 1993BSAO...36....5S Stepanian et al.
*     14 = 1999PASP..111.1099S Stepanian et al.
*     15 = 1990Afz....33...89S Stepanian et al.
*     16 = 2000BSAO...49...32S Stepanian et al.
*     17 = 1999ApJS..121....1M McCook & Sion, Cat. III/210, III/235
*     18 = 1995A&A...293L..21R Reimers et al.
*     19 = 1995A&AS..110..469B Bade et al., Cat. J/A+AS/110/469

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

C  Declarations for 'notes.dat'	! Individual notes

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

      character*9   Name_1      ! Byurakan source name (HHMM+DDDA, B1950)
      character*70  Note        ! Text of the note

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

C  Loading file 'table1.dat'	! List of observed objects

C  Format for file interpretation

    1 format(
     +  A9,1X,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A4,1X,
     +  I2,1X,I2,1X,F4.1,1X,F5.2,1X,F6.4,1X,A6,1X,A9,1X,A10,A7)

C  Effective file loading

      open(unit=1,file='table1.dat', status='old')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,111
        read(1,'(A99)')ar__
        read(ar__,1)
     +  Name,S_G,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Surv,size1,size2,Bmag,
     +  BmagA,z,Type,r_z,OName,r_OName
        if(ar__(42:43) .EQ. '') size1 = iNULL__
        if(ar__(45:46) .EQ. '') size2 = iNULL__
        if(ar__(53:57) .EQ. '') BmagA = rNULL__
        if(ar__(59:64) .EQ. '') z = rNULL__
c       Derive coordinates RA_ and Dec from input data
c       (RA_ and Dec are set to rNULL_ when unknown)
        RA_ = RAh
        if(RAh .GE. 0) RA_=RAh*15.
        if(RAm .GE. 0) RA_=RA_+RAm/4.
        if(RAs .GE. 0) RA_=RA_+RAs/240.
        Dec = DEd
        if(DEm .GE. 0) Dec=Dec+DEm/60.
        if(DEs .GE. 0) Dec=Dec+DEs/3600.
        if(DE_.EQ.'-'.AND.Dec.GE.0) Dec=-Dec
c    ..............Just test output...........
        write(6,1)
     +  Name,S_G,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Surv,size1,size2,Bmag,
     +  BmagA,z,Type,r_z,OName,r_OName
        write(6,'(6H Pos: 2F8.4)') RA_,Dec
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'notes.dat'	! Individual notes

C  Format for file interpretation

    2 format(A9,1X,A70)

C  Effective file loading

      open(unit=1,file='notes.dat', status='old')
      write(6,*) '....Loading file: notes.dat'
      do i__=1,26
        read(1,'(A80)')ar__1
        read(ar__1,2)Name_1,Note
c    ..............Just test output...........
        write(6,2)Name_1,Note
c    .......End.of.Just test output...........
      end do
      close(1)

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