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

Conversion of standardized ReadMe file for file /./ftp/cats/I/300 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/300           PM2000 Bordeaux Proper Motion catalogue       (Ducourant+, 2006)
*================================================================================
*The PM2000 Bordeaux Proper Motion catalogue (+11{deg}<{delta}<+18{deg})
*    Ducourant C., Le Campion J.F., Rapaport M., Camargo J.I.B., Soubiran C.,
*    Perie J.P., Teixeira R., Daigne G., Triaud A., Requieme Y., Fresneau A.,
*    Colin J.
*   <Astron. Astrophys. 448, 1235 (2006)>
*   =2006A&A...448.1235D        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'pm2000.dat'	! PM2000 catalogue

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

C  J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
      real*8        RAdeg      (nr__) ! (deg) Right Ascension J2000
      real*8        DEdeg      (nr__) ! (deg)     Declination J2000
C  ---------------------------------- ! (position vector(s) in degrees)

      character*1   n_PM2000   (nr__) ! [*] * for objects whose proper motion is
*                                           based on a Carte du ciel measurement
      integer*4     PM2000     (nr__) ! [1,2670974]+ PM2000 identificator
      integer*4     RAh        (nr__) ! (h) Mean Right Ascension J2000 at epoch EpRA
      integer*4     RAm        (nr__) ! (min) Mean Right Ascension J2000 at epoch EpRA
      real*8        RAs        (nr__) ! (s) Mean Right Ascension J2000 at epoch EpRA
      character*1   DE_        (nr__) ! Mean Declination J2000 sign at epoch EpDE
      integer*4     DEd        (nr__) ! (deg) Mean Declination J2000 at epoch EpDE
      integer*4     DEm        (nr__) ! (arcmin) Mean Declination J2000 at epoch EpDE
      real*4        DEs        (nr__) ! (arcsec) Mean Declination J2000 at epoch EpDE
      real*8        e_RAs      (nr__) ! (arcsec) rms uncertainty on RA at epoch EpRA*cos(Dec)
      real*8        e_DEs      (nr__) ! (arcsec) rms uncertainty on DE at epoch EpDE
      real*8        pmRA       (nr__) ! (mas/yr) Proper motion in RA (*cos(Dec))
      real*8        pmDE       (nr__) ! (mas/yr) Proper motion in Dec
      real*8        e_pmRA     (nr__) ! (mas/yr) rms uncertainty on pmRA (*cos(Dec))
      real*8        e_pmDE     (nr__) ! (mas/yr) rms uncertainty on pmDE
      real*4        Vmag       (nr__) ! (mag) Apparent mag in Meridian band (1)
      real*4        e_Vmag     (nr__) ! (mag) rms uncertainty on Vmag
      real*8        EpRA       (nr__) ! (yr) Central epoch for RA
      real*8        EpDE       (nr__) ! (yr) Central epoch for DE
      integer*4     NmRA       (nr__) ! Nb of meridian observations in RA solution
      integer*4     NmDE       (nr__) ! Nb of meridian observations in DE solution
      integer*4     NYRA       (nr__) ! Nb of YS observations used in RA solution
      integer*4     NYDE       (nr__) ! Nb of YS observations used in DE solution
      integer*4     NURA       (nr__) ! Nb of USNO-A2.0 obs. in RA solution
      integer*4     NUDE       (nr__) ! Nb of USNO-A2.0 obs. in DE solution
      integer*4     NCCRA      (nr__) ! Nb of Carte du Ciel obs. in RA solution
      integer*4     NCCDE      (nr__) ! Nb of Carte du Ciel obs. in DE solution
      integer*4     NACRA      (nr__) ! Nb of AC2000.2 obs.in RA solution
      integer*4     NACDE      (nr__) ! Nb of AC2000.2 obs. in DE solution
      real*8        Ep1        (nr__) ! (yr) Most ancien epoch in the data
      real*4        V_Ks       (nr__) ! (mag) ?=99.999 V-Ks colour index (from 2MASS) (2)
      real*8        gRA        (nr__) ! Goodness of fit in RA (3)
      real*4        gDE        (nr__) ! Goodness of fit in DE (3)
      character*17  v2MASS     (nr__) ! 2MASS Identificator
      real*4        Jmag       (nr__) ! (mag) ? 2MASS J apparent magnitude
      real*4        e_Jmag     (nr__) ! (mag) ? 2MASS J total magnitude uncertainty
      real*4        Hmag       (nr__) ! (mag) ? 2MASS H apparent magnitude
      real*4        e_Hmag     (nr__) ! (mag) ? 2MASS H total magnitude uncertainty
      real*4        Ksmag      (nr__) ! (mag) ? 2MASS Ks apparent magnitude
      real*4        e_Ksmag    (nr__) ! (mag) ? 2MASS Ks total magnitude uncertainty
      integer*4     TYC1       (nr__) ! ? TYC1 Identificator for Tycho stars
      integer*4     TYC2       (nr__) ! ? TYC2 Identificator for Tycho stars
      integer*4     TYC3       (nr__) ! ? TYC3 Identificator for Tycho stars
      real*4        Btmag      (nr__) ! (mag) ? Tycho-2 Bt apparent magnitude
      real*4        e_Btmag    (nr__) ! (mag) ? Tycho-2 standard error on Btmag
      real*4        Vtmag      (nr__) ! (mag) ? Tycho-2 Vt apparent magnitude
      real*4        e_Vtmag    (nr__) ! (mag) ? Tycho-2 standard error on Vtmag
      character*1   f_TYC1     (nr__) ! [T] Flag for TYCHO1 stars
*Note (1): The bandpass is defined by two combined filters (GC495 and BG38) as
*          the wavelength range 520-680nm; This is different from Tycho Vt.
*Note (2): V-Ks = 99.999 when no K measurement was available in 2MASS.
*Note (3): This goodness of fit is the ratio of the scatter-based and the
*          model-based error.

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

C  Loading file 'pm2000.dat'	! PM2000 catalogue

C  Format for file interpretation

    1 format(
     +  A1,I7,1X,I2,1X,I2,1X,F7.4,1X,A1,I2,1X,I2,1X,F6.3,F8.3,F8.3,
     +  F9.1,F9.1,F8.1,F8.1,1X,F6.3,2X,F6.3,2X,F7.2,2X,F7.2,1X,I3,1X,
     +  I3,2X,I2,1X,I2,2X,I2,1X,I2,2X,I2,1X,I2,2X,I2,1X,I2,7X,F7.2,1X,
     +  F6.3,1X,F7.3,2X,F6.3,2X,A17,2X,F6.3,1X,F6.3,3X,F6.3,1X,F6.3,
     +  3X,F6.3,1X,F6.3,2X,I4,1X,I5,1X,I1,2X,F6.3,F6.3,1X,F6.3,F6.3,
     +  2X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'pm2000.dat')
      write(6,*) '....Loading file: pm2000.dat'
      do i__=1,2670974
        read(1,'(A302)')ar__
        read(ar__,1)
     +  n_PM2000(i__),PM2000(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),e_RAs(i__),e_DEs(i__),pmRA(i__),
     +  pmDE(i__),e_pmRA(i__),e_pmDE(i__),Vmag(i__),e_Vmag(i__),
     +  EpRA(i__),EpDE(i__),NmRA(i__),NmDE(i__),NYRA(i__),NYDE(i__),
     +  NURA(i__),NUDE(i__),NCCRA(i__),NCCDE(i__),NACRA(i__),
     +  NACDE(i__),Ep1(i__),V_Ks(i__),gRA(i__),gDE(i__),v2MASS(i__),
     +  Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),Ksmag(i__),
     +  e_Ksmag(i__),TYC1(i__),TYC2(i__),TYC3(i__),Btmag(i__),
     +  e_Btmag(i__),Vtmag(i__),e_Vtmag(i__),f_TYC1(i__)
        if(ar__(214:219) .EQ. '') Jmag(i__) = rNULL__
        if(ar__(221:226) .EQ. '') e_Jmag(i__) = rNULL__
        if(ar__(230:235) .EQ. '') Hmag(i__) = rNULL__
        if(ar__(237:242) .EQ. '') e_Hmag(i__) = rNULL__
        if(ar__(246:251) .EQ. '') Ksmag(i__) = rNULL__
        if(ar__(253:258) .EQ. '') e_Ksmag(i__) = rNULL__
        if(ar__(261:264) .EQ. '') TYC1(i__) = iNULL__
        if(ar__(266:270) .EQ. '') TYC2(i__) = iNULL__
        if(ar__(272:272) .EQ. '') TYC3(i__) = iNULL__
        if(ar__(275:280) .EQ. '') Btmag(i__) = rNULL__
        if(ar__(281:286) .EQ. '') e_Btmag(i__) = rNULL__
        if(ar__(288:293) .EQ. '') Vtmag(i__) = rNULL__
        if(ar__(294:299) .EQ. '') e_Vtmag(i__) = rNULL__
        RAdeg(i__) = rNULL__
        DEdeg(i__) = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15.
        if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4.
        if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240.
        if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
        if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
        if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600.
        if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c    ..............Just test output...........
        write(6,1)
     +  n_PM2000(i__),PM2000(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
     +  DEd(i__),DEm(i__),DEs(i__),e_RAs(i__),e_DEs(i__),pmRA(i__),
     +  pmDE(i__),e_pmRA(i__),e_pmDE(i__),Vmag(i__),e_Vmag(i__),
     +  EpRA(i__),EpDE(i__),NmRA(i__),NmDE(i__),NYRA(i__),NYDE(i__),
     +  NURA(i__),NUDE(i__),NCCRA(i__),NCCDE(i__),NACRA(i__),
     +  NACDE(i__),Ep1(i__),V_Ks(i__),gRA(i__),gDE(i__),v2MASS(i__),
     +  Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),Ksmag(i__),
     +  e_Ksmag(i__),TYC1(i__),TYC2(i__),TYC3(i__),Btmag(i__),
     +  e_Btmag(i__),Vtmag(i__),e_Vtmag(i__),f_TYC1(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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