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-Mar-28
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. J/MNRAS/411/505   Sub-mm observations in Extended Chandra DFS    (Chapin+, 2011)
*================================================================================
*A joint analysis of BLAST 250-500{mu}m and LABOCA 870{mu}m observations in the
*Extended Chandra Deep Field-South.
*    Chapin E.L., Chapman S.C., Coppin K.E., Devlin M.J., Dunlop J.S.,
*    Greve T.R., Halpern M., Hasselfield M.F., Hughes D.H., Ivison R.J.,
*    Marsden G., Moncelsi L., Netterfield C.B., Pascale E., Scott D., Smail I.,
*    Viero M., Walter F., Weiss A., Werf P.V.D.
*   <Mon. Not. R. Astron. Soc., 411, 505-549 (2011)>
*   =2011MNRAS.411..505C
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'tablec1.dat'	! *250um peak list produced from matched-filtered maps
                             that land within the coverage of the matching
                             catalogue

      integer*4 nr__
      parameter (nr__=64)	! Number of records
      character*86 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)

      integer*4     SID        (nr__) ! SID number (1)
      character*28  PName      (nr__) ! Previously published name (2)
      character*11  Seq        (nr__) ! Match ID(s), in tablec5.dat
      character*1   n_Seq      (nr__) ! [*] * when no matches (3)
      integer*4     RAh        (nr__) ! (h) Submm peak centroid Right ascension (J2000)
      integer*4     RAm        (nr__) ! (min) Submm peak centroid Right ascension (J2000)
      real*4        RAs        (nr__) ! (s) Submm peak centroid Right ascension (J2000)
      character*1   DE_        (nr__) ! Submm peak centroid Declination sign (J2000)
      integer*4     DEd        (nr__) ! (deg) Submm peak centroid Declination (J2000)
      integer*4     DEm        (nr__) ! (arcmin) Submm peak centroid Declination (J2000)
      real*4        DEs        (nr__) ! (arcsec) Submm peak centroid Declination (J2000)
      real*4        S          (nr__) ! (mJy) Flux density, at 250, 350, 500 or 870um (4)
      real*4        e_S        (nr__) ! (mJy) rms uncertainty on Flux density
*                                   (instrumental noise only)
      real*4        S_N        (nr__) ! Signal-to-noise ratio (5)
*Note (1): SID number, refers to SID250 for tablec1 ([CCC2011] SID250 NNN),
*          SID350 for tablec2 ([CCC2011] SID350 NNN),
*          SID500 for tablec3 ([CCC2011] SID500 NNN) and
*          SID870 for tablec4 ([CCC2011] SID870 NNN).
*Note (2):
*  * For tables C1-C3 (<=500um), taken from the supplement to Devlin
*    et al. (2009, Cat. J/other/Nat/458.737) when available (new peaks
*    have no entry in this column).
*  * For table C4 (870um), taken from Weiss et al. (2009, preprint) that
*    land within the coverage of the matching catalogue.
*Note (3): For tablec4.dat: the 33 peaks marked with an asterisk have no matches
*     in any of the BLAST peak catalogues (Tables C1-C3). These peaks are
*     used to measure priors, but are not otherwise analyzed in this paper.
*Note (4): The flux densities are raw values from the maps (with no
*     correction for flux boosting), and the noises refer to instrumental
*     noise only (excluding source confusion).
*Note (5): S/N refer to instrumental noise only (excluding source
*     confusion), except for tablec4.dat, where S/N is measured with respect
*     to the combined instrumental and confusion noise.

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

C  Declarations for 'tablec2.dat'	! *350um peak list produced from matched-filtered maps

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

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

      integer*4     SID_1      (nr__1) ! SID number (1)
      character*28  PName_1    (nr__1) ! Previously published name (2)
      character*11  Seq_1      (nr__1) ! Match ID(s), in tablec5.dat
      character*1   n_Seq_1    (nr__1) ! [*] * when no matches (3)
      integer*4     RAh_1      (nr__1) ! (h) Submm peak centroid Right ascension (J2000)
      integer*4     RAm_1      (nr__1) ! (min) Submm peak centroid Right ascension (J2000)
      real*4        RAs_1      (nr__1) ! (s) Submm peak centroid Right ascension (J2000)
      character*1   DE__1      (nr__1) ! Submm peak centroid Declination sign (J2000)
      integer*4     DEd_1      (nr__1) ! (deg) Submm peak centroid Declination (J2000)
      integer*4     DEm_1      (nr__1) ! (arcmin) Submm peak centroid Declination (J2000)
      real*4        DEs_1      (nr__1) ! (arcsec) Submm peak centroid Declination (J2000)
      real*4        S_1        (nr__1) ! (mJy) Flux density, at 250, 350, 500 or 870um (4)
      real*4        e_S_1      (nr__1) ! (mJy) rms uncertainty on Flux density
*                                   (instrumental noise only)
      real*4        S_N_1      (nr__1) ! Signal-to-noise ratio (5)
*Note (1): SID number, refers to SID250 for tablec1 ([CCC2011] SID250 NNN),
*          SID350 for tablec2 ([CCC2011] SID350 NNN),
*          SID500 for tablec3 ([CCC2011] SID500 NNN) and
*          SID870 for tablec4 ([CCC2011] SID870 NNN).
*Note (2):
*  * For tables C1-C3 (<=500um), taken from the supplement to Devlin
*    et al. (2009, Cat. J/other/Nat/458.737) when available (new peaks
*    have no entry in this column).
*  * For table C4 (870um), taken from Weiss et al. (2009, preprint) that
*    land within the coverage of the matching catalogue.
*Note (3): For tablec4.dat: the 33 peaks marked with an asterisk have no matches
*     in any of the BLAST peak catalogues (Tables C1-C3). These peaks are
*     used to measure priors, but are not otherwise analyzed in this paper.
*Note (4): The flux densities are raw values from the maps (with no
*     correction for flux boosting), and the noises refer to instrumental
*     noise only (excluding source confusion).
*Note (5): S/N refer to instrumental noise only (excluding source
*     confusion), except for tablec4.dat, where S/N is measured with respect
*     to the combined instrumental and confusion noise.

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

C  Declarations for 'tablec3.dat'	! *500um peak list produced from matched-filtered maps

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

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

      integer*4     SID_2      (nr__2) ! SID number (1)
      character*28  PName_2    (nr__2) ! Previously published name (2)
      character*11  Seq_2      (nr__2) ! Match ID(s), in tablec5.dat
      character*1   n_Seq_2    (nr__2) ! [*] * when no matches (3)
      integer*4     RAh_2      (nr__2) ! (h) Submm peak centroid Right ascension (J2000)
      integer*4     RAm_2      (nr__2) ! (min) Submm peak centroid Right ascension (J2000)
      real*4        RAs_2      (nr__2) ! (s) Submm peak centroid Right ascension (J2000)
      character*1   DE__2      (nr__2) ! Submm peak centroid Declination sign (J2000)
      integer*4     DEd_2      (nr__2) ! (deg) Submm peak centroid Declination (J2000)
      integer*4     DEm_2      (nr__2) ! (arcmin) Submm peak centroid Declination (J2000)
      real*4        DEs_2      (nr__2) ! (arcsec) Submm peak centroid Declination (J2000)
      real*4        S_2        (nr__2) ! (mJy) Flux density, at 250, 350, 500 or 870um (4)
      real*4        e_S_2      (nr__2) ! (mJy) rms uncertainty on Flux density
*                                   (instrumental noise only)
      real*4        S_N_2      (nr__2) ! Signal-to-noise ratio (5)
*Note (1): SID number, refers to SID250 for tablec1 ([CCC2011] SID250 NNN),
*          SID350 for tablec2 ([CCC2011] SID350 NNN),
*          SID500 for tablec3 ([CCC2011] SID500 NNN) and
*          SID870 for tablec4 ([CCC2011] SID870 NNN).
*Note (2):
*  * For tables C1-C3 (<=500um), taken from the supplement to Devlin
*    et al. (2009, Cat. J/other/Nat/458.737) when available (new peaks
*    have no entry in this column).
*  * For table C4 (870um), taken from Weiss et al. (2009, preprint) that
*    land within the coverage of the matching catalogue.
*Note (3): For tablec4.dat: the 33 peaks marked with an asterisk have no matches
*     in any of the BLAST peak catalogues (Tables C1-C3). These peaks are
*     used to measure priors, but are not otherwise analyzed in this paper.
*Note (4): The flux densities are raw values from the maps (with no
*     correction for flux boosting), and the noises refer to instrumental
*     noise only (excluding source confusion).
*Note (5): S/N refer to instrumental noise only (excluding source
*     confusion), except for tablec4.dat, where S/N is measured with respect
*     to the combined instrumental and confusion noise.

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

C  Declarations for 'tablec4.dat'	! *870um peak list produced from matched-filtered maps

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

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

      integer*4     SID_3      (nr__3) ! SID number (1)
      character*28  PName_3    (nr__3) ! Previously published name (2)
      character*11  Seq_3      (nr__3) ! Match ID(s), in tablec5.dat
      character*1   n_Seq_3    (nr__3) ! [*] * when no matches (3)
      integer*4     RAh_3      (nr__3) ! (h) Submm peak centroid Right ascension (J2000)
      integer*4     RAm_3      (nr__3) ! (min) Submm peak centroid Right ascension (J2000)
      real*4        RAs_3      (nr__3) ! (s) Submm peak centroid Right ascension (J2000)
      character*1   DE__3      (nr__3) ! Submm peak centroid Declination sign (J2000)
      integer*4     DEd_3      (nr__3) ! (deg) Submm peak centroid Declination (J2000)
      integer*4     DEm_3      (nr__3) ! (arcmin) Submm peak centroid Declination (J2000)
      real*4        DEs_3      (nr__3) ! (arcsec) Submm peak centroid Declination (J2000)
      real*4        S_3        (nr__3) ! (mJy) Flux density, at 250, 350, 500 or 870um (4)
      real*4        e_S_3      (nr__3) ! (mJy) rms uncertainty on Flux density
*                                   (instrumental noise only)
      real*4        S_N_3      (nr__3) ! Signal-to-noise ratio (5)
*Note (1): SID number, refers to SID250 for tablec1 ([CCC2011] SID250 NNN),
*          SID350 for tablec2 ([CCC2011] SID350 NNN),
*          SID500 for tablec3 ([CCC2011] SID500 NNN) and
*          SID870 for tablec4 ([CCC2011] SID870 NNN).
*Note (2):
*  * For tables C1-C3 (<=500um), taken from the supplement to Devlin
*    et al. (2009, Cat. J/other/Nat/458.737) when available (new peaks
*    have no entry in this column).
*  * For table C4 (870um), taken from Weiss et al. (2009, preprint) that
*    land within the coverage of the matching catalogue.
*Note (3): For tablec4.dat: the 33 peaks marked with an asterisk have no matches
*     in any of the BLAST peak catalogues (Tables C1-C3). These peaks are
*     used to measure priors, but are not otherwise analyzed in this paper.
*Note (4): The flux densities are raw values from the maps (with no
*     correction for flux boosting), and the noises refer to instrumental
*     noise only (excluding source confusion).
*Note (5): S/N refer to instrumental noise only (excluding source
*     confusion), except for tablec4.dat, where S/N is measured with respect
*     to the combined instrumental and confusion noise.

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

C  Declarations for 'tablec5.dat'	! Matches between the external catalogue with each of
                             the four submm peak lists

      integer*4 nr__4
      parameter (nr__4=118)	! Number of records
      character*142 ar__4  	! Full-size record

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

      integer*4     Seq_4      (nr__4) ! Sequential number, [CCC2011] NNN in Simbad
      integer*4     SIMPLE     (nr__4) ! ? SIMPLE identification number (1)
      integer*4     SID_4      (nr__4) ! ? SID870um identification number (1)
      integer*4     RAh_4      (nr__4) ! (h) IRAC Right ascension (J2000)
      integer*4     RAm_4      (nr__4) ! (min) IRAC Right ascension (J2000)
      real*4        RAs_4      (nr__4) ! (s) IRAC Right ascension (J2000)
      character*1   DE__4      (nr__4) ! IRAC Declination sign (J2000)
      integer*4     DEd_4      (nr__4) ! (deg) IRAC Declination (J2000)
      integer*4     DEm_4      (nr__4) ! (arcmin) IRAC Declination (J2000)
      real*4        DEs_4      (nr__4) ! (arcsec) IRAC Declination (J2000)
      integer*4     SID250     (nr__4) ! ?=- submm SID for 250um peak (tablec1)
      real*4        r250       (nr__4) ! (arcsec) ?=- Radial separation for 250um peak
      real*4        L250       (nr__4) ! ?=- Likelihood ratio for 250um peak
      real*4        Pm250      (nr__4) ! ?=- Random association 24um/250um peak (2)
      real*4        Pr250      (nr__4) ! ?=- Random association 1.4GHz/250um peak (2)
      integer*4     SID350     (nr__4) ! ?=- submm SID for 350um peak (tablec2)
      real*4        r350       (nr__4) ! (arcsec) ?=- Radial separation for 350um peak
      real*4        L350       (nr__4) ! ?=- Likelihood ratio for 350um peak
      real*4        Pm350      (nr__4) ! ?=- Random association 24um/350um peak (2)
      real*4        Pr350      (nr__4) ! ?=- Random association 1.4GHz/350um peak (2)
      integer*4     SID500     (nr__4) ! ?=- submm SID for 500um peak (tablec3)
      real*4        r500       (nr__4) ! (arcsec) ?=- Radial separation for 500um peak
      real*4        L500       (nr__4) ! ?=- Likelihood ratio for 500um peak
      real*4        Pm500      (nr__4) ! ?=- Random association 24um/500um peak (2)
      real*4        Pr500      (nr__4) ! ?=- Random association 1.4GHz/500um peak (2)
      integer*4     SID870     (nr__4) ! ?=- submm SID for 870um peak (tablec4)
      real*4        r870       (nr__4) ! (arcsec) ?=- Radial separation for 870um peak
      real*4        L870       (nr__4) ! ?=- Likelihood ratio for 870um peak
      real*4        Pm870      (nr__4) ! ?=- Random association 24um/500um peak (2)
      real*4        Pr870      (nr__4) ! ?=- Random association 1.4GHz/870um peak (2)
*Note (1): Since all radio sources and the FIDEL catalogue use the SIMPLE
*   survey (Spitzer IRAC/MUSYC Public Legacy in ECDF-S; Gawiser et al.
*   2006, see Cat. J/ApJ/727/1/) as a positional prior, the SIMPLE IDs
*   for each source are given. The only exceptions are 870um peaks with
*   no identification in the matching catalogue; these peaks have simply
*   been added to the catalogue with the SID referring to Table C4.
*Note (2): Poisson chance alignment probability (see section 3 of paper)

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

C  Declarations for 'tablec6.dat'	! Maximum-likelihood submm photometry, SED model fits
                             and redshifts

      integer*4 nr__5
      parameter (nr__5=118)	! Number of records
      character*70 ar__5  	! Full-size record

      integer*4     Seq_5      (nr__5) ! Sequential number, [CCC2011] NNN in Simbad
      integer*4     S250       (nr__5) ! (mJy) Maximum likelihood flux density at 250um
      integer*4     e_S250     (nr__5) ! (mJy) rms uncertainty on S250 (3)
      integer*4     S350       (nr__5) ! (mJy) Maximum likelihood flux density at 350um
      integer*4     e_S350     (nr__5) ! (mJy) rms uncertainty on S350 (3)
      integer*4     S500       (nr__5) ! (mJy) Maximum likelihood flux density at 500um
      integer*4     e_S500     (nr__5) ! (mJy) rms uncertainty on S500 (3)
      real*4        S870       (nr__5) ! (mJy) Maximum likelihood flux density at 870um
      real*4        e_S870     (nr__5) ! (mJy) rms uncertainty on S870 (3)
      real*4        Tobs       (nr__5) ! (K) ?=- Observed temperature (4)
      real*4        e_Tobs     (nr__5) ! (K) ?=- rms uncertainty on Tobs
      real*4        STIR       (nr__5) ! ([W/m2]) ?=- 10-1000um total IR fluxes (log10) (4)
      real*4        e_STIR     (nr__5) ! ?=- Fractional uncertainties in the
*                                     total IR fluxes (5)
      real*4        LTIR       (nr__5) ! ([Lsun]) ?=- Total IR luminosity (log10)
      real*4        z          (nr__5) ! ?=- Redshift
      character*1   f_z        (nr__5) ! [*)p] Type of redshift (6)
      character*1   r_z        (nr__5) ! [PCID] Redshift reference (7)
      character*1   n_z        (nr__5) ! [a] Note on redshift for source 82 (8)
*Note (3): Uncertainties in flux densities have the estimated confusion noise
*  (Table 1) added in quadrature to the instrumental noise.
*Note (4): The temperatures, Tobs and 10-1000um TIR fluxes, STIR are for
*  observed-frame modified blackbody fits of the form
*  S_{nu}_{prop.to}{nu}^2.0^B_{nu}_(Tobs) (rest-frame values shown in Fig. E1).
*Note (5): The fractional uncertainties in the TIR fluxes, DSTIR/STIR, are
*  produced from the same Monte Carlo simulation used to measure uncertainties
*  in the temperatures. SED fits are not provided for confused sources (see
*  SEDs with `C' indicated in Fig. E1). When redshifts are available, the TIR
*  luminosity, LTIR, is also calculated, but integrating in the rest frame,
*  and using a more realistic SED fit from the library of Dale et al.
*  (2001ApJ...549..215D) in order to estimate emission in the mid/far-IR
*  (fits shown in Fig. E1).
*Note (6): Type of redshifts as follows:
*   * = optical spectroscopic measurements
*   p = optical photometric estimates
*   ) = IRAC-based photometric estimates
*Note (7): Redshfit reference as follows:
*   P = from the composite catalogue of Pascale et al. (2009ApJ...707.1740P)
*   I = from Ivison et al. (2010MNRAS.402..245I)
*   D = from Dunlop et al. (2010MNRAS.408.2022D)
*   C = from Casey et al. (in preparation).
*Note (8): a = Source 82 has an optical photometric redshift limit z>2.8
*     from Dunlop et al. (2010MNRAS.408.2022D). Since this limit is
*     significantly larger than its IRAC-based photometric redshift
*     z_i_=1.6 we use the limit as the best estimate for this source.

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

C  Loading file 'tablec1.dat'	! *250um peak list produced from matched-filtered maps
*                             that land within the coverage of the matching
*                             catalogue

C  Format for file interpretation

    1 format(
     +  I3,1X,A28,1X,A11,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,
     +  F4.1,1X,F5.1,1X,F4.1,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec1.dat')
      write(6,*) '....Loading file: tablec1.dat'
      do i__=1,64
        read(1,'(A86)')ar__
        read(ar__,1)
     +  SID(i__),PName(i__),Seq(i__),n_Seq(i__),RAh(i__),RAm(i__),
     +  RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),S(i__),e_S(i__),
     +  S_N(i__)
        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)
     +  SID(i__),PName(i__),Seq(i__),n_Seq(i__),RAh(i__),RAm(i__),
     +  RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),S(i__),e_S(i__),
     +  S_N(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tablec2.dat'	! *350um peak list produced from matched-filtered maps

C  Format for file interpretation

    2 format(
     +  I3,1X,A28,1X,A11,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,
     +  F4.1,1X,F5.1,1X,F4.1,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec2.dat')
      write(6,*) '....Loading file: tablec2.dat'
      do i__=1,67
        read(1,'(A86)')ar__1
        read(ar__1,2)
     +  SID_1(i__),PName_1(i__),Seq_1(i__),n_Seq_1(i__),RAh_1(i__),
     +  RAm_1(i__),RAs_1(i__),DE__1(i__),DEd_1(i__),DEm_1(i__),
     +  DEs_1(i__),S_1(i__),e_S_1(i__),S_N_1(i__)
        RAdeg_1(i__) = rNULL__
        DEdeg_1(i__) = rNULL__
c  Derive coordinates RAdeg_1 and DEdeg_1 from input data
c  (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown)
        if(RAh_1(i__) .GT. -180) RAdeg_1(i__)=RAh_1(i__)*15.
        if(RAm_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAm_1(i__)/4.
        if(RAs_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAs_1(i__)/240.
        if(DEd_1(i__) .GE. 0) DEdeg_1(i__)=DEd_1(i__)
        if(DEm_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEm_1(i__)/60.
        if(DEs_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEs_1(i__)/3600.
        if(DE__1(i__).EQ.'-'.AND.DEdeg_1(i__).GE.0) DEdeg_1(i__)=-DEdeg_1(i__)
c    ..............Just test output...........
        write(6,2)
     +  SID_1(i__),PName_1(i__),Seq_1(i__),n_Seq_1(i__),RAh_1(i__),
     +  RAm_1(i__),RAs_1(i__),DE__1(i__),DEd_1(i__),DEm_1(i__),
     +  DEs_1(i__),S_1(i__),e_S_1(i__),S_N_1(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_1(i__),DEdeg_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tablec3.dat'	! *500um peak list produced from matched-filtered maps

C  Format for file interpretation

    3 format(
     +  I3,1X,A28,1X,A11,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,
     +  F4.1,1X,F5.1,1X,F4.1,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec3.dat')
      write(6,*) '....Loading file: tablec3.dat'
      do i__=1,57
        read(1,'(A86)')ar__2
        read(ar__2,3)
     +  SID_2(i__),PName_2(i__),Seq_2(i__),n_Seq_2(i__),RAh_2(i__),
     +  RAm_2(i__),RAs_2(i__),DE__2(i__),DEd_2(i__),DEm_2(i__),
     +  DEs_2(i__),S_2(i__),e_S_2(i__),S_N_2(i__)
        RAdeg_2(i__) = rNULL__
        DEdeg_2(i__) = rNULL__
c  Derive coordinates RAdeg_2 and DEdeg_2 from input data
c  (RAdeg_2 and DEdeg_2 are set to rNULL__ when unknown)
        if(RAh_2(i__) .GT. -180) RAdeg_2(i__)=RAh_2(i__)*15.
        if(RAm_2(i__) .GT. -180) RAdeg_2(i__)=RAdeg_2(i__)+RAm_2(i__)/4.
        if(RAs_2(i__) .GT. -180) RAdeg_2(i__)=RAdeg_2(i__)+RAs_2(i__)/240.
        if(DEd_2(i__) .GE. 0) DEdeg_2(i__)=DEd_2(i__)
        if(DEm_2(i__) .GE. 0) DEdeg_2(i__)=DEdeg_2(i__)+DEm_2(i__)/60.
        if(DEs_2(i__) .GE. 0) DEdeg_2(i__)=DEdeg_2(i__)+DEs_2(i__)/3600.
        if(DE__2(i__).EQ.'-'.AND.DEdeg_2(i__).GE.0) DEdeg_2(i__)=-DEdeg_2(i__)
c    ..............Just test output...........
        write(6,3)
     +  SID_2(i__),PName_2(i__),Seq_2(i__),n_Seq_2(i__),RAh_2(i__),
     +  RAm_2(i__),RAs_2(i__),DE__2(i__),DEd_2(i__),DEm_2(i__),
     +  DEs_2(i__),S_2(i__),e_S_2(i__),S_N_2(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_2(i__),DEdeg_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tablec4.dat'	! *870um peak list produced from matched-filtered maps

C  Format for file interpretation

    4 format(
     +  I3,1X,A28,1X,A11,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,
     +  F4.1,1X,F5.1,1X,F4.1,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec4.dat')
      write(6,*) '....Loading file: tablec4.dat'
      do i__=1,81
        read(1,'(A86)')ar__3
        read(ar__3,4)
     +  SID_3(i__),PName_3(i__),Seq_3(i__),n_Seq_3(i__),RAh_3(i__),
     +  RAm_3(i__),RAs_3(i__),DE__3(i__),DEd_3(i__),DEm_3(i__),
     +  DEs_3(i__),S_3(i__),e_S_3(i__),S_N_3(i__)
        RAdeg_3(i__) = rNULL__
        DEdeg_3(i__) = rNULL__
c  Derive coordinates RAdeg_3 and DEdeg_3 from input data
c  (RAdeg_3 and DEdeg_3 are set to rNULL__ when unknown)
        if(RAh_3(i__) .GT. -180) RAdeg_3(i__)=RAh_3(i__)*15.
        if(RAm_3(i__) .GT. -180) RAdeg_3(i__)=RAdeg_3(i__)+RAm_3(i__)/4.
        if(RAs_3(i__) .GT. -180) RAdeg_3(i__)=RAdeg_3(i__)+RAs_3(i__)/240.
        if(DEd_3(i__) .GE. 0) DEdeg_3(i__)=DEd_3(i__)
        if(DEm_3(i__) .GE. 0) DEdeg_3(i__)=DEdeg_3(i__)+DEm_3(i__)/60.
        if(DEs_3(i__) .GE. 0) DEdeg_3(i__)=DEdeg_3(i__)+DEs_3(i__)/3600.
        if(DE__3(i__).EQ.'-'.AND.DEdeg_3(i__).GE.0) DEdeg_3(i__)=-DEdeg_3(i__)
c    ..............Just test output...........
        write(6,4)
     +  SID_3(i__),PName_3(i__),Seq_3(i__),n_Seq_3(i__),RAh_3(i__),
     +  RAm_3(i__),RAs_3(i__),DE__3(i__),DEd_3(i__),DEm_3(i__),
     +  DEs_3(i__),S_3(i__),e_S_3(i__),S_N_3(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_3(i__),DEdeg_3(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tablec5.dat'	! Matches between the external catalogue with each of
*                             the four submm peak lists

C  Format for file interpretation

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

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec5.dat')
      write(6,*) '....Loading file: tablec5.dat'
      do i__=1,118
        read(1,'(A142)')ar__4
        read(ar__4,5)
     +  Seq_4(i__),SIMPLE(i__),SID_4(i__),RAh_4(i__),RAm_4(i__),
     +  RAs_4(i__),DE__4(i__),DEd_4(i__),DEm_4(i__),DEs_4(i__),
     +  SID250(i__),r250(i__),L250(i__),Pm250(i__),Pr250(i__),
     +  SID350(i__),r350(i__),L350(i__),Pm350(i__),Pr350(i__),
     +  SID500(i__),r500(i__),L500(i__),Pm500(i__),Pr500(i__),
     +  SID870(i__),r870(i__),L870(i__),Pm870(i__),Pr870(i__)
        if(ar__4(5:9) .EQ. '') SIMPLE(i__) = iNULL__
        if(ar__4(11:13) .EQ. '') SID_4(i__) = iNULL__
        if (SID250(i__) .EQ. 45) SID250(i__) =  iNULL__
        if (idig(ar__4(43:46)).EQ.0) r250(i__) =  rNULL__
        if (idig(ar__4(48:52)).EQ.0) L250(i__) =  rNULL__
        if (idig(ar__4(54:58)).EQ.0) Pm250(i__) =  rNULL__
        if (idig(ar__4(60:64)).EQ.0) Pr250(i__) =  rNULL__
        if (SID350(i__) .EQ. 45) SID350(i__) =  iNULL__
        if (idig(ar__4(70:73)).EQ.0) r350(i__) =  rNULL__
        if (idig(ar__4(75:78)).EQ.0) L350(i__) =  rNULL__
        if (idig(ar__4(80:84)).EQ.0) Pm350(i__) =  rNULL__
        if (idig(ar__4(86:90)).EQ.0) Pr350(i__) =  rNULL__
        if (SID500(i__) .EQ. 45) SID500(i__) =  iNULL__
        if (idig(ar__4(96:99)).EQ.0) r500(i__) =  rNULL__
        if (idig(ar__4(101:104)).EQ.0) L500(i__) =  rNULL__
        if (idig(ar__4(106:110)).EQ.0) Pm500(i__) =  rNULL__
        if (idig(ar__4(112:116)).EQ.0) Pr500(i__) =  rNULL__
        if (SID870(i__) .EQ. 45) SID870(i__) =  iNULL__
        if (idig(ar__4(122:125)).EQ.0) r870(i__) =  rNULL__
        if (idig(ar__4(127:130)).EQ.0) L870(i__) =  rNULL__
        if (idig(ar__4(132:136)).EQ.0) Pm870(i__) =  rNULL__
        if (idig(ar__4(138:142)).EQ.0) Pr870(i__) =  rNULL__
        RAdeg_4(i__) = rNULL__
        DEdeg_4(i__) = rNULL__
c  Derive coordinates RAdeg_4 and DEdeg_4 from input data
c  (RAdeg_4 and DEdeg_4 are set to rNULL__ when unknown)
        if(RAh_4(i__) .GT. -180) RAdeg_4(i__)=RAh_4(i__)*15.
        if(RAm_4(i__) .GT. -180) RAdeg_4(i__)=RAdeg_4(i__)+RAm_4(i__)/4.
        if(RAs_4(i__) .GT. -180) RAdeg_4(i__)=RAdeg_4(i__)+RAs_4(i__)/240.
        if(DEd_4(i__) .GE. 0) DEdeg_4(i__)=DEd_4(i__)
        if(DEm_4(i__) .GE. 0) DEdeg_4(i__)=DEdeg_4(i__)+DEm_4(i__)/60.
        if(DEs_4(i__) .GE. 0) DEdeg_4(i__)=DEdeg_4(i__)+DEs_4(i__)/3600.
        if(DE__4(i__).EQ.'-'.AND.DEdeg_4(i__).GE.0) DEdeg_4(i__)=-DEdeg_4(i__)
c    ..............Just test output...........
        write(6,5)
     +  Seq_4(i__),SIMPLE(i__),SID_4(i__),RAh_4(i__),RAm_4(i__),
     +  RAs_4(i__),DE__4(i__),DEd_4(i__),DEm_4(i__),DEs_4(i__),
     +  SID250(i__),r250(i__),L250(i__),Pm250(i__),Pr250(i__),
     +  SID350(i__),r350(i__),L350(i__),Pm350(i__),Pr350(i__),
     +  SID500(i__),r500(i__),L500(i__),Pm500(i__),Pr500(i__),
     +  SID870(i__),r870(i__),L870(i__),Pm870(i__),Pr870(i__)
        write(6,'(6H Pos: 2F8.4)') RAdeg_4(i__),DEdeg_4(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tablec6.dat'	! Maximum-likelihood submm photometry, SED model fits
*                             and redshifts

C  Format for file interpretation

    6 format(
     +  I3,1X,I3,1X,I2,1X,I3,1X,I3,1X,I3,1X,I3,1X,F4.1,1X,F3.1,1X,
     +  F4.1,1X,F4.1,1X,F5.1,1X,F4.2,1X,F4.1,1X,F5.3,A1,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablec6.dat')
      write(6,*) '....Loading file: tablec6.dat'
      do i__=1,118
        read(1,'(A70)')ar__5
        read(ar__5,6)
     +  Seq_5(i__),S250(i__),e_S250(i__),S350(i__),e_S350(i__),
     +  S500(i__),e_S500(i__),S870(i__),e_S870(i__),Tobs(i__),
     +  e_Tobs(i__),STIR(i__),e_STIR(i__),LTIR(i__),z(i__),f_z(i__),
     +  r_z(i__),n_z(i__)
        if (idig(ar__5(37:40)).EQ.0) Tobs(i__) =  rNULL__
        if (idig(ar__5(42:45)).EQ.0) e_Tobs(i__) =  rNULL__
        if (idig(ar__5(47:51)).EQ.0) STIR(i__) =  rNULL__
        if (idig(ar__5(53:56)).EQ.0) e_STIR(i__) =  rNULL__
        if (idig(ar__5(58:61)).EQ.0) LTIR(i__) =  rNULL__
        if (idig(ar__5(63:67)).EQ.0) z(i__) =  rNULL__
c    ..............Just test output...........
        write(6,6)
     +  Seq_5(i__),S250(i__),e_S250(i__),S350(i__),e_S350(i__),
     +  S500(i__),e_S500(i__),S870(i__),e_S870(i__),Tobs(i__),
     +  e_Tobs(i__),STIR(i__),e_STIR(i__),LTIR(i__),z(i__),f_z(i__),
     +  r_z(i__),n_z(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C Locate position of first digit in string; or return 0
      integer function idig(c)
      character*(*) c
      character*1 c1
      integer lc,i
      lc=len(c)
      idig=0
      do i=1,lc
         if(c(i:i).ne.' ') go to 1
      end do
    1 if(i.gt.lc) return
      c1=c(i:i)
      if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
      if(i.gt.lc) return
      c1=c(i:i)
      if(c1.ge.'0'.and.c1.le.'9') idig=i
      return
      end