FORTRAN Generation
(/./ftp/cats/V/105/)

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

C=============================================================================
Cat. V/105               SKY2000 Catalog, Version 3         (Myers+ 2000)
*================================================================================
*SKY2000 Master Catalog, Version 3 (Rev. 1)
*     Myers J.R., Sande C.B., Miller A.C., Warren Jr. W.H., Tracewell D.A.
*    <Goddard Space Flight Center, Flight Dynamics Division (2000)>
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'sky2v3r1.dat'	! The SkyMap 2000 Version 3 Catalog Rev. 1

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

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

      character*19  SKY2000     ! *Identifier based on J2000 position
      integer*4     ID          ! Skymap number
      integer*4     HD          ! ?Henry Draper <III/135> number
      character*1   m_HD        ! *[1239]? HD duplicity indication
      character*1   u_HD        ! HD identification uncertain
      integer*4     SAO         ! ? SAO <I/131> number
      character*1   m_SAO       ! SAO component
      character*11  DM          ! Durchmusterung (BD <I/122>; SD <I/119>;
*                                        CD <I/114>;  CP <I/108>)
      character*1   m_DM        ! Durchmusterung supplement letter
      character*1   u_DM        ! [: ] DM identification uncertain
      integer*4     HR          ! ?Harvard Revised <V/50> num. (=BS)
      character*10  WDS         ! Washington Double Stars <I/237> number
      character*5   m_WDS       ! WDS components
      character*1   u_WDS       ! [: ] WDS identification uncertain
      integer*4     PPM         ! ?Position and Proper Motion number
*                                         (<I/146>, <I/193>, <I/208>)
      character*1   u_PPM       ! [: ] PPM identification uncertain
      integer*4     ID_merg     ! ?Skymap num. of last skymap entry merged
*                                       with this star
      character*10  Name        ! Star name (or AGK3 number)
      character*10  Vname       ! Variable star name (or
*                                        doubtful variability)
      integer*4     RAh         ! (h) Right ascension (J2000) hours
      integer*4     RAm         ! (min) Right ascension (J2000) minutes
      real*8        RAs         ! (s) Right ascension (J2000) seconds
      character*1   DE_         ! Declination sign
      integer*4     DEd         ! (deg) Declination degrees (J2000)
      integer*4     DEm         ! (arcmin) Declination minutes (J2000)
      real*4        DEs         ! (arcsec) Declination seconds (J2000)
      real*4        e_pos       ! (arcsec) Position uncertainty
      character*1   f_pos       ! [b] Blended position flag
      integer*4     r_pos       ! Source of position
      real*8        pmRA        ! (s/a) Proper motion in RA (J2000)
      real*8        pmDE        ! (arcsec/a) Proper motion in Dec (J2000)
      integer*4     r_pm        ! ?Source of proper motion data
      real*4        RV          ! (km/s) ?Radial velocity
      integer*4     r_RV        ! ?Source of radial velocity data
      real*8        Plx         ! (arcsec) ?Trigonometric parallax
      real*8        e_Plx       ! (arcsec) ?Trigonometric parallax uncertainty
      integer*4     r_Plx       ! ?Source of trigonometric parallax data
      real*8        GCI_X       ! *GCI unit vector in X (J2000)
      real*8        GCI_Y       ! *GCI unit vector in Y (J2000)
      real*8        GCI_Z       ! *GCI unit vector in Z (J2000)
      real*4        GLON        ! (deg) Galactic longitude (B1950)
      real*4        GLAT        ! (deg) Galactic latitude (B1950)
      real*4        Vmag        ! (mag) ?Observed visual magnitude (V or v)
      real*4        Vder        ! (mag) ?Derived visual magnitude
      real*4        e_Vmag      ! (mag) ?Derived v or observed visual magnitude
*                                        uncertainty
      character*1   f_Vmag      ! [b] Blended visual magnitude flag
      integer*4     r_Vmag      ! ?Source of visual magnitude
      integer*4     n_Vmag      ! ?V magnitude derivation flag
      real*4        Bmag        ! (mag) ?B-magnitude (observed)
      real*4        B_V         ! (mag) ?B-V color (observed)
      real*4        e_Bmag      ! (mag) ?B or (B-V) magnitude uncertainty
      character*1   f_Bmag      ! [b] Blended b-magnitude flag
      integer*4     r_Bmag      ! ?Source of b-magnitude
      real*4        Umag        ! (mag) ?U-magnitude (observed)
      real*4        U_B         ! (mag) ?U-B color (observed)
      real*4        e_Umag      ! (mag) ?U or (U-B) magnitude uncertainty
      character*1   n_Umag      ! Blended u-magnitude flag
      integer*4     r_Umag      ! ?Source of u-magnitude
      real*4        Ptv         ! (mag) ?Photovisual magnitude (observed)
      integer*4     r_Ptv       ! ?Source of ptv magnitudes
      real*4        Ptg         ! (mag) ?Photographic magnitude (observed)
      integer*4     r_Ptg       ! ?Source of ptg magnitudes
      character*30  SpMK        ! Morgan-Keenan (MK) spectral type
      integer*4     r_SpMK      ! ?Source of MK spectral type data
      character*3   Sp          ! *One-dimensional spectral class
      integer*4     r_Sp        ! ?Source of one-dimen. spectral class
      real*8        sep         ! (arcsec) ?Separation of brightest and second
*                                        brightest components
      real*4        Dmag        ! (mag) ?Magnitude difference of the brightest
*                                        and second brightest components
      real*8        orbPer      ! (yr) *?Orbital period
      integer*4     PA          ! (deg) ?Position angle
      real*8        date        ! (yr) ?Year of observation (AD)
      integer*4     r_dup       ! ?Source of multiplicity data
      character*1   n_Dmag      ! Passband of multiple star mag. dif.
      real*8        dist1       ! (deg) ?Distance to nearest neighboring star in
*                                        the master catalog
      real*8        dist2       ! (deg) ?Dist. to nearest neighboring master
*                                        cat. star no more than 2 mag. fainter
      integer*4     ID_A        ! ?Skymap number of primary component
      integer*4     ID_B        ! ?Skymap number of second component
      integer*4     ID_C        ! ?Skymap number of third component
      real*4        magMax      ! (mag) *?Maximum variable magnitude
      real*4        magMin      ! (mag) *?Minimum variable magnitude
      real*4        varAmp      ! (mag) ?Variability amplitude
      character*1   n_varAmp    ! Passband of variability amplitude
      real*8        varPer      ! (d) ?Period of variability
      real*8        varEp       ! (d) ?Epoch of variability (JD-2400000)
      integer*4     varTyp      ! ?Type of variable star
      integer*4     r_var       ! ?Source of variability data
      real*4        mag1        ! (mag) ?Passband #1-magnitude (observed)
      real*4        v_mag1      ! (mag) ?v - passband #1 color
      real*4        e_mag1      ! (mag) ?Passband #1 uncertainty in mag. or col.
      character*1   n_mag1      ! *[RJC] Passband #1 photometric system
      character*1   p_mag1      ! *[R] Passband #1
      integer*4     r_mag1      ! ?Source of passband #1: mag. or color
      real*4        mag2        ! (mag) ?Passband #2-magnitude (observed)
      real*4        v_mag2      ! (mag) ?v - passband #2 color
      real*4        e_mag2      ! (mag) ?Passband #2 uncertainty in mag. or col.
      character*1   n_mag2      ! *[JEC] Passband #2 photometric system
      character*1   p_mag2      ! *[I] Passband #2
      integer*4     r_mag2      ! ?Source of passband #2: mag. or color
      real*4        ci1_2       ! (mag) ?Passband #1 - passband #2 color
      character*1   f_mag1      ! [b] Blended passband #1 mag/color flag
      character*1   f_mag2      ! [b] Blended passband #2 mag/color flag
      real*4        mag3        ! (mag) *?Passband #3-magnitude (observed)
      real*4        v_mag3      ! (mag) *?v - passband #3 color
      real*4        e_mag3      ! (mag) *?Passband #3 uncertainty in mag. or col.
      character*1   n_mag3      ! *Passband #3 photometric system
      character*1   p_mag3      ! *[X] Passband #3
      integer*4     r_mag3      ! *?Source of passband #3: mag. or color
      character*1   f_mag3      ! *[b] Blended passband #3 mag/color flag
*Note on SKY2000:
*   Field added to SKY2000 Version 1 for SKY2000 Version 2.
*   Note that there are 91 stars for which the SKY2000 name (based on the
*   J2000 position) differs from their actual position, due to corrections
*   performed on some positions; the SKY2000 names were intentionally kept
*   identical to the original SKY2000 version. The list of these 91 stars
*   can be found in the "List of stars with differences" section below.
*Note on m_HD:
*   1. indicates this the brighter component of a system with a companion
*      >= 0.3 mag.
*   2. indicates this is the fainter component of a system with a companion
*      <= 0.3 mag.
*   3. for a third component
*   9 indicates that this is a blend of two HD stars.  The HD number is the
*      lower of the two.
*Note on GCI_X:
*   cos(Dec)*cos(RA)
*Note on GCI_Y:
*   cos(Dec)*sin(RA)
*Note on GCI_Z:
*   sin(Dec)
*Note on Sp:
*   i.e. HD, AGK3, or SAO
*Note on orbPer, magMax and magMin:
*   Data for these fields have not been added to the SKY2000 Master Star
*      Catalog.
*Note on n_mag1:
*   Photometry is on the RI system. This byte indicates whether it is
*      Johnson or Russian)
*Note on p_mag1:
*   Filter used (currently, only R)
*Note on n_mag2:
*   Photometry is on the Johnson, Eggen, or Cousins system. This byte
*      indicates which.
*Note on p_mag2:
*   Filter used (currently, only I)
*Note on mag3, v-mag3, e_mag3, n_mag3, p_mag3, r_mag3 and f_mag3:
*   Fields added to SKY2000 Version 1 for SKY2000 Version 2.
*   The column p_mag3 contains X, which refers to the star trackers
*   aboard the RXTE satellite. The response curve of these trackers
*   covers the 0.4 to 1.1um range, with its peak sensitivity covering
*   the R and I bands (.65 to .9um)

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

C  Declarations for 'refs.dat'	! Reference table

      integer*4 nr__1
      parameter (nr__1=190)	! Number of records
      character*80 ar__1  	! Full-size record

      integer*4     RefNo       ! [1/99]+= Reference number
      character*4   n_RefNo     ! *Note on the addition of the reference
      character*73  Text        ! *Text of reference
*Note on n_RefNo:
*    (98) = via SKYMAP Master Star Catalog, Version 3.7 (Cat. <V/77>)
*     .0  = new sources for Version 4.0
*     .0a = new sources for Version 4.0a
*     +2  = new sources for SKY2000 Version 2
*    All other sources added for Versions 4.1 and 4.2
*Note on Text:
*   The first line contains generally the title, followed by an asterisk (*)
*   when item referenced in the paper, and the number(s) assigned to the
*   catalog in the CDS / ADC Archives within < >
*   The following lines provide the full reference.
*--------------------------------------------------------------------------------
*
*Acknowledgements;
*    It is a pleasure to thank Chris Sande and Wayne H. Warren Jr
*    for giving a copy of their files.

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

C  Loading file 'sky2v3r1.dat'	! The SkyMap 2000 Version 3 Catalog Rev. 1

C  Format for file interpretation

    1 format(
     +  8X,A19,I8,I6,A1,A1,I6,A1,A11,A1,A1,I4,A10,A5,A1,I6,A1,I8,A10,
     +  A10,I2,I2,F7.4,A1,I2,I2,F6.3,F6.4,A1,I2,F8.5,F8.4,I2,F6.1,I2,
     +  F8.5,F8.6,I2,F9.6,F9.6,F9.6,F6.2,F6.2,F6.3,F5.2,F5.3,A1,I2,I1,
     +  F6.3,F6.3,F5.3,A1,I2,F6.3,F6.3,F5.3,A1,I2,F4.1,I2,F4.1,I2,A30,
     +  I2,A3,I2,F7.3,F5.2,F7.2,I3,F7.2,I2,A1,F7.4,F7.4,I8,I8,I8,F5.2,
     +  F5.2,F5.2,A1,F8.2,F8.2,I3,I2,F6.3,F6.3,F5.3,A1,A1,I2,F6.3,
     +  F6.3,F5.3,A1,A1,I2,F6.3,A1,A1,F6.3,F6.3,F5.3,A1,A1,I2,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'sky2v3r1.dat')
      write(6,*) '....Loading file: sky2v3r1.dat'
      do i__=1,299161
        read(1,'(A520)')ar__
        read(ar__,1)
     +  SKY2000,ID,HD,m_HD,u_HD,SAO,m_SAO,DM,m_DM,u_DM,HR,WDS,m_WDS,
     +  u_WDS,PPM,u_PPM,ID_merg,Name,Vname,RAh,RAm,RAs,DE_,DEd,DEm,
     +  DEs,e_pos,f_pos,r_pos,pmRA,pmDE,r_pm,RV,r_RV,Plx,e_Plx,r_Plx,
     +  GCI_X,GCI_Y,GCI_Z,GLON,GLAT,Vmag,Vder,e_Vmag,f_Vmag,r_Vmag,
     +  n_Vmag,Bmag,B_V,e_Bmag,f_Bmag,r_Bmag,Umag,U_B,e_Umag,n_Umag,
     +  r_Umag,Ptv,r_Ptv,Ptg,r_Ptg,SpMK,r_SpMK,Sp,r_Sp,sep,Dmag,
     +  orbPer,PA,date,r_dup,n_Dmag,dist1,dist2,ID_A,ID_B,ID_C,magMax,
     +  magMin,varAmp,n_varAmp,varPer,varEp,varTyp,r_var,mag1,v_mag1,
     +  e_mag1,n_mag1,p_mag1,r_mag1,mag2,v_mag2,e_mag2,n_mag2,p_mag2,
     +  r_mag2,ci1_2,f_mag1,f_mag2,mag3,v_mag3,e_mag3,n_mag3,p_mag3,
     +  r_mag3,f_mag3
        if(ar__(36:41) .EQ. '') HD = iNULL__
        if(ar__(44:49) .EQ. '') SAO = iNULL__
        if(ar__(64:67) .EQ. '') HR = iNULL__
        if(ar__(84:89) .EQ. '') PPM = iNULL__
        if(ar__(91:98) .EQ. '') ID_merg = iNULL__
        if(ar__(166:167) .EQ. '') r_pm = iNULL__
        if(ar__(168:173) .EQ. '') RV = rNULL__
        if(ar__(174:175) .EQ. '') r_RV = iNULL__
        if(ar__(176:183) .EQ. '') Plx = rNULL__
        if(ar__(184:191) .EQ. '') e_Plx = rNULL__
        if(ar__(192:193) .EQ. '') r_Plx = iNULL__
        if(ar__(233:238) .EQ. '') Vmag = rNULL__
        if(ar__(239:243) .EQ. '') Vder = rNULL__
        if(ar__(244:248) .EQ. '') e_Vmag = rNULL__
        if(ar__(250:251) .EQ. '') r_Vmag = iNULL__
        if(ar__(252:252) .EQ. '') n_Vmag = iNULL__
        if(ar__(253:258) .EQ. '') Bmag = rNULL__
        if(ar__(259:264) .EQ. '') B_V = rNULL__
        if(ar__(265:269) .EQ. '') e_Bmag = rNULL__
        if(ar__(271:272) .EQ. '') r_Bmag = iNULL__
        if(ar__(273:278) .EQ. '') Umag = rNULL__
        if(ar__(279:284) .EQ. '') U_B = rNULL__
        if(ar__(285:289) .EQ. '') e_Umag = rNULL__
        if(ar__(291:292) .EQ. '') r_Umag = iNULL__
        if(ar__(293:296) .EQ. '') Ptv = rNULL__
        if(ar__(297:298) .EQ. '') r_Ptv = iNULL__
        if(ar__(299:302) .EQ. '') Ptg = rNULL__
        if(ar__(303:304) .EQ. '') r_Ptg = iNULL__
        if(ar__(335:336) .EQ. '') r_SpMK = iNULL__
        if(ar__(340:341) .EQ. '') r_Sp = iNULL__
        if(ar__(342:348) .EQ. '') sep = rNULL__
        if(ar__(349:353) .EQ. '') Dmag = rNULL__
        if(ar__(354:360) .EQ. '') orbPer = rNULL__
        if(ar__(361:363) .EQ. '') PA = iNULL__
        if(ar__(364:370) .EQ. '') date = rNULL__
        if(ar__(371:372) .EQ. '') r_dup = iNULL__
        if(ar__(374:380) .EQ. '') dist1 = rNULL__
        if(ar__(381:387) .EQ. '') dist2 = rNULL__
        if(ar__(388:395) .EQ. '') ID_A = iNULL__
        if(ar__(396:403) .EQ. '') ID_B = iNULL__
        if(ar__(404:411) .EQ. '') ID_C = iNULL__
        if(ar__(412:416) .EQ. '') magMax = rNULL__
        if(ar__(417:421) .EQ. '') magMin = rNULL__
        if(ar__(422:426) .EQ. '') varAmp = rNULL__
        if(ar__(428:435) .EQ. '') varPer = rNULL__
        if(ar__(436:443) .EQ. '') varEp = rNULL__
        if(ar__(444:446) .EQ. '') varTyp = iNULL__
        if(ar__(447:448) .EQ. '') r_var = iNULL__
        if(ar__(449:454) .EQ. '') mag1 = rNULL__
        if(ar__(455:460) .EQ. '') v_mag1 = rNULL__
        if(ar__(461:465) .EQ. '') e_mag1 = rNULL__
        if(ar__(468:469) .EQ. '') r_mag1 = iNULL__
        if(ar__(470:475) .EQ. '') mag2 = rNULL__
        if(ar__(476:481) .EQ. '') v_mag2 = rNULL__
        if(ar__(482:486) .EQ. '') e_mag2 = rNULL__
        if(ar__(489:490) .EQ. '') r_mag2 = iNULL__
        if(ar__(491:496) .EQ. '') ci1_2 = rNULL__
        if(ar__(499:504) .EQ. '') mag3 = rNULL__
        if(ar__(505:510) .EQ. '') v_mag3 = rNULL__
        if(ar__(511:515) .EQ. '') e_mag3 = rNULL__
        if(ar__(518:519) .EQ. '') r_mag3 = iNULL__
        RAdeg = rNULL__
        DEdeg = rNULL__
c  Derive coordinates RAdeg and DEdeg from input data
c  (RAdeg and DEdeg are set to rNULL__ when unknown)
        if(RAh .GT. -180) RAdeg=RAh*15.
        if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
        if(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
        if(DEd .GE. 0) DEdeg=DEd
        if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
        if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
        if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c    ..............Just test output...........
        write(6,1)
     +  SKY2000,ID,HD,m_HD,u_HD,SAO,m_SAO,DM,m_DM,u_DM,HR,WDS,m_WDS,
     +  u_WDS,PPM,u_PPM,ID_merg,Name,Vname,RAh,RAm,RAs,DE_,DEd,DEm,
     +  DEs,e_pos,f_pos,r_pos,pmRA,pmDE,r_pm,RV,r_RV,Plx,e_Plx,r_Plx,
     +  GCI_X,GCI_Y,GCI_Z,GLON,GLAT,Vmag,Vder,e_Vmag,f_Vmag,r_Vmag,
     +  n_Vmag,Bmag,B_V,e_Bmag,f_Bmag,r_Bmag,Umag,U_B,e_Umag,n_Umag,
     +  r_Umag,Ptv,r_Ptv,Ptg,r_Ptg,SpMK,r_SpMK,Sp,r_Sp,sep,Dmag,
     +  orbPer,PA,date,r_dup,n_Dmag,dist1,dist2,ID_A,ID_B,ID_C,magMax,
     +  magMin,varAmp,n_varAmp,varPer,varEp,varTyp,r_var,mag1,v_mag1,
     +  e_mag1,n_mag1,p_mag1,r_mag1,mag2,v_mag2,e_mag2,n_mag2,p_mag2,
     +  r_mag2,ci1_2,f_mag1,f_mag2,mag3,v_mag3,e_mag3,n_mag3,p_mag3,
     +  r_mag3,f_mag3
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! Reference table

C  Format for file interpretation

    2 format(1X,I2,A4,A73)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,190
        read(1,'(A80)')ar__1
        read(ar__1,2)RefNo,n_RefNo,Text
c    ..............Just test output...........
        write(6,2)RefNo,n_RefNo,Text
c    .......End.of.Just test output...........
      end do
      close(1)

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