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

Conversion of standardized ReadMe file for file /./ftp/cats/I/315/ 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 2024-Apr-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__=--2147483648.)  	! NULL real number
      parameter  (iNULL__=(-2147483647-1))	! NULL int  number
      integer    idig			! testing NULL number

C=============================================================================
Cat. I/315               UCAC3 Catalogue              (Zacharias+ 2009)
*================================================================================
*Third U.S. Naval Observatory CCD Astrograph Catalog (UCAC3)
*      Zacharias N., Finch C., Girard T., Hambly N., Wycoff G.,
*      Zacharias M.I. , Castillo D., Corbin T., DiVittorio M., Dutta S.,
*      Gaume R., Gauss S., Germain M. , Hall D., Hartkopf W., Hsu  D.,
*      Holdenried E., Makarov  V. , Martines M. , Mason B., Monet D.,
*      Rafferty T., Rhodes  A., Siemers T., Smith  D., Tilleman T.,
*      Urban S., Wieder G., Winter L., Young A.,
*     <Astron. J. 139, 2184 (2010)>
*     =2010AJ....139.2184Z
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'out.sam'	! Sample UCAC3 output

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

C  Position composed of: RAdeg DEdeg (Epoch=J2000)
      character*10  v3UC        ! UCAC3 designation (1)
      real*8        RAdeg       ! (deg) Right ascension (degrees), ICRS, Ep=J2000
      real*8        DEdeg       ! (deg) Declination (degrees), ICRS, Ep=J2000
      integer*4     e_RAdeg     ! (mas) Minimal mean error on RAdeg (at EpRA)
      integer*4     e_DEdeg     ! (mas) Minimal mean error on DEdeg (at EpDE)
      integer*4     ePos        ! (mas) Error of position at Epoch=J2000 (9)
      real*8        EpRA        ! (yr) Central epoch for mean RA
      real*8        EpDE        ! (yr) Central epoch for mean Declination
      real*4        f_mag       ! (mag) ? UCAC fit model magnitude (579-642nm) (2)
      real*4        a_mag       ! (mag) ? UCAC aperture magnitude (579-642nm) (2)
      real*4        e_a_mag     ! (mag) ? Mean error on f.mag and a.mag (3)
      integer*4     ot          ! [-2,3] UCAC object classification flag (4)
      integer*4     db          ! [0,7] double star flag (5)
      integer*4     Na          ! Number of UCAC observations for the star
      integer*4     Nu          ! Number of used UCAC observations (6)
      integer*4     Ca          ! Number of catalog positions
      integer*4     Cu          ! Number of catalog positions used for pm's
      real*8        pmRA        ! (mas/yr) ? Proper motion in RA(*cos(Dec))
      real*8        pmDE        ! (mas/yr) ? Proper motion in Dec
      real*4        e_pmRA      ! (mas/yr) ? Mean error on pmRA
      real*4        e_pmDE      ! (mas/yr) ? Mean error on pmDE
      integer*4     MPOS        ! [1,140051297] mean position (MPOS) number (17)
*--------------------------------------------------------------------------------
      integer*8     v2Mkey      ! ? 2MASS (Cat. II/246) Unique source identifier
      real*4        Jmag        ! (mag) ? J magnitude (1.2um) from 2MASS
      real*4        e_Jmag      ! (mag) ? Mean error (rounded to 0.01mag)
      integer*4     q_Jmag      ! [0,58]? J-band quality-confusion flag (7)
      real*4        Hmag        ! (mag) ? H magnitude (1.6um) from 2MASS
      real*4        e_Hmag      ! (mag) ? Mean error (rounded to 0.01mag)
      integer*4     q_Hmag      ! [0,58]? H-band quality-confusion flag (7)
      real*4        Kmag        ! (mag) ? K magnitude (2.2um) from 2MASS
      real*4        e_Kmag      ! (mag) ? Mean error (rounded to 0.01mag)
      integer*4     q_Kmag      ! [0,58]? K-band quality-confusion flag (7)
*--------------------------------------------------------------------------------
      integer*4     sc          ! [0,14]? Supercosmos mean object + 'blend'
*                                          class (10)
      real*4        Bmag        ! (mag) ? B magnitude from Supercosmos
      integer*4     q_Bmag      ! [-1,3]? B-band quality-confusion flag (11)
      real*4        R2mag       ! (mag) ? R magnitude from Supercosmos 2nd epoch
      integer*4     q_R2mag     ! [-1,3]? R-band quality-confusion flag (11)
      real*4        Imag        ! (mag) ? I magnitude from Supercosmos
      integer*4     q_Imag      ! [-1,3]? I-band quality-confusion flag (11)
*--------------------------------------------------------------------------------
      character*10  catflg      ! matching flags for 10 catalogues (12)
      integer*4     g           ! [0,3]? g-flag from SPM (13)
      integer*4     c           ! [0,7]? c-flag from SPM (14)
      integer*4     LEDA        ! ([6arcsec]) LEDA I-band galaxy match (15)
      integer*4     v2MX        ! (arcsec) 2MASX K-band match (16)
*Note (1): the 3UC number is the recommended identification of UCAC3 stars.
*     It made as "zzz-nnnnnnn", where zzz is the zone number (between 1 and
*     360 from South pole to North pole), and nnnnnn a 6-digit running
*     number in the zone. For instance, 3UC180-000007 designates the 7th
*     star in the 180th zone (declination range between -0.5 and 0.0{deg})
*Note (2): systematic errors are expected to be below 0.1mag. The aperture
*     photometry (a.mag) is considered more robust, particularly for "odd"
*     cases, while the model fit magnitude is expected to be more accurate
*     for "well behaved" stars.
*Note (3): computed from the scatter of individual observations on different
*     CCD frames, and also from a S/N ratio modelisation; the larger is
*     reported here, but was limited to 0.9mag if larger than 0.9mag.
*Note (4):  The object type flag is used to identify possible problems
*    with a star and has the following meaning:
*    -2 = warning: object could be from possible streak
*    -1 = warning: object is near overexposed star
*     0 = good star
*     1 = good star (data copied from another entry)
*     2 = warning: contains at least 1 overexposed image
*     3 = warning: all images are overexposed or "bad"
*Note (5):  The double star flag is a double star flag used to indicate
*     the type/quality of double star fit with the following meaning:
*     0 = single star
*     1 = primary of pair with unreal secondary = single
*     2 = forced separation, on same frame
*     3 = blended image, some CCD frames show single star, some double
*     4 = forced separation, 2 objects on same frame number
*     5 = primary   component of real double
*     6 = secondary component of real double
*     7 = other "odd" case
*Note (6): A zero for the number of used images indicates that all images
*     have some "problem" (such as overexposure). In that case an unweighted
*     mean over all available images (Na) is taken to derive the mean
*     position, while normally a weighted mean was calculated based on the
*     "good" images, excluding possible problem images (Nu <= Na).
*Note (7):  For each 2MASS bandpass a combined flag was created
*     (cc_flg + ph_qual) consisting of the contamination flag (0 to 50)
*     and the photometric quality flag (0 to 8).
*
*       0 =  cc_flg  2MASS 0, no artifacts or contamination
*      10 =  cc_flg  2MASS p, source may be contaminated by a latent image
*      20 =  cc_flg  2MASS c, photometric confusion
*      30 =  cc_flg  2MASS d, diffraction spike confusion
*      40 =  cc_flg  2MASS s, electronic stripe
*      50 =  cc_flg  2MASS b, bandmerge confusion
*
*       0 =  no ph_qual flag
*       1 =  ph_qual 2MASS X, no valid brightness estimate
*       2 =  ph_qual 2MASS U, upper limit on magnitude
*       3 =  ph_qual 2MASS F, no reliable estimate of the photometric error
*       4 =  ph_qual 2MASS E, goodness-of-fit quality of profile-fit poor
*       5 =  ph_qual 2MASS A, valid measurement, snr>10 AND cmsig<0.10857
*       6 =  ph_qual 2MASS B, valid measurement, snr> 7 AND cmsig<0.15510
*       7 =  ph_qual 2MASS C, valid measurement, snr> 5 AND cmsig<0.21714
*       8 =  ph_qual 2MASS D, valid measurement, no snr OR cmsig req.
*
*     For example the value 05 is decoded to be cc_flg=0, and ph_qual=5,
*     meaning no artifacts or contamination and 2MASS qual flag = "A".
*Note (9): taking into account the propagation of the proper motion error
*     between the mean epoch and J2000.
*Note (10): "sc" is a combination of the SuperCOSMOS "meanclass" and
*     modified "blend" flag (meanclass + blend) originally for each
*     magnitude (B, R1, R2, I). The flag provided here is the maximum value
*     over all bands for each of the 2 flags. The SuperCOSMOS mean class
*     flag is an estimate of image class based on unit-weighted mean of
*     individual classes from (B, R1, R2, I). The SuperCOSMOS modified blend
*     flag indicates if blending is detected.
*     The "meanclass" has the following meaning from SuperCOSMOS:
*       1 = galaxy
*       2 = star
*       3 = unclassifiable
*       4 = noise
*     The modified "blend" flag has the following meaning:
*       0 = no blending
*      10 = possible blending detected
*Note (11): modified quality flag from the "qualB", "qualR2", and "qualI"
*     quality flag from SuperCOSMOS, which gives an indication of the
*     quality of the image from the three bands (B, R2, I). The modified
*     quality flag has the following meaning:
*      -1 = qual blank    in SuperCOSMOS, no flag given
*       0 = qual zero     in SuperCOSMOS, no problems detected
*       1 = qual < 128    in SuperCOSMOS, reliable image
*       2 = qual < 65535  in SuperCOSMOS, problems detected
*       3 = qual >= 65535 in SuperCOSMOS, spurious detection
*Note (12):  The catflg provides reference to 10 major catalogs used
*     in the computation of the proper motions and catalog matching.
*     Each of the 10 numbers range from 0 to 6 and are the "mmf"
*     (multiple match flag) with respect to each of the 10 following
*     catalogs, from left to right:
*       1 = Hip (Hipparcos, Cat. I/239)
*       2 = Tycho (Tycho-2, Cat. I/259)
*       3 = AC2000 (Cat. I/247)
*       4 = AGK2-Bonn
*       5 = AGK2-Hamburg
*       6 = ZA (Hamburg Observatory Zone Astrograph)
*       7 = BY (USNO Black Birch Astrograph, Yellow lens)
*       8 = Lick (50cm Lick Astrograph)
*       9 = SuperCosmos (http://www-wfau.roe.ac.uk/sss)
*      10 = SPM (Souther Proper Motion, Cat. I/277)
*
*     The value for each byte, the mmf flag, has the following meaning:
*       0 = star not matched with this catalog
*       1 = unique match,  not involving a double star
*       2 = closest match, not involving a double, likely o.k.
*       3 = unique match,  and involving a double star
*       4 = closest match, and involving a double, likely o.k.
*       5 = maybe o.k. smallest sep. match in both directions
*       6 = maybe o.k. smallest sep., but involves a double star
*Note (13):  The g-flag from the Yale San Juan first epoch Southern
*     Proper Motion data (YSJ1, SPM) has the following meaning:
*       0 = no info
*       1 = matched with 2MASS extended source list (2MASX, Cat. VII/233)
*       2 = LEDA  galaxy (Cat. VII/242, http://leda.univ-lyon1.fr/)
*       3 = known QSO (Veron-Cetty & Veron 2006, Cat. VII/248)
*Note (14):  The c-flag from the Yale San Juan first epoch Southern Proper
*     Motion data (YSJ1, SPM) indicates which input catalog has been used to
*     identify stars for pipeline processing:
*       1 = Hipparcos (Cat. I/239)
*       2 = Tycho2 (Cat. I/259)
*       3 = UCAC2 (Cat. I/289)
*       4 = 2MASS-PSC (Cat. II/246)
*       5 = 2MASS-XSC (extended sources, largely galaxies, Cat. VII/233)
*       6 = LEDA  (confirmed galaxies, Paturel et al. 2005, Cat. VII/242)
*       7 = QSO   (Veron-Cetty & Veron 2006, Cat. VII/248)
*Note (15): value is either 0 (no match) or contains the log of the apparent
*     total diameter (in 0.1arcmin) for I-band (object size) information
*     copied from the LEDA catalog (galaxies). A size value of less than 1
*     has been rounded up to 1.
*Note (16): This flag is either 0 (no match) or contains the length of the
*     semi-major axis of the fiducial ellipse at the K-band (object size,
*     in arcsec) information copied from the 2MASS extended source catalog.
*     If the size is larger than 127, the flag was set to 127.
*Note (17): this running star number, when smaller than 140million, starts
*     in regions near the South Pole, and increases in zones with increasing
*     declination; not all numbers are present. Numbers over 140000000
*     indicate high proper stars which were identified in UCAC pixel data
*     from matches with known high proper-motion stars.

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

C  Loading file 'out.sam'	! Sample UCAC3 output

C  Format for file interpretation

    1 format(
     +  A10,1X,F11.7,F11.7,1X,I3,1X,I3,1X,I4,1X,F7.2,1X,F7.2,1X,F6.3,
     +  1X,F6.3,1X,F5.3,1X,I2,1X,I1,2X,I2,2X,I2,1X,I3,2X,I2,1X,F8.1,
     +  1X,F8.1,1X,F4.1,1X,F4.1,1X,I9,1X,I10,1X,F6.3,1X,F4.2,1X,I2,1X,
     +  F6.3,1X,F4.2,1X,I2,1X,F6.3,1X,F4.2,1X,I2,1X,I2,1X,F6.3,1X,I2,
     +  1X,F6.3,1X,I2,1X,F6.3,1X,I2,1X,A10,1X,I1,I1,1X,I3,1X,I3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'out.sam')
      write(6,*) '....Loading file: out.sam'
      do i__=1,103
        read(1,'(A252)')ar__
        read(ar__,1)
     +  v3UC,RAdeg,DEdeg,e_RAdeg,e_DEdeg,ePos,EpRA,EpDE,f_mag,a_mag,
     +  e_a_mag,ot,db,Na,Nu,Ca,Cu,pmRA,pmDE,e_pmRA,e_pmDE,MPOS,v2Mkey,
     +  Jmag,e_Jmag,q_Jmag,Hmag,e_Hmag,q_Hmag,Kmag,e_Kmag,q_Kmag,sc,
     +  Bmag,q_Bmag,R2mag,q_R2mag,Imag,q_Imag,catflg,g,c,LEDA,v2MX
        if(ar__(64:69) .EQ. '') f_mag = rNULL__
        if(ar__(71:76) .EQ. '') a_mag = rNULL__
        if(ar__(78:82) .EQ. '') e_a_mag = rNULL__
        if(ar__(105:112) .EQ. '') pmRA = rNULL__
        if(ar__(114:121) .EQ. '') pmDE = rNULL__
        if(ar__(123:126) .EQ. '') e_pmRA = rNULL__
        if(ar__(128:131) .EQ. '') e_pmDE = rNULL__
        if(ar__(143:152) .EQ. '') v2Mkey = iNULL__
        if(ar__(154:159) .EQ. '') Jmag = rNULL__
        if(ar__(161:164) .EQ. '') e_Jmag = rNULL__
        if(ar__(166:167) .EQ. '') q_Jmag = iNULL__
        if(ar__(169:174) .EQ. '') Hmag = rNULL__
        if(ar__(176:179) .EQ. '') e_Hmag = rNULL__
        if(ar__(181:182) .EQ. '') q_Hmag = iNULL__
        if(ar__(184:189) .EQ. '') Kmag = rNULL__
        if(ar__(191:194) .EQ. '') e_Kmag = rNULL__
        if(ar__(196:197) .EQ. '') q_Kmag = iNULL__
        if(ar__(199:200) .EQ. '') sc = iNULL__
        if(ar__(202:207) .EQ. '') Bmag = rNULL__
        if(ar__(209:210) .EQ. '') q_Bmag = iNULL__
        if(ar__(212:217) .EQ. '') R2mag = rNULL__
        if(ar__(219:220) .EQ. '') q_R2mag = iNULL__
        if(ar__(222:227) .EQ. '') Imag = rNULL__
        if(ar__(229:230) .EQ. '') q_Imag = iNULL__
        if(ar__(243:243) .EQ. '') g = iNULL__
        if(ar__(244:244) .EQ. '') c = iNULL__
c    ..............Just test output...........
        write(6,1)
     +  v3UC,RAdeg,DEdeg,e_RAdeg,e_DEdeg,ePos,EpRA,EpDE,f_mag,a_mag,
     +  e_a_mag,ot,db,Na,Nu,Ca,Cu,pmRA,pmDE,e_pmRA,e_pmDE,MPOS,v2Mkey,
     +  Jmag,e_Jmag,q_Jmag,Hmag,e_Hmag,q_Hmag,Kmag,e_Kmag,q_Kmag,sc,
     +  Bmag,q_Bmag,R2mag,q_R2mag,Imag,q_Imag,catflg,g,c,LEDA,v2MX
c    .......End.of.Just test output...........
      end do
      close(1)

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