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

Conversion of standardized ReadMe file for file /./ftp/cats/I/343 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 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/343          Gaia-PS1-SDSS (GPS1) proper motion catalog          (Tian+, 2017)
*================================================================================
*A Gaia-PS1-SDSS (GPS1) proper motion catalog covering 3/4 of the sky.
*    Tian H.-J., Gupta P., Sesar B., Rix H.-W., Martin N.F., Liu C., Goldman B.,
*    Platais I., Kudritzki R.-P., Waters C.Z.
*   <Astrophys. J. Suppl. Ser., 232, 4-4 (2017)>
*   =2017ApJS..232....4T    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'gps1.sam'	! Gaia-PS1-SDSS (GPS1) proper motion catalog,
                              sample output (on a total of 345,274,875 sources)

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

C  Position composed of: RAdeg DEdeg (Epoch=2010)
      real*8        RAdeg      (nr__) ! (deg) Right ascension from fit
*                                     (ICRS, Epoch 2010) (1)
      real*8        DEdeg      (nr__) ! (deg) Declination from fit (ICRS, Epoch 2010) (1)
      integer*8     objid      (nr__) ! Object identifier (not unique; this is not
*                                     the Pan-STARRS1 identifier) (2)
      real*4        e_RAdeg    (nr__) ! (mas) [0.01/100]? Error in RA from Gaia DR1 (1)
      real*4        e_DEdeg    (nr__) ! (mas) [0.02/100]? Error in DEC from Gaia DR1 (1)
      real*8        RAPdeg     (nr__) ! (deg) Right Ascension from Pan-STARRS1
      real*8        DEPdeg     (nr__) ! (deg) Declination from Pan-STARRS1
      real*8        pmRA       (nr__) ! (mas/yr) Proper motion in RA with cos({delta})
*                                     applied; robust fit
      real*8        e_pmRA     (nr__) ! (mas/yr) [0.006/4865976] Error of proper motion
*                                     in RA, cos({delta}) applied; robust fit (3)
      real*8        pmDE       (nr__) ! (mas/yr) Proper motion in Declination; robust fit
      real*8        e_pmDE     (nr__) ! (mas/yr) Error of proper motion in Declination;
*                                     robust fit (3)
      real*8        pmRAx      (nr__) ! (mas/yr) Proper motion in RA with cos({delta})
*                                     applied; x-validation fit
      real*8        e_pmRAx    (nr__) ! (mas/yr) [0.1/4865976]? Error of proper motion in RA,
*                                     cos({delta}) applied; x-validation fit (3)
      real*8        pmDEx      (nr__) ! (mas/yr) Proper motion in Declination;
*                                     x-validation fit
      real*8        e_pmDEx    (nr__) ! (mas/yr) ? Error of proper motion in Declination;
*                                     x-validation fit (3)
      real*8        pmRAng     (nr__) ! (mas/yr) Proper motion in RA with cos({delta})
*                                     applied; fit without Gaia
      real*8        e_pmRAng   (nr__) ! (mas/yr) ? Error of proper motion in RA, cos({delta})
*                                     applied; fit without Gaia (3)
      real*8        pmDEng     (nr__) ! (mas/yr) [-185001/30992] Proper motion in DEC;
*                                     fit without Gaia
      real*8        e_pmDEng   (nr__) ! (mas/yr) ? Error of proper motion in Declination;
*                                     fit without Gaia (3)
      real*8        pmRAps     (nr__) ! (mas/yr) Proper motion in RA with cos({delta})
*                                     applied; fit with only Pan-STARRS
      real*8        e_pmRAps   (nr__) ! (mas/yr) ? Error of proper motion in RA, cos({delta})
*                                     applied; fit with only Pan-STARRS (3)
      real*8        pmDEps     (nr__) ! (mas/yr) [-85810/11545] Proper motion in Declination;
*                                     fit with only Pan-STARRS
      real*8        e_pmDEps   (nr__) ! (mas/yr) Error of proper motion in Declination;
*                                     fit with only Pan-STARRS (3)
      real*4        chi2pmRA   (nr__) ! Reduced {Chi}^2^ for the robust fit of
*                                     proper motion in RA
      real*4        chi2pmDE   (nr__) ! Reduced {Chi}^2^ for the robust fit of
*                                     proper motion in DEC
      real*4        chi2pmRAps (nr__) ! Reduced {Chi}^2^ for the Pan-STARRS 1-only
*                                     fit of proper motion in RA
      real*4        chi2pmDEps (nr__) ! Reduced {Chi}^2^ for the Pan-STARRS 1-only
*                                     fit of proper motion in DEC
      real*8        gmag       (nr__) ! (mag) [-33/32]? g-band PSF magnitude from
*                                     PAN-STARRS1/PS1 DR1 (4)
      real*8        e_gmag     (nr__) ! (mag) [0/197]? gmag uncertainty
      real*4        rmag       (nr__) ! (mag) [-5/29]? r-band PSF magnitude from
*                                     PAN-STARRS1/PS1 DR1 (4)
      real*4        e_rmag     (nr__) ! (mag) [0/85]? rmag uncertainty
      real*4        imag       (nr__) ! (mag) [-3/30]? i-band PSF magnitude from
*                                     PAN-STARRS1/PS1 DR1 (4)
      real*4        e_imag     (nr__) ! (mag) [0/77]? imag uncertainty
      real*4        zmag       (nr__) ! (mag) [-0.1/29]? z-band PSF magnitude from
*                                     PAN-STARRS1/PS1 DR1 (4)
      real*8        e_zmag     (nr__) ! (mag) [0/151]? zmag uncertainty
      real*4        ymag       (nr__) ! (mag) [-5/27]? y-band PSF magnitude from
*                                     PAN-STARRS1/PS1 DR1 (4)
      real*8        e_ymag     (nr__) ! (mag) [0/253]? ymag uncertainty
      real*4        Jmag       (nr__) ! (mag) [0/26]? J-band magnitude from 2MASS (4)
      real*4        e_Jmag     (nr__) ! (mag) [0/10]? Jmag uncertainty
      real*4        Hmag       (nr__) ! (mag) [0/25]? H-band magnitude from 2MASS (4)
      real*4        e_Hmag     (nr__) ! (mag) [0/10]? Hmag uncertainty
      real*4        Ksmag      (nr__) ! (mag) [0/21]? Ks-band magnitude from 2MASS (4)
      real*4        e_Ksmag    (nr__) ! (mag) [0/10]? Ksmag  uncertainty
      real*4        Gmag_1     (nr__) ! (mag) [9.7/26.3]? G-band magnitude from Gaia (4)
      real*4        e_Gmag_1   (nr__) ! (mag) [0.0001/0.5]? Gmag uncertainty
      integer*4     N_PS1      (nr__) ! [3/15] Number of PS1 SeasonAVG detections
      integer*4     Nobs       (nr__) ! [3/16] Number of all the detections
      integer*4     Surveys    (nr__) ! [0/35] Sum of source codes for the source
*                                     catalogues that went into this row (5)
      real*4        d_PS1      (nr__) ! (arcsec) [0/2] Distance between position in GPS1 and
*                                     the associated (closest) position in
*                                     Pan-STARRS1 used for (not accounting for
*                                     the epoch difference)
      real*4        d_G        (nr__) ! (arcsec) [0/3] Distance between position in GPS1 and
*                                     the associated (closest) position in
*                                     Gaia DR1 (not accounting for the epoch
*                                     difference)
*Note (1): The positions are SeasonAVGs from Pan-STARRS1 if unavailable
*          from Gaia DR1. The errors are NULL in these cases.
*Note (2): Different items share the same objID, however they are very likely the          same object.
*Note (3): Note that some values are very large; mostly for sources located at
*          the Celestial Pole. Objects with errors larger than 1000mas/yr should
*          be removed.
*Note (4): Pan-STARRS1, 2MASS, and Gaia photometry was re-added to the objects
*          via a blind crossmatch; it does not necessarily correspond to the
*          photometry of the objects that were used to derive the astrometry, in
*          particular in crowded fields.
*Note (5): Pan-STARRS1 is always present (= 0). Source codes:
*          5 = 2MASS; 10 = SDSS, 20 = Gaia.

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

C  Loading file 'gps1.sam'	! Gaia-PS1-SDSS (GPS1) proper motion catalog,
*                              sample output (on a total of 345,274,875 sources)

C  Format for file interpretation

    1 format(
     +  F13.9,1X,F13.9,1X,I20,1X,F6.3,1X,F6.3,1X,F13.9,1X,F13.9,1X,
     +  F13.3,1X,F11.3,1X,F10.3,1X,F12.3,1X,F13.3,1X,F11.3,1X,F10.3,
     +  1X,F12.3,1X,F13.3,1X,F12.3,1X,F11.3,1X,F12.3,1X,F13.3,1X,
     +  F12.3,1X,F10.3,1X,F12.3,1X,E9.3,1X,E9.3,1X,E9.3,1X,E9.3,1X,
     +  F7.3,1X,F7.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F7.3,
     +  1X,F6.3,1X,F7.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,
     +  F5.3,1X,F6.3,1X,F6.4,1X,I2,1X,I2,1X,I2,1X,F5.3,1X,F5.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'gps1.sam')
      write(6,*) '....Loading file: gps1.sam'
      do i__=1,1000
        read(1,'(A481)')ar__
        read(ar__,1)
     +  RAdeg(i__),DEdeg(i__),objid(i__),e_RAdeg(i__),e_DEdeg(i__),
     +  RAPdeg(i__),DEPdeg(i__),pmRA(i__),e_pmRA(i__),pmDE(i__),
     +  e_pmDE(i__),pmRAx(i__),e_pmRAx(i__),pmDEx(i__),e_pmDEx(i__),
     +  pmRAng(i__),e_pmRAng(i__),pmDEng(i__),e_pmDEng(i__),
     +  pmRAps(i__),e_pmRAps(i__),pmDEps(i__),e_pmDEps(i__),
     +  chi2pmRA(i__),chi2pmDE(i__),chi2pmRAps(i__),chi2pmDEps(i__),
     +  gmag(i__),e_gmag(i__),rmag(i__),e_rmag(i__),imag(i__),
     +  e_imag(i__),zmag(i__),e_zmag(i__),ymag(i__),e_ymag(i__),
     +  Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),Ksmag(i__),
     +  e_Ksmag(i__),Gmag_1(i__),e_Gmag_1(i__),N_PS1(i__),Nobs(i__),
     +  Surveys(i__),d_PS1(i__),d_G(i__)
        if(ar__(50:55) .EQ. '') e_RAdeg(i__) = rNULL__
        if(ar__(57:62) .EQ. '') e_DEdeg(i__) = rNULL__
        if(ar__(156:166) .EQ. '') e_pmRAx(i__) = rNULL__
        if(ar__(179:190) .EQ. '') e_pmDEx(i__) = rNULL__
        if(ar__(206:217) .EQ. '') e_pmRAng(i__) = rNULL__
        if(ar__(231:242) .EQ. '') e_pmDEng(i__) = rNULL__
        if(ar__(258:269) .EQ. '') e_pmRAps(i__) = rNULL__
        if(ar__(335:341) .EQ. '') gmag(i__) = rNULL__
        if(ar__(343:349) .EQ. '') e_gmag(i__) = rNULL__
        if(ar__(351:356) .EQ. '') rmag(i__) = rNULL__
        if(ar__(358:363) .EQ. '') e_rmag(i__) = rNULL__
        if(ar__(365:370) .EQ. '') imag(i__) = rNULL__
        if(ar__(372:377) .EQ. '') e_imag(i__) = rNULL__
        if(ar__(379:384) .EQ. '') zmag(i__) = rNULL__
        if(ar__(386:392) .EQ. '') e_zmag(i__) = rNULL__
        if(ar__(394:399) .EQ. '') ymag(i__) = rNULL__
        if(ar__(401:407) .EQ. '') e_ymag(i__) = rNULL__
        if(ar__(409:414) .EQ. '') Jmag(i__) = rNULL__
        if(ar__(416:420) .EQ. '') e_Jmag(i__) = rNULL__
        if(ar__(422:427) .EQ. '') Hmag(i__) = rNULL__
        if(ar__(429:433) .EQ. '') e_Hmag(i__) = rNULL__
        if(ar__(435:440) .EQ. '') Ksmag(i__) = rNULL__
        if(ar__(442:446) .EQ. '') e_Ksmag(i__) = rNULL__
        if(ar__(448:453) .EQ. '') Gmag_1(i__) = rNULL__
        if(ar__(455:460) .EQ. '') e_Gmag_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  RAdeg(i__),DEdeg(i__),objid(i__),e_RAdeg(i__),e_DEdeg(i__),
     +  RAPdeg(i__),DEPdeg(i__),pmRA(i__),e_pmRA(i__),pmDE(i__),
     +  e_pmDE(i__),pmRAx(i__),e_pmRAx(i__),pmDEx(i__),e_pmDEx(i__),
     +  pmRAng(i__),e_pmRAng(i__),pmDEng(i__),e_pmDEng(i__),
     +  pmRAps(i__),e_pmRAps(i__),pmDEps(i__),e_pmDEps(i__),
     +  chi2pmRA(i__),chi2pmDE(i__),chi2pmRAps(i__),chi2pmDEps(i__),
     +  gmag(i__),e_gmag(i__),rmag(i__),e_rmag(i__),imag(i__),
     +  e_imag(i__),zmag(i__),e_zmag(i__),ymag(i__),e_ymag(i__),
     +  Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),Ksmag(i__),
     +  e_Ksmag(i__),Gmag_1(i__),e_Gmag_1(i__),N_PS1(i__),Nobs(i__),
     +  Surveys(i__),d_PS1(i__),d_G(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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