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-Jun-18
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/NewA/11.27  2MASS observation of BL Lac objects      (Chen+, 2005)
*================================================================================
*2MASS observation of BL Lac objects.
*    Chen P.S., Fu H.W., Gao Y.F.
*   <New Astronomy, 11, 27-42 (2005)>
*   =2005NewA...11...27C
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! 2MASS observations of BL Lac objects

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

      real*8        RA_         ! (deg) Right Ascension J2000
      real*8        Dec         ! (deg)     Declination J2000
      integer*4     Seq         ! Sequential number
      character*17  Name        ! BL Lac object Name
      character*13  USNO        ! USNO-A2 or USNO-B1 number
      character*1   n_USNO      ! [AB] USNO-A2 (A) or USNO-B1 (B)
      integer*4     RAh         ! (h) 2MASS Right ascension (J2000)
      integer*4     RAm         ! (min) 2MASS Right ascension (J2000)
      real*4        RAs         ! (s) 2MASS Right ascension (J2000)
      character*1   DE_         ! 2MASS Declination sign (J2000)
      integer*4     DEd         ! (deg) 2MASS Declination (J2000)
      integer*4     DEm         ! (arcmin) 2MASS Declination (J2000)
      real*4        DEs         ! (arcsec) 2MASS Declination (J2000)
      real*4        r1          ! (arcsec) Distance between BL Lac object and
*                                   related USNO source
      real*4        r2          ! (arcsec) Distance between USNO source and
*                                   related 2MASS source
      real*4        Vmag        ! (mag) ? V magnitude
      real*4        Jmag        ! (mag) 2MASS J magnitude
      character*1   n_Jmag      ! [*] * indicates an upper limit for Jmag
      real*4        e_Jmag      ! (mag) ? rms uncertainty on Jmag
      real*4        Hmag        ! (mag) 2MASS H magnitude
      character*1   n_Hmag      ! [*] * indicates an upper limit for Hmag
      real*4        e_Hmag      ! (mag) ? rms uncertainty on Hmag
      real*4        Kmag        ! (mag) 2MASS K magnitude
      character*1   n_Kmag      ! [*] * indicates an upper limit for Kmag
      real*4        e_Kmag      ! (mag) ? rms uncertainty on Kmag
      real*4        alpha_J_K   ! ? Power spectral index between J and K bands
      real*4        z           ! ? Redshift
      character*5   Type        ! Type of object (1)
      character*3   rad         ! [*st ] Radio note (2)
      character*1   u_Av        ! [)] Uncertainty flag on Av
      real*4        Av          ! (mag) ? Interstellar extinction coefficient Av
      character*1   Host        ! [#] #: possible influence from the host galaxy
*Note (1): Type of object as follows:
*    BL  = confirmed BL Lac object
*    BL? = probable BL Lac object
*    pBL = possible BL Lac object
*    ?   = questionable BL Lac object
*    HP  = highly polarized BL Lac object
*Note (2): Radio note as follows:
*    *   = source not detected in the radio band
*    *st = source not detected in the radio band, star

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

C  Loading file 'table1.dat'	! 2MASS observations of BL Lac objects

C  Format for file interpretation

    1 format(
     +  I3,1X,A17,1X,A13,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,
     +  F4.1,1X,F4.2,1X,F4.2,1X,F5.2,1X,F6.3,A1,1X,F5.3,1X,F6.3,A1,1X,
     +  F5.3,1X,F6.3,A1,1X,F5.3,1X,F5.2,1X,F5.3,1X,A5,2X,A3,A1,F5.3,
     +  3X,A1)

C  Effective file loading

      open(unit=1,file='table1.dat', status='old')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,511
        read(1,'(A151)')ar__
        read(ar__,1)
     +  Seq,Name,USNO,n_USNO,RAh,RAm,RAs,DE_,DEd,DEm,DEs,r1,r2,Vmag,
     +  Jmag,n_Jmag,e_Jmag,Hmag,n_Hmag,e_Hmag,Kmag,n_Kmag,e_Kmag,
     +  alpha_J_K,z,Type,rad,u_Av,Av,Host
        if(ar__(72:76) .EQ. '') Vmag = rNULL__
        if(ar__(86:90) .EQ. '') e_Jmag = rNULL__
        if(ar__(100:104) .EQ. '') e_Hmag = rNULL__
        if(ar__(114:118) .EQ. '') e_Kmag = rNULL__
        if(ar__(120:124) .EQ. '') alpha_J_K = rNULL__
        if(ar__(126:130) .EQ. '') z = rNULL__
        if(ar__(143:147) .EQ. '') Av = 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)
     +  Seq,Name,USNO,n_USNO,RAh,RAm,RAs,DE_,DEd,DEm,DEs,r1,r2,Vmag,
     +  Jmag,n_Jmag,e_Jmag,Hmag,n_Hmag,e_Hmag,Kmag,n_Kmag,e_Kmag,
     +  alpha_J_K,z,Type,rad,u_Av,Av,Host
        write(6,'(6H Pos: 2F8.4)') RA_,Dec
c    .......End.of.Just test output...........
      end do
      close(1)

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