CDS.headStuff2 FORTRAN Generation
()

Conversion of standardized ReadMe file for catalog 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-24
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. B/vsx       AAVSO International Variable Star Index VSX     (Watson+, 2006-2014)
*================================================================================
*The AAVSO International Variable Star Index (Version 2018-10-01)
*    Watson C., Henden A.A., Price A.
*   <AAVSO (2009)>
*   =2006SASS...25...47W
*   =2015yCat....102027W
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'vsx.dat'	! Variable Star indeX, Version 2018-10-01

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

C  J2000 position composed of: RAdeg DEdeg
      integer*4     OID        (nr__) ! Internal identifier, can be used to
*                                 link out to the VSX database (1)
      character*30  Name       (nr__) ! Variable star identifier
      integer*4     V          (nr__) ! [0,3] Variability flag (2)
      real*8        RAdeg      (nr__) ! (deg) Right ascension (J2000)
      real*8        DEdeg      (nr__) ! (deg) Declination (J2000)
      character*30  Type       (nr__) ! Variability type, as in GCVS catalog
      character*1   l_max      (nr__) ! Limit flag on max
      real*4        max        (nr__) ! (mag) ? Magnitude at maximum, or amplitude
      character*1   u_max      (nr__) ! Uncertainty flag on max
      character*6   n_max      (nr__) ! Passband on max magnitude (4)
      character*1   f_min      (nr__) ! [(] '(' indicates an amplitude
      character*1   l_min      (nr__) ! Limit flag on min
      real*4        min        (nr__) ! (mag) ? Magnitude at minimum, or amplitude
      character*1   u_min      (nr__) ! Uncertainty flag on min
      character*6   n_min      (nr__) ! Passband on min magnitude (4)
      real*8        Epoch      (nr__) ! (d) ? Epoch of maximum or minimum (HJD)
      character*1   u_Epoch    (nr__) ! [:)] Uncertainty flag (:) on epoch
      character*1   l_Period   (nr__) ! [<>(] Limit flag on period (3)
      real*8        Period     (nr__) ! (d) ? Period of the variable in days
      character*3   u_Period   (nr__) ! [:)*/N2 ] Uncertainty flag on Period (3)
*Note (1): To get the VSX URL, add the OID to
*     http://www.aavso.org/vsx/index.php?view=detail.top&oid=
*Note (2): 0 = Variable,
*          1 = Suspected variable,
*          2 = Constant or non-existing,
*          3 = Possible duplicate
*Note (3): The value of the period may be preceded by ">" or "<" if the
*     period is a lower or upper limit, respectively, or by a "(" which
*     indicates that the period is the mean cycle time of a U Gem or
*     recurrent nova (a closing bracket exists in u_Period).
*
*     The value of the period may be followed by the following symbols:
*     : = uncertainty flag
*     ) = value of the mean cycle for U Gem or recurrent nova
*         (the corresponding opening bracket exists in l_Period)
*     *N = the real period is likely a multiple of the quoted period
*     /N = the period quoted is likely a multiple of the real period
*Note (4): Passbands include the following:
*     U B V R I   = Johnson broad-band
*     J H K L M   = Johnson infra-red (1.2, 1.6, 2.2, 3.5, 5{mu}m)
*     Rc Ic       = Cousins' red and infra-red
*     u v b y     = Stroemgren intermediate-band
*     u'g'r'i'z'  = Sloan (SDSS)
*     pg pv bj rf = photographic blue (pg, bj) visual (pv), red (rf)
*     w C CR CV   = white (clear); R or V used for comparison star.
*     R1          = ROTSE-I (450-1000nm)
*     Hp T        = Hipparcos and Tycho (Cat. I/239)
*     NUV         = near-UV (Galex)
*     H1A H1B     = STEREO mission filter (essentially 600-800nm)

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

C  Declarations for 'refs.dat'	! Bibliography (references) of VSX stars

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

      integer*4     OID_1      (nr__1) ! Internal identifier, as in file "vsx.dat"
      character*19  Bibcode    (nr__1) ! Reference of a paper dealing with the object

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

C  Declarations for 'vsx_id.dat'	! Stars having a "VSX" name

      integer*4 nr__2
      parameter (nr__2=1604)	! Number of records
      character*58 ar__2  	! Full-size record

      character*16  VSX        (nr__2) ! VSX name (JHHMMSS.S+DDMMSS)
      integer*4     OID_2      (nr__2) ! Internal identifier, as in file "vsx.dat"
      character*29  Name_1     (nr__2) ! Variable star identifier, as in file "vsx.dat"
*                                 (when this identifier is not a VSX name)

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

C  Loading file 'vsx.dat'	! Variable Star indeX, Version 2018-10-01

C  Format for file interpretation

    1 format(
     +  I7,1X,A30,1X,I1,1X,F9.5,1X,F9.5,1X,A30,2X,A1,F6.3,A1,A6,1X,A1,
     +  A1,F6.3,A1,A6,1X,F12.4,A1,1X,A1,F16.10,A3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'vsx.dat')
      write(6,*) '....Loading file: vsx.dat'
      do i__=1,543382
        read(1,'(A158)')ar__
        read(ar__,1)
     +  OID(i__),Name(i__),V(i__),RAdeg(i__),DEdeg(i__),Type(i__),
     +  l_max(i__),max(i__),u_max(i__),n_max(i__),f_min(i__),
     +  l_min(i__),min(i__),u_min(i__),n_min(i__),Epoch(i__),
     +  u_Epoch(i__),l_Period(i__),Period(i__),u_Period(i__)
        if(ar__(95:100) .EQ. '') max(i__) = rNULL__
        if(ar__(111:116) .EQ. '') min(i__) = rNULL__
        if(ar__(125:136) .EQ. '') Epoch(i__) = rNULL__
        if(ar__(140:155) .EQ. '') Period(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  OID(i__),Name(i__),V(i__),RAdeg(i__),DEdeg(i__),Type(i__),
     +  l_max(i__),max(i__),u_max(i__),n_max(i__),f_min(i__),
     +  l_min(i__),min(i__),u_min(i__),n_min(i__),Epoch(i__),
     +  u_Epoch(i__),l_Period(i__),Period(i__),u_Period(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! Bibliography (references) of VSX stars

C  Format for file interpretation

    2 format(I7,1X,A19)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,770303
        read(1,'(A27)')ar__1
        read(ar__1,2)OID_1(i__),Bibcode(i__)
c    ..............Just test output...........
        write(6,2)OID_1(i__),Bibcode(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'vsx_id.dat'	! Stars having a "VSX" name

C  Format for file interpretation

    3 format(4X,A16,1X,I7,1X,A29)

C  Effective file loading

      open(unit=1,status='old',file=
     +'vsx_id.dat')
      write(6,*) '....Loading file: vsx_id.dat'
      do i__=1,1604
        read(1,'(A58)')ar__2
        read(ar__2,3)VSX(i__),OID_2(i__),Name_1(i__)
c    ..............Just test output...........
        write(6,3)VSX(i__),OID_2(i__),Name_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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