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.5, on 2013-May-21
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__=-1.e37)     	! NULL real number
      parameter  (iNULL__=-2147483647)	! NULL int  number

C=============================================================================
Cat. VII/213             Hickson's Compact groups of Galaxies   (Hickson+ 1982-1994)
*================================================================================
*Systematic Properties of Compact Groups of Galaxies
*     Hickson P.
*    <Astrophys. J. 255, 382 + Erratum 259, 930 (1982)>
*    =1982ApJ...255..382H
*A photometric catalog of compact groups of galaxies.
*     Hickson P., Kindl E., Auman J.R.
*    <Astrophys. J. Suppl. Ser. 70, 687 (1989)>
*    =1989ApJS...70..687H
*The luminosity function of compact groups of galaxies
*     Mendes de Oliveira C., Hickson P.
*    <Astrophys. J. 380, 30 (1991)>
*    =1991ApJ...380...30M
*Dynamical properties of compact groups of galaxies.
*     Hickson P., Mendes de Oliveira C., Huchra J.P., Palumbo G.G.C.
*    <Astrophys. J. 399, 353 (1992)>
*    =1992ApJ...399..353H
*Morphology of galaxies in compact groups.
*     Mendes de Oliveira C., Hickson P.
*    <Astrophys. J., 427, 684 (1994)>
*    =1994ApJ...427..684M
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'groups.dat'	! Catalog of groups (1982 paper, and errata)

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

      real*8        RA_        (nr__) ! (deg) Right Ascension 1950
      real*8        Dec        (nr__) ! (deg)     Declination 1950
      integer*4     HCG        (nr__) ! [1/100]+ Number of the group in this catalog
      integer*4     RAh        (nr__) ! (h) Right Ascension 1950 hours
      integer*4     RAm        (nr__) ! (min) Right Ascension minutes
      integer*4     RAs        (nr__) ! (s) Right Ascension seconds
      character*1   DE_        (nr__) ! Declination sign
      integer*4     DEd        (nr__) ! (deg) Declination degrees (1950)
      integer*4     DEm        (nr__) ! (arcmin) Declination arcminutes
      integer*4     DEs        (nr__) ! (arcsec) [0,60] Declination arcseconds
      character*1   Dyna       (nr__) ! [*] '*' when group has dynamical parameters
      character*2   Type       (nr__) ! *Group type
      integer*4     MCount     (nr__) ! *Member count
      real*4        AngSize    (nr__) ! (arcmin) *Angular size
      real*4        TotMag     (nr__) ! (mag) *Total magnitude of group
      real*4        Emag       (nr__) ! (mag) *Brightest member magnitude
      real*4        z          (nr__) ! *? Redshift
      character*6   Aname1     (nr__) ! *Alternate name 1
      character*6   Aname2     (nr__) ! *Alternate name 2
      character*6   Aname3     (nr__) ! *Alternate name 3
      character*6   Aname4     (nr__) ! *Alternate name 4
*Note on Type:
*   Two-character code (a letter followed by a number)
*   classifying the group according to its two brightest members:
*      S    The brightest galaxy is a spiral galaxy.
*      E    The brightest galaxy is not a spiral galaxy.
*      1    m(b) - m(a) >= 1.0
*      2    0.5 <= m(b) - m(a) < 1.0
*      3    m(b) - m(a) < 0.5
*      where m(a) and m(b) are the estimated red magnitudes of the brightest
*      and second brightest members, respectively, of the cluster.
*Note on MCount:
*   Number of galaxies in the group. Only those galaxies within three
*   magnitudes of the brightest galaxy are counted as members.
*Note on AngSize:
*   Angular diameter, in arcminutes, of the smallest circle containing the
*   geometric centers of all group members.
*Note on TotMag:
*   Total estimated red magnitude of those galaxies counted as group members
*   (see member count, above.)
*Note on Emag:
*   Estimated red magnitude of the brightest galaxy in the group, in units
*   of magnitude.
*Note on z:
*   Corrected redshift of the brightest galaxy. In all but ten cases this
*   field is blank; prefer the group redshift supplied in the file
*   "dynamics.dat".
*Note on Aname1, Aname2, Aname3, Aname4:
*   Other designations of the group, if any (at most, four).

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

C  Declarations for 'dynamics.dat'	! Dynamical properties (1992 paper, table3)

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

      integer*4     HCG_1      (nr__1) ! [1/100]+= Group number
      real*4        z_1        (nr__1) ! Group Redshift derived from the median
*                                        galaxy heliocentric velocity
      integer*4     n          (nr__1) ! Number of galaxies with accordant velocities
      real*4        log_sV     (nr__1) ! ([km/s]) Radial velocity dispersion
      real*4        log_V      (nr__1) ! ([km/s]) ? Estimated instrinsic 3D velocity dispersion
      real*4        log_R      (nr__1) ! ([kpc]) Median projected separation
      real*4        log_Ho_tc  (nr__1) ! Crossing time (expressed in 1/Ho units)
      real*4        log_Mv     (nr__1) ! ([g]) ? Virial mass of group in log. scale
      real*4        log_Mp     (nr__1) ! ([g]) ? Projected mass
      real*4        log_Ma     (nr__1) ! ([g]) ? Average mass
      real*4        log_Mm     (nr__1) ! ([g]) ? Median mass
      real*4        log_M      (nr__1) ! ([g]) ? Adopted mass
      real*4        log_L      (nr__1) ! ([W]) Total blue luminosity
*                                    of the accordant galaxies
      real*4        log_M_L    (nr__1) ! ([Sun]) ? Mass-to-light ratio
      real*4        log_rho    (nr__1) ! ([g/cm3]) ? Mass density

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

C  Declarations for 'galaxies.dat'	! Photometric and Velocity data for galaxies
                                (combined tables from 1989 and 1992 papers)

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

      real*8        RA__1      (nr__2) ! (deg) Right Ascension B1950
      real*8        Dec_1      (nr__2) ! (deg)     Declination B1950
      integer*4     HCG_2      (nr__2) ! [1/100]+= Hickson Group number (groups.dat)
      character*1   m_HCG      (nr__2) ! [a-i]! Galaxy in HCG group
      integer*4     RAh_1      (nr__2) ! (h) Right Ascension B1950 (hours)
      integer*4     RAm_1      (nr__2) ! (min) Right Ascension B1950 (minutes)
      real*4        RAs_1      (nr__2) ! (s) Right Ascension B1950 (seconds)
      character*1   DE__1      (nr__2) ! Declination B1950 (sign)
      integer*4     DEd_1      (nr__2) ! (deg) Declination B1950 (degrees)
      integer*4     DEm_1      (nr__2) ! (arcmin) Declination B1950 (minutes)
      real*4        DEs_1      (nr__2) ! (arcsec) Declination B1950 (seconds)
      real*4        a          (nr__2) ! (arcsec) Semi-major axis at 25.0mag/arcsec^2^ isophote
      real*4        b          (nr__2) ! (arcsec) Semi-minor axis at 25.0mag/arcsec^2^ isophote
      character*4   MType      (nr__2) ! Hubble Morphological type
      integer*4     T          (nr__2) ! *Numeric morphological type
      character*1   morph      (nr__2) ! [m] when more morphology in file "morpho.dat"
      integer*4     RVhel      (nr__2) ! (km/s) ? Heliocentric velocity
      integer*4     e_RVhel    (nr__2) ! (km/s) ? Estimated rms in RVhel
      integer*4     q_RVhel    (nr__2) ! *[0/2]?  Confidence code on RVhel
      real*4        Bmag       (nr__2) ! (mag) B magnitude within 24.5mag/arcsec^2^ isophote
      integer*4     q_Bmag     (nr__2) ! *[0,4] Confidence level for Bmag
      real*4        DBmag      (nr__2) ! (arcsec) *Diameter of B=24.5mag/arcsec^2^ isophote
      real*4        Rmag       (nr__2) ! (mag) R magnitude within 24.0mag/arcsec^2^ isophote
      integer*4     q_Rmag     (nr__2) ! *[0,4] Confidence level for Rmag
      real*4        DRmag      (nr__2) ! *Diameter of R=24.0mag/arcsec^2^ isophote
      real*4        B_R        (nr__2) ! (mag) Colour within the 24.5mag/arcsec^2^ isophote
      real*4        BTmag      (nr__2) ! (mag) B_T_ asymptotic magnitude
      real*4        BTc        (nr__2) ! (mag) B_T_ asymptotic magnitude corrected for
*                                        internal and external extinction
      real*4        e_BTmag    (nr__2) ! (mag) Mean error on BTmag
      real*4        MB_5log_h  (nr__2) ! (mag) ? Absolute magnitude of individual galaxies,
*                                    h=Ho/100, Ho=Hubble constant
      character*18  Names      (nr__2) ! Other names
*Note on T: the morphological type codes are:
*    ---------------------------
*    Hubble      Code     RC2
*    ---------------------------
*    E0-E7        0       -4, -5
*    S0, SB0      1       -2
*    S0a, SB0a    2        0
*    Sa, SBa      3        1
*    Sab, SBab    4        2
*    Sb, SBb      5        3
*    Sbc, SBbc    6        4
*    Sc, SBc      7        5
*    Scd, SBcd    8        6
*    Sd, SBd      9        7
*    Sdm, SBdm   10        8
*    Sm, SDm     11        9
*    Im, IBm     12       10
*    cI          13       11
*    ---------------------------
*Note on q_RVhel: the confidence code is
*     0 = highest confidence: spectral features clearly visible
*     1 = lower confidence: spectral features not clearly visible
*     2 = lowest confidence: very noisy spectra with no obvious features.
*         Only 3 galaxies have q_RVhel=2.
*Note on q_Bmag, q_Rmag: confidence levels are:
*     0 = good
*     1 = uncertain due to overlapping isophotes
*     2 = uncertain due to contamination
*     3 = uncertain due to poor calibration
*     4 = uncertain due to clouds.
*     (value 5 for HCG 64c unexplained)
*Note on DBmag, DRmag:
*     the diameter is defined as  sqrt(Area/{pi})

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

C  Declarations for 'morpho.dat'	! Morphology (1994 paper, table2)

      integer*4 nr__3
      parameter (nr__3=210)	! Number of records
      character*92 ar__3  	! Full-size record

      integer*4     HCG_3      (nr__3) ! [1/100]+= Hickson Group number (groups.dat)
      character*1   m_HCG_1    (nr__3) ! [a-i]! Galaxy in HCG group
      integer*4     RVhel_1    (nr__3) ! (km/s) ? Heliocentric velocity
      character*4   MType_1    (nr__3) ! Morphological type
      character*69  Comments   (nr__3) ! *Comments
*Note on Comments: Abbreviations used in comments:
*        [string 'ansac' in 58a is unexplained]
*  asym.    = asymmetric
*  emission = galaxy with emission lines in its nuclear spectrum
*  IR       = infrared emitter (Hickson et al. 1989ApJ...341..679H,
*             Sulentic & de Mello Rabaca 1993ApJ...410..520S)
*  morpho   = morphology
*  n.c.i.   = nonconcentric isophotes
*  r.c.     = rotation curve
*  radio    = radio-loud galaxies (Menon & Hickson 1985; Menon 1993)
*  tail-like= galaxy has tail-like features
*  vel.     = velocity
*  WR       = galaxy exhibits Wolf-Rayet spectral features

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

C  Loading file 'groups.dat'	! Catalog of groups (1982 paper, and errata)

C  Format for file interpretation

    1 format(
     +  I3,1X,I2,I2,I2,A1,I2,I2,I2,A1,1X,A2,I2,F5.1,F5.1,F5.1,F6.3,1X,
     +  A6,1X,A6,1X,A6,1X,A6)

C  Effective file loading

      open(unit=1,file='groups.dat', status='old')
      write(6,*) '....Loading file: groups.dat'
      do i__=1,100
        read(1,'(A72)')ar__
        read(ar__,1)
     +  HCG(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Dyna(i__),Type(i__),MCount(i__),
     +  AngSize(i__),TotMag(i__),Emag(i__),z(i__),Aname1(i__),
     +  Aname2(i__),Aname3(i__),Aname4(i__)
        if(ar__(39:44) .EQ. '') z(i__) = rNULL__
c       Derive coordinates RA_ and Dec from input data
c       (RA_ and Dec are set to rNULL_ when unknown)
        RA_(i__) = RAh(i__)
        if(RAh(i__) .GE. 0) RA_(i__)=RAh(i__)*15.
        if(RAm(i__) .GE. 0) RA_(i__)=RA_(i__)+RAm(i__)/4.
        if(RAs(i__) .GE. 0) RA_(i__)=RA_(i__)+RAs(i__)/240.
        Dec(i__) = DEd(i__)
        if(DEm(i__) .GE. 0) Dec(i__)=Dec(i__)+DEm(i__)/60.
        if(DEs(i__) .GE. 0) Dec(i__)=Dec(i__)+DEs(i__)/3600.
        if(DE_(i__).EQ.'-'.AND.Dec(i__).GE.0) Dec(i__)=-Dec(i__)
c    ..............Just test output...........
        write(6,1)
     +  HCG(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Dyna(i__),Type(i__),MCount(i__),
     +  AngSize(i__),TotMag(i__),Emag(i__),z(i__),Aname1(i__),
     +  Aname2(i__),Aname3(i__),Aname4(i__)
        write(6,'(6H Pos: 2F8.4)') RA_(i__),Dec(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'dynamics.dat'	! Dynamical properties (1992 paper, table3)

C  Format for file interpretation

    2 format(
     +  I3,2X,F6.4,2X,I1,2X,F4.2,1X,F5.2,1X,F5.2,2X,F5.2,2X,F5.2,2X,
     +  F5.2,2X,F5.2,2X,F5.2,2X,F5.2,2X,F5.2,1X,F5.2,1X,F6.2)

C  Effective file loading

      open(unit=1,file='dynamics.dat', status='old')
      write(6,*) '....Loading file: dynamics.dat'
      do i__=1,92
        read(1,'(A94)')ar__1
        read(ar__1,2)
     +  HCG_1(i__),z_1(i__),n(i__),log_sV(i__),log_V(i__),log_R(i__),
     +  log_Ho_tc(i__),log_Mv(i__),log_Mp(i__),log_Ma(i__),
     +  log_Mm(i__),log_M(i__),log_L(i__),log_M_L(i__),log_rho(i__)
        if(ar__1(22:26) .EQ. '') log_V(i__) = rNULL__
        if(ar__1(42:46) .EQ. '') log_Mv(i__) = rNULL__
        if(ar__1(49:53) .EQ. '') log_Mp(i__) = rNULL__
        if(ar__1(56:60) .EQ. '') log_Ma(i__) = rNULL__
        if(ar__1(63:67) .EQ. '') log_Mm(i__) = rNULL__
        if(ar__1(70:74) .EQ. '') log_M(i__) = rNULL__
        if(ar__1(83:87) .EQ. '') log_M_L(i__) = rNULL__
        if(ar__1(89:94) .EQ. '') log_rho(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  HCG_1(i__),z_1(i__),n(i__),log_sV(i__),log_V(i__),log_R(i__),
     +  log_Ho_tc(i__),log_Mv(i__),log_Mp(i__),log_Ma(i__),
     +  log_Mm(i__),log_M(i__),log_L(i__),log_M_L(i__),log_rho(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'galaxies.dat'	! Photometric and Velocity data for galaxies
*                                (combined tables from 1989 and 1992 papers)

C  Format for file interpretation

    3 format(
     +  I3,A1,1X,I2,I2,F5.2,A1,I2,I2,F4.1,1X,F5.1,1X,F4.1,2X,A4,1X,I2,
     +  A1,I5,1X,I3,1X,I1,1X,F5.2,1X,I1,1X,F5.1,1X,F5.2,1X,I1,1X,F5.1,
     +  1X,F4.2,1X,F5.2,1X,F5.2,1X,F4.2,1X,F5.1,1X,A18)

C  Effective file loading

      open(unit=1,file='galaxies.dat', status='old')
      write(6,*) '....Loading file: galaxies.dat'
      do i__=1,463
        read(1,'(A130)')ar__2
        read(ar__2,3)
     +  HCG_2(i__),m_HCG(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),
     +  DE__1(i__),DEd_1(i__),DEm_1(i__),DEs_1(i__),a(i__),b(i__),
     +  MType(i__),T(i__),morph(i__),RVhel(i__),e_RVhel(i__),
     +  q_RVhel(i__),Bmag(i__),q_Bmag(i__),DBmag(i__),Rmag(i__),
     +  q_Rmag(i__),DRmag(i__),B_R(i__),BTmag(i__),BTc(i__),
     +  e_BTmag(i__),MB_5log_h(i__),Names(i__)
        if(ar__2(45:49) .EQ. '') RVhel(i__) = iNULL__
        if(ar__2(51:53) .EQ. '') e_RVhel(i__) = iNULL__
        if(ar__2(55:55) .EQ. '') q_RVhel(i__) = iNULL__
        if(ar__2(107:111) .EQ. '') MB_5log_h(i__) = rNULL__
c       Derive coordinates RA__1 and Dec_1 from input data
c       (RA__1 and Dec_1 are set to rNULL_ when unknown)
        RA__1(i__) = RAh_1(i__)
        if(RAh_1(i__) .GE. 0) RA__1(i__)=RAh_1(i__)*15.
        if(RAm_1(i__) .GE. 0) RA__1(i__)=RA__1(i__)+RAm_1(i__)/4.
        if(RAs_1(i__) .GE. 0) RA__1(i__)=RA__1(i__)+RAs_1(i__)/240.
        Dec_1(i__) = DEd_1(i__)
        if(DEm_1(i__) .GE. 0) Dec_1(i__)=Dec_1(i__)+DEm_1(i__)/60.
        if(DEs_1(i__) .GE. 0) Dec_1(i__)=Dec_1(i__)+DEs_1(i__)/3600.
        if(DE__1(i__).EQ.'-'.AND.Dec_1(i__).GE.0) Dec_1(i__)=-Dec_1(i__)
c    ..............Just test output...........
        write(6,3)
     +  HCG_2(i__),m_HCG(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),
     +  DE__1(i__),DEd_1(i__),DEm_1(i__),DEs_1(i__),a(i__),b(i__),
     +  MType(i__),T(i__),morph(i__),RVhel(i__),e_RVhel(i__),
     +  q_RVhel(i__),Bmag(i__),q_Bmag(i__),DBmag(i__),Rmag(i__),
     +  q_Rmag(i__),DRmag(i__),B_R(i__),BTmag(i__),BTc(i__),
     +  e_BTmag(i__),MB_5log_h(i__),Names(i__)
        write(6,'(6H Pos: 2F8.4)') RA__1(i__),Dec_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'morpho.dat'	! Morphology (1994 paper, table2)

C  Format for file interpretation

    4 format(I3,A1,3X,I5,3X,A4,4X,A69)

C  Effective file loading

      open(unit=1,file='morpho.dat', status='old')
      write(6,*) '....Loading file: morpho.dat'
      do i__=1,210
        read(1,'(A92)')ar__3
        read(ar__3,4)
     +  HCG_3(i__),m_HCG_1(i__),RVhel_1(i__),MType_1(i__),
     +  Comments(i__)
        if(ar__3(8:12) .EQ. '') RVhel_1(i__) = iNULL__
c    ..............Just test output...........
        write(6,4)
     +  HCG_3(i__),m_HCG_1(i__),RVhel_1(i__),MType_1(i__),
     +  Comments(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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