FORTRAN Generation
(/./ftp/cats/VIII/106)

Conversion of standardized ReadMe file for file /./ftp/cats/VIII/106 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 2026-Jun-10
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. VIII/106            Herschel/PACS Point Source Catalogs    (Herschel team, 2017)
*================================================================================
*HPPSC: Herschel/PACS Point Source Catalogue.
*    Herschel Point Source Catalogue Working Group,
*    Marton G., Calzoletti L., Perez Garcia A.M., Kiss C., Paladini R.,
*    Altieri B., Sanchez Portal M., Kidger M.
*    <Herschel catalogs (2017)>
*   =2020yCat.8106....0H
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'hppsc070.dat'	! Herschel/PACS Point Source catalog at 70um

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

C  J2000 position composed of: RAdeg DEdeg
      character*26  Name       (nr__) ! Source name (name) (G1)
      character*5   Band       (nr__) ! Band (blue=70um, green=100um, red=160um)
*                                   (band)
      real*8        RAdeg      (nr__) ! (deg) Right ascension (J2000) (ra)
      real*4        DEdeg      (nr__) ! (deg) Declination (J2000) (dec)
      real*4        e_RAdeg    (nr__) ! (deg) Positional uncertainty on Right ascension
*                                   (raerr)
      real*4        e_DEdeg    (nr__) ! (deg) Positional uncertainty on Declination
*                                   (decerr)
      real*8        Flux       (nr__) ! (mJy) Non-color corrected flux density in Band
*                                   (flux)
      real*8        snr        (nr__) ! Structure noise based signal-to-noise ratio
*                                   (snr)
      real*8        snrnoise   (nr__) ! (mJy) Noise derived from S/NS (snrnoise)
      real*8        stn        (nr__) ! ? Background RMS based signal-to-noise (stn)
      character*2   n_stn      (nr__) ! [-I] -I for -Infinity
      real*8        rms        (nr__) ! (mJy) ? Background RMS (rms)
      real*8        strn       (nr__) ! ?=-99.9 Structure noise (strn)
      real*8        Fratio     (nr__) ! Flux ratio measured in apertures 6 and 1
*                                   (fratio)
      real*8        FWHMXfit   (nr__) ! (arcsec) FWHM of the fitted Gaussian along the
*                                   major axis (fwhmxfit)
      real*8        FWHMYfit   (nr__) ! (arcsec) ?=-99.9 FWHM of the fitted Gaussian along the
*                                   minor axis (fwhmyfit)
      real*8        Elong      (nr__) ! Ratio of the FWHMY and FWHMX (flag_elong)
      character*1   Edge       (nr__) ! [ft] t = at least one contributing source
*                                    shows >=10% of map pixels as NaN within
*                                    the outer background annulus (edgeflag)
      integer*4     Blend      (nr__) ! Sources with the same numbers are blended
*                                   (flag_blend)
      character*1   Warmat     (nr__) ! [ft] t = the observation was affected by the
*                                   "warm" attitude (warmat)
      integer*8     ObsId      (nr__) ! Observation identifier (obsid)
      character*1   SSOmap     (nr__) ! [ft] t = SSO map reprocessed in the rest sky
*                                   frame (ssomapflag)

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

C  Declarations for 'hppsc100.dat'	! Herschel/PACS Point Source catalog at 100um

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

C  J2000 position composed of: RAdeg DEdeg
      character*26  Name_1     (nr__1) ! Source name (name) (G1)
      character*5   Band_1     (nr__1) ! Band (blue=70um, green=100um, red=160um)
*                                   (band)
      real*8        RAdeg_1    (nr__1) ! (deg) Right ascension (J2000) (ra)
      real*4        DEdeg_1    (nr__1) ! (deg) Declination (J2000) (dec)
      real*4        e_RAdeg_1  (nr__1) ! (deg) Positional uncertainty on Right ascension
*                                   (raerr)
      real*4        e_DEdeg_1  (nr__1) ! (deg) Positional uncertainty on Declination
*                                   (decerr)
      real*8        Flux_1     (nr__1) ! (mJy) Non-color corrected flux density in Band
*                                   (flux)
      real*8        snr_1      (nr__1) ! Structure noise based signal-to-noise ratio
*                                   (snr)
      real*8        snrnoise_1 (nr__1) ! (mJy) Noise derived from S/NS (snrnoise)
      real*8        stn_1      (nr__1) ! ? Background RMS based signal-to-noise (stn)
      character*2   n_stn_1    (nr__1) ! [-I] -I for -Infinity
      real*8        rms_1      (nr__1) ! (mJy) ? Background RMS (rms)
      real*8        strn_1     (nr__1) ! ?=-99.9 Structure noise (strn)
      real*8        Fratio_1   (nr__1) ! Flux ratio measured in apertures 6 and 1
*                                   (fratio)
      real*8        FWHMXfit_1 (nr__1) ! (arcsec) FWHM of the fitted Gaussian along the
*                                   major axis (fwhmxfit)
      real*8        FWHMYfit_1 (nr__1) ! (arcsec) ?=-99.9 FWHM of the fitted Gaussian along the
*                                   minor axis (fwhmyfit)
      real*8        Elong_1    (nr__1) ! Ratio of the FWHMY and FWHMX (flag_elong)
      character*1   Edge_1     (nr__1) ! [ft] t = at least one contributing source
*                                    shows >=10% of map pixels as NaN within
*                                    the outer background annulus (edgeflag)
      integer*4     Blend_1    (nr__1) ! Sources with the same numbers are blended
*                                   (flag_blend)
      character*1   Warmat_1   (nr__1) ! [ft] t = the observation was affected by the
*                                   "warm" attitude (warmat)
      integer*8     ObsId_1    (nr__1) ! Observation identifier (obsid)
      character*1   SSOmap_1   (nr__1) ! [ft] t = SSO map reprocessed in the rest sky
*                                   frame (ssomapflag)

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

C  Declarations for 'hppsc160.dat'	! Herschel/PACS Point Source catalog at 160um

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

C  J2000 position composed of: RAdeg DEdeg
      character*26  Name_2     (nr__2) ! Source name (name) (G1)
      character*5   Band_2     (nr__2) ! Band (blue=70um, green=100um, red=160um)
*                                   (band)
      real*8        RAdeg_2    (nr__2) ! (deg) Right ascension (J2000) (ra)
      real*4        DEdeg_2    (nr__2) ! (deg) Declination (J2000) (dec)
      real*4        e_RAdeg_2  (nr__2) ! (deg) Positional uncertainty on Right ascension
*                                   (raerr)
      real*4        e_DEdeg_2  (nr__2) ! (deg) Positional uncertainty on Declination
*                                   (decerr)
      real*8        Flux_2     (nr__2) ! (mJy) Non-color corrected flux density in Band
*                                   (flux)
      real*8        snr_2      (nr__2) ! Structure noise based signal-to-noise ratio
*                                   (snr)
      real*8        snrnoise_2 (nr__2) ! (mJy) Noise derived from S/NS (snrnoise)
      real*8        stn_2      (nr__2) ! ? Background RMS based signal-to-noise (stn)
      character*2   n_stn_2    (nr__2) ! [-I] -I for -Infinity
      real*8        rms_2      (nr__2) ! (mJy) ? Background RMS (rms)
      real*8        strn_2     (nr__2) ! ?=-99.9 Structure noise (strn)
      real*8        Fratio_2   (nr__2) ! Flux ratio measured in apertures 6 and 1
*                                   (fratio)
      real*8        FWHMXfit_2 (nr__2) ! (arcsec) FWHM of the fitted Gaussian along the
*                                   major axis (fwhmxfit)
      real*8        FWHMYfit_2 (nr__2) ! (arcsec) ?=-99.9 FWHM of the fitted Gaussian along the
*                                   minor axis (fwhmyfit)
      real*8        Elong_2    (nr__2) ! Ratio of the FWHMY and FWHMX (flag_elong)
      character*1   Edge_2     (nr__2) ! [ft] t = at least one contributing source
*                                    shows >=10% of map pixels as NaN within
*                                    the outer background annulus (edgeflag)
      integer*4     Blend_2    (nr__2) ! Sources with the same numbers are blended
*                                   (flag_blend)
      character*1   Warmat_2   (nr__2) ! [ft] t = the observation was affected by the
*                                   "warm" attitude (warmat)
      integer*8     ObsId_2    (nr__2) ! Observation identifier (obsid)
      character*1   SSOmap_2   (nr__2) ! [ft] t = SSO map reprocessed in the rest sky
*                                   frame (ssomapflag)

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

C  Declarations for 'hpesl.dat'	! Herschel/PACS slightly extended sources list

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

C  J2000 position composed of: RAdeg DEdeg
      character*26  Name_3     (nr__3) ! Source name (name) (G1)
      character*5   Band_3     (nr__3) ! Band (blue=70um, green=100um, red=160um)
*                                   (band)
      real*8        RAdeg_3    (nr__3) ! (deg) Right ascension (J2000) (ra)
      real*8        DEdeg_3    (nr__3) ! (deg) Declination (J2000) (dec)
      real*4        e_RAdeg_3  (nr__3) ! (deg) Positional uncertainty on Right ascension
*                                   (raerr)
      real*4        e_DEdeg_3  (nr__3) ! (deg) Positional  uncertainty on Declination
*                                   (decerr)
      real*8        Flux_3     (nr__3) ! (mJy) Non-color corrected flux density in Band
*                                   (flux)
      real*8        snr_3      (nr__3) ! Structure noise based signal-to-noise ratio
*                                   (snr)
      real*8        stn_3      (nr__3) ! ? Background RMS based signal-to-noise (stn)
      character*1   n_stn_3    (nr__3) ! [I] I for Infinity
      real*8        strn_3     (nr__3) ! ? Structure noise (strn)
      real*8        FWHMXfit_3 (nr__3) ! (arcsec) FWHM of the fitted Gaussian along the
*                                   major axis (fwhmxfit)
      real*8        FWHMYfit_3 (nr__3) ! (arcsec) ?=-99.9 FWHM of the fitted Gaussian along the
*                                   minor axis (fwhmyfit)
      real*8        Elong_3    (nr__3) ! Ratio of the FWHMY and FWHMX (flag_elong)
      character*1   Edge_3     (nr__3) ! [ft] t = at least one contributing source
*                                   shows >=10% of map pixels as NaN within
*                                   the outer background annulus (edgeflag)
      integer*8     ObsId_3    (nr__3) ! Observation identifier (obsid)

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

C  Declarations for 'hprsl.dat'	! Herschel/PACS rejected source list

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

C  J2000 position composed of: RAdeg DEdeg
      integer*4     SourceId   (nr__4) ! [1/8254064] Source Id (sourceid)
      real*4        RAdeg_4    (nr__4) ! (deg) Right ascension (J2000) (ra)
      real*4        DEdeg_4    (nr__4) ! (deg) Declination (J2000) (dec)
      real*4        e_RAdeg_4  (nr__4) ! (deg) Positional uncertainty on Right ascension
*                                   (raerr)
      real*4        e_DEdeg_4  (nr__4) ! (deg) Positional  uncertainty on Declination
*                                   (decerr)
      integer*8     ObsId_4    (nr__4) ! Observation identifier (obsid)
      character*5   Band_4     (nr__4) ! Band (blue=70um, green=100um, red=160um)
*                                   (band)

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

C  Loading file 'hppsc070.dat'	! Herschel/PACS Point Source catalog at 70um

C  Format for file interpretation

    1 format(
     +  A26,1X,A5,1X,F21.17,1X,E21.17,1X,E20.18,1X,E20.18,1X,F15.6,1X,
     +  F15.6,1X,F26.17,1X,F11.6,A2,1X,F14.6,1X,F14.6,1X,F17.15,1X,
     +  F17.14,1X,F18.14,1X,F8.6,1X,A1,1X,I4,1X,A1,1X,I10,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'hppsc070.dat')
      write(6,*) '....Loading file: hppsc070.dat'
      do i__=1,108319
        read(1,'(A307)')ar__
        read(ar__,1)
     +  Name(i__),Band(i__),RAdeg(i__),DEdeg(i__),e_RAdeg(i__),
     +  e_DEdeg(i__),Flux(i__),snr(i__),snrnoise(i__),stn(i__),
     +  n_stn(i__),rms(i__),strn(i__),Fratio(i__),FWHMXfit(i__),
     +  FWHMYfit(i__),Elong(i__),Edge(i__),Blend(i__),Warmat(i__),
     +  ObsId(i__),SSOmap(i__)
        if(ar__(179:189) .EQ. '') stn(i__) = rNULL__
        if(ar__(193:206) .EQ. '') rms(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),Band(i__),RAdeg(i__),DEdeg(i__),e_RAdeg(i__),
     +  e_DEdeg(i__),Flux(i__),snr(i__),snrnoise(i__),stn(i__),
     +  n_stn(i__),rms(i__),strn(i__),Fratio(i__),FWHMXfit(i__),
     +  FWHMYfit(i__),Elong(i__),Edge(i__),Blend(i__),Warmat(i__),
     +  ObsId(i__),SSOmap(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'hppsc100.dat'	! Herschel/PACS Point Source catalog at 100um

C  Format for file interpretation

    2 format(
     +  A26,1X,A5,1X,F21.17,1X,E21.17,1X,E20.18,1X,E20.18,1X,F15.6,1X,
     +  F15.6,1X,F26.17,1X,F11.6,A2,1X,F14.6,1X,F14.6,1X,F17.15,1X,
     +  F17.14,1X,F18.14,1X,F8.6,1X,A1,1X,I4,1X,A1,1X,I10,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'hppsc100.dat')
      write(6,*) '....Loading file: hppsc100.dat'
      do i__=1,131322
        read(1,'(A307)')ar__1
        read(ar__1,2)
     +  Name_1(i__),Band_1(i__),RAdeg_1(i__),DEdeg_1(i__),
     +  e_RAdeg_1(i__),e_DEdeg_1(i__),Flux_1(i__),snr_1(i__),
     +  snrnoise_1(i__),stn_1(i__),n_stn_1(i__),rms_1(i__),
     +  strn_1(i__),Fratio_1(i__),FWHMXfit_1(i__),FWHMYfit_1(i__),
     +  Elong_1(i__),Edge_1(i__),Blend_1(i__),Warmat_1(i__),
     +  ObsId_1(i__),SSOmap_1(i__)
        if(ar__1(179:189) .EQ. '') stn_1(i__) = rNULL__
        if(ar__1(193:206) .EQ. '') rms_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1(i__),Band_1(i__),RAdeg_1(i__),DEdeg_1(i__),
     +  e_RAdeg_1(i__),e_DEdeg_1(i__),Flux_1(i__),snr_1(i__),
     +  snrnoise_1(i__),stn_1(i__),n_stn_1(i__),rms_1(i__),
     +  strn_1(i__),Fratio_1(i__),FWHMXfit_1(i__),FWHMYfit_1(i__),
     +  Elong_1(i__),Edge_1(i__),Blend_1(i__),Warmat_1(i__),
     +  ObsId_1(i__),SSOmap_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'hppsc160.dat'	! Herschel/PACS Point Source catalog at 160um

C  Format for file interpretation

    3 format(
     +  A26,1X,A5,1X,F21.17,1X,E21.17,1X,E20.18,1X,E20.18,1X,F15.6,1X,
     +  F15.6,1X,F26.17,1X,F11.6,A2,1X,F14.6,1X,F14.6,1X,F17.15,1X,
     +  F17.14,1X,F18.14,1X,F8.6,1X,A1,1X,I4,1X,A1,1X,I10,1X,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'hppsc160.dat')
      write(6,*) '....Loading file: hppsc160.dat'
      do i__=1,251392
        read(1,'(A307)')ar__2
        read(ar__2,3)
     +  Name_2(i__),Band_2(i__),RAdeg_2(i__),DEdeg_2(i__),
     +  e_RAdeg_2(i__),e_DEdeg_2(i__),Flux_2(i__),snr_2(i__),
     +  snrnoise_2(i__),stn_2(i__),n_stn_2(i__),rms_2(i__),
     +  strn_2(i__),Fratio_2(i__),FWHMXfit_2(i__),FWHMYfit_2(i__),
     +  Elong_2(i__),Edge_2(i__),Blend_2(i__),Warmat_2(i__),
     +  ObsId_2(i__),SSOmap_2(i__)
        if(ar__2(179:189) .EQ. '') stn_2(i__) = rNULL__
        if(ar__2(193:206) .EQ. '') rms_2(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2(i__),Band_2(i__),RAdeg_2(i__),DEdeg_2(i__),
     +  e_RAdeg_2(i__),e_DEdeg_2(i__),Flux_2(i__),snr_2(i__),
     +  snrnoise_2(i__),stn_2(i__),n_stn_2(i__),rms_2(i__),
     +  strn_2(i__),Fratio_2(i__),FWHMXfit_2(i__),FWHMYfit_2(i__),
     +  Elong_2(i__),Edge_2(i__),Blend_2(i__),Warmat_2(i__),
     +  ObsId_2(i__),SSOmap_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'hpesl.dat'	! Herschel/PACS slightly extended sources list

C  Format for file interpretation

    4 format(
     +  A26,1X,A5,1X,F21.17,1X,F22.18,1X,E21.18,1X,E20.18,1X,F27.17,
     +  1X,F15.6,1X,F11.6,A1,F13.6,1X,F16.13,1X,F18.14,1X,F17.15,1X,
     +  A1,1X,I10)

C  Effective file loading

      open(unit=1,status='old',file=
     +'hpesl.dat')
      write(6,*) '....Loading file: hpesl.dat'
      do i__=1,546587
        read(1,'(A257)')ar__3
        read(ar__3,4)
     +  Name_3(i__),Band_3(i__),RAdeg_3(i__),DEdeg_3(i__),
     +  e_RAdeg_3(i__),e_DEdeg_3(i__),Flux_3(i__),snr_3(i__),
     +  stn_3(i__),n_stn_3(i__),strn_3(i__),FWHMXfit_3(i__),
     +  FWHMYfit_3(i__),Elong_3(i__),Edge_3(i__),ObsId_3(i__)
        if(ar__3(166:176) .EQ. '') stn_3(i__) = rNULL__
        if(ar__3(178:190) .EQ. '') strn_3(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  Name_3(i__),Band_3(i__),RAdeg_3(i__),DEdeg_3(i__),
     +  e_RAdeg_3(i__),e_DEdeg_3(i__),Flux_3(i__),snr_3(i__),
     +  stn_3(i__),n_stn_3(i__),strn_3(i__),FWHMXfit_3(i__),
     +  FWHMYfit_3(i__),Elong_3(i__),Edge_3(i__),ObsId_3(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'hprsl.dat'	! Herschel/PACS rejected source list

C  Format for file interpretation

    5 format(I7,1X,E12.8,1X,E12.8,1X,E13.8,1X,E9.5,1X,I10,1X,A5)

C  Effective file loading

      open(unit=1,status='old',file=
     +'hprsl.dat')
      write(6,*) '....Loading file: hprsl.dat'
      do i__=1,7185160
        read(1,'(A74)')ar__4
        read(ar__4,5)
     +  SourceId(i__),RAdeg_4(i__),DEdeg_4(i__),e_RAdeg_4(i__),
     +  e_DEdeg_4(i__),ObsId_4(i__),Band_4(i__)
c    ..............Just test output...........
        write(6,5)
     +  SourceId(i__),RAdeg_4(i__),DEdeg_4(i__),e_RAdeg_4(i__),
     +  e_DEdeg_4(i__),ObsId_4(i__),Band_4(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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