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

Conversion of standardized ReadMe file for file /./ftp/cats/I/267 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 2026-Oct-12
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/267               The APM-North Catalogue                 (McMahon+, 2000)
*================================================================================
*The APM-North Catalogue
*     McMahon R.G., Irwin, M.J., Maddox, S.J.
*    <Institute of Astronomy, Cambridge, CB3 OHA, UK (2000)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'out.sam'	! Sample Output

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

C  J2000 position composed of: RAdeg DEdeg
      character*14  APM_ID     (nr__) ! [EO0-9-] Designation of the object (plate and 
*                              sequential numbers separated by a dash -)
      real*8        RAdeg      (nr__) ! (deg) Right Ascension (J2000)
      real*8        DEdeg      (nr__) ! (deg) Declination (J2000)
      real*8        Xpix       (nr__) ! (pix) X Position in pixel from center of plate
      real*8        Ypix       (nr__) ! (pix) Y Position in pixel from center of plate
      real*4        rmag       (nr__) ! (mag) Magnitude of red image
      character*1   l_rmag     (nr__) ! [L] 'L' when rmag is the plate limit (3)
      integer*4     rClass     (nr__) ! [-1,2] Red Image class code (1)
      real*4        rStel      (nr__) ! [-100,100]? Statistical deviation from PSF (2)
      real*4        rDiam      (nr__) ! (arcsec) ? Major axis diameter of image on red plate
      real*4        rEll       (nr__) ! [0,1]? Ellipticity (1-a/b) on red plate
      integer*4     rPA        (nr__) ! (deg) ? Position angle of the ellipse
      real*4        bmag       (nr__) ! (mag) Magnitude of blue image
      character*1   l_bmag     (nr__) ! [L] 'L' when bmag is the plate limit (3)
      integer*4     bClass     (nr__) ! [-1,2]?  Blue Image class code (1)
      real*4        bStel      (nr__) ! [-100,100]? Statistical deviation from PSF (2)
      real*4        bDiam      (nr__) ! (arcsec) ? Major axis diameter of image on blue plate
      real*4        bEll       (nr__) ! [0,1]? Ellipticity (1-a/b) on blue plate
      integer*4     bPA        (nr__) ! (deg) ? Position angle of the ellipse
      real*4        b_r        (nr__) ! Colour
      character*1   l_b_r      (nr__) ! [L] 'L' when b-r is affected by plate limits
      character*1   Mflag      (nr__) ! [*] '*' if edge effect in matching.
      real*8        Epoch      (nr__) ! (yr) Epoch of observation (red plate)
*Note (1): the flag takes the values:
*     -1 = stellar
*      0 = noise
*      1 = non-stellar, probably galaxy
*      2 = merged image
*Note (2): the stellaricity is the statistical deviation from a normalized
*    point-spread function (PSF): a negative value indicates a profile
*    sharper than a star, and a positive value smoother
*Note (3): the letter 'L' is set when no image could be found in that
*    color; the limit adopted is the plate limit.

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

C  Loading file 'out.sam'	! Sample Output

C  Format for file interpretation

    1 format(
     +  A14,1X,F10.6,1X,F9.6,1X,F8.1,1X,F8.1,1X,F5.2,1X,A1,1X,I2,1X,
     +  F6.2,1X,F6.1,1X,F4.2,1X,I3,1X,F5.2,1X,A1,1X,I2,1X,F6.2,1X,
     +  F6.1,1X,F4.2,1X,I3,1X,F6.2,1X,A1,1X,A1,1X,F7.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'out.sam')
      write(6,*) '....Loading file: out.sam'
      do i__=1,1000
        read(1,'(A140)')ar__
        read(ar__,1)
     +  APM_ID(i__),RAdeg(i__),DEdeg(i__),Xpix(i__),Ypix(i__),
     +  rmag(i__),l_rmag(i__),rClass(i__),rStel(i__),rDiam(i__),
     +  rEll(i__),rPA(i__),bmag(i__),l_bmag(i__),bClass(i__),
     +  bStel(i__),bDiam(i__),bEll(i__),bPA(i__),b_r(i__),l_b_r(i__),
     +  Mflag(i__),Epoch(i__)
        if(ar__(66:71) .EQ. '') rStel(i__) = rNULL__
        if(ar__(73:78) .EQ. '') rDiam(i__) = rNULL__
        if(ar__(80:83) .EQ. '') rEll(i__) = rNULL__
        if(ar__(85:87) .EQ. '') rPA(i__) = iNULL__
        if(ar__(97:98) .EQ. '') bClass(i__) = iNULL__
        if(ar__(100:105) .EQ. '') bStel(i__) = rNULL__
        if(ar__(107:112) .EQ. '') bDiam(i__) = rNULL__
        if(ar__(114:117) .EQ. '') bEll(i__) = rNULL__
        if(ar__(119:121) .EQ. '') bPA(i__) = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  APM_ID(i__),RAdeg(i__),DEdeg(i__),Xpix(i__),Ypix(i__),
     +  rmag(i__),l_rmag(i__),rClass(i__),rStel(i__),rDiam(i__),
     +  rEll(i__),rPA(i__),bmag(i__),l_bmag(i__),bClass(i__),
     +  bStel(i__),bDiam(i__),bEll(i__),bPA(i__),b_r(i__),l_b_r(i__),
     +  Mflag(i__),Epoch(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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