FORTRAN Generation
(/./ftp/cats/J/A_A/589/A110)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/589/A110 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-Sep-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. J/A+A/589/A110        SN II in host HII regions                (Anderson+, 2016)
*================================================================================
*Type II supernovae as probes of environment metallicity:
*observations of host H II regions.
*    Anderson J.P., Gutierrez C.P., Dessart L., Hamuy M., Galbany L.,
*    Morrell N.I., Stritzinger M.D., Phillips M.M., Folatelli G., Boffin H.M.J.,
*    De Jaeger T., Kuncarayakti H., Prieto J.L.
*   <Astron. Astrophys., 589, A110 (2016)>
*   =2016A&A...589A.110A    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'tablea1.dat'	! SN and host galaxy data

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

      character*6   SN         (nr__) ! SN name
      character*2   n_SN       (nr__) ! [* ] Note on SN (1)
      character*16  Host       (nr__) ! Host galaxy name
      integer*4     Vr         (nr__) ! (km/s) ?=- Host galaxy recession velocity (2)
      real*4        BMAGH      (nr__) ! (mag) ?=- Host absolute B magnitude (3)
      real*4        s2         (nr__) ! (10-2mag/d) ?=- "plateau" decline rate, in mag/100d (4)
      real*4        Mmax       (nr__) ! (mag) ?=- Absolute magnitude at maximum light (4)
      real*4        OPTd       (nr__) ! (d) ?=- Optically thick phase duration (4)
      real*4        a_e        (nr__) ! ?=- Ratio of pEWs of H{alpha} absorption
*                                    to emission (4)
      integer*4     VHa        (nr__) ! (km/s) ?=- FWHM velocity of H{alpha} (with the
*                                    latter two measured at a common epoch) (4)
*Note (1): Notes as follows:
*            * = SNe IIn
*           ** = SNe IIb
*Note (2): taken from NED: http://ned.ipac.caltech.edu/
*Note (3): taken from HyperLeda: http://leda.univ-lyon1.fr/
*Note (4): SN V-band photometric and spectroscopic H{alpha} parameters
*  The reader is referred to Anderson et al. (2014ApJ...786...67A) and
*  Gutierrez et al. (2014ApJ...786L..15G) for more details of those measurements.
*  (It is important to note that the SN magnitudes we use within this analysis
*  have not been corrected for host galaxy extinction.)

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

C  Declarations for 'tableb1.dat'	! HII region abundances and SN pEWs

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

      character*6   SN_1       (nr__1) ! SN name
      character*1   f_SN       (nr__1) ! [*] Note on SN (5)
      real*4        Dist       (nr__1) ! (kpc) HII distance of the spectral extraction
*                                   region from the explosion site
      real*4        M13_N2     (nr__1) ! ?=- Oxygen abundances as calculated by the
*                                   M13 N2 diagnostic
      real*4        E_M13_N2   (nr__1) ! ? Error on M13-N2 (upper value)
      real*4        e_M13_N2_1 (nr__1) ! ? Error on M13-N2 (lower value)
      real*4        M13_O3N2   (nr__1) ! ?=- Oxygen abundances as calculated by the
*                                   M13 O3N2 diagnostic
      real*4        E_M13_O3N2 (nr__1) ! ? Error on M13-O3N2 (upper value)
      real*4        e_M13_O3N2_1(nr__1) ! ? Error on M13-O3N2 (lower value)
      real*4        PP04_N2    (nr__1) ! ?=- Oxygen abundances as calculated by the
*                                   Pettini & Pagel (2004MNRAS.348L..59P)
*                                   N2 diagnostic
      real*4        E_PP04_N2  (nr__1) ! ?=- Error on PP04-N2 (upper value)
      real*4        e_PP04_N2_1(nr__1) ! ?=- Error on PP04-N2 (lower value)
      real*4        PP04_O3N2  (nr__1) ! ?=- Oxygen abundances as calculated by the
*                                   Pettini & Pagel (2004MNRAS.348L..59P)
*                                   O3N2 diagnostic
      real*4        E_PP04_O3N2(nr__1) ! ?=- Error on PP04-O3N2 (upper value)
      real*4        e_PP04_O3N2_1(nr__1) ! ?=- Error on PP04-O3N2 (lower value)
      real*4        pEW        (nr__1) ! (0.1nm) ?=- FeII 5018{AA} pseudo equivalent width as
*                                   estimated at 50days
      real*4        e_pEW      (nr__1) ! (0.1nm) ? rms uncertainty on pEW (6)
*Note (5): * when abundance measurements are taken from Anderson et al.
*  (2010MNRAS.407.2660A).
*Note (6): Errors on pEWs are those obtained from the fitting process to the
*  sample of pEWs for each SN. In the case of a straight-line fit to two data
*  points we set the minimum error to 0.5{AA}. The inferred abundances of
*  SN 2005dn are upper limits as [NII] was not detected in the spectra.
*  To estimate abundances a 3{sigma} [NII] flux upper limit was calculated using
*  an estimation of the rms noise in the spectrum close in wavelength to the
*  spectral line. Removing this SN from our correlations has a negligible effect
*  on our results and conclusions.

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

C  Loading file 'tablea1.dat'	! SN and host galaxy data

C  Format for file interpretation

    1 format(
     +  A6,A2,1X,A16,1X,I5,1X,F5.1,1X,F5.2,1X,F6.2,1X,F6.2,1X,F4.2,1X,
     +  I4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablea1.dat')
      write(6,*) '....Loading file: tablea1.dat'
      do i__=1,119
        read(1,'(A67)')ar__
        read(ar__,1)
     +  SN(i__),n_SN(i__),Host(i__),Vr(i__),BMAGH(i__),s2(i__),
     +  Mmax(i__),OPTd(i__),a_e(i__),VHa(i__)
        if (Vr(i__) .EQ. 45) Vr(i__) =  iNULL__
        if (idig(ar__(33:37)).EQ.0) BMAGH(i__) =  rNULL__
        if (idig(ar__(39:43)).EQ.0) s2(i__) =  rNULL__
        if (idig(ar__(45:50)).EQ.0) Mmax(i__) =  rNULL__
        if (idig(ar__(52:57)).EQ.0) OPTd(i__) =  rNULL__
        if (idig(ar__(59:62)).EQ.0) a_e(i__) =  rNULL__
        if (VHa(i__) .EQ. 45) VHa(i__) =  iNULL__
c    ..............Just test output...........
        write(6,1)
     +  SN(i__),n_SN(i__),Host(i__),Vr(i__),BMAGH(i__),s2(i__),
     +  Mmax(i__),OPTd(i__),a_e(i__),VHa(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'tableb1.dat'	! HII region abundances and SN pEWs

C  Format for file interpretation

    2 format(
     +  A6,A1,1X,F5.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,
     +  1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F4.2,1X,F5.2,1X,
     +  F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tableb1.dat')
      write(6,*) '....Loading file: tableb1.dat'
      do i__=1,119
        read(1,'(A84)')ar__1
        read(ar__1,2)
     +  SN_1(i__),f_SN(i__),Dist(i__),M13_N2(i__),E_M13_N2(i__),
     +  e_M13_N2_1(i__),M13_O3N2(i__),E_M13_O3N2(i__),
     +  e_M13_O3N2_1(i__),PP04_N2(i__),E_PP04_N2(i__),
     +  e_PP04_N2_1(i__),PP04_O3N2(i__),E_PP04_O3N2(i__),
     +  e_PP04_O3N2_1(i__),pEW(i__),e_pEW(i__)
        if (idig(ar__1(15:18)).EQ.0) M13_N2(i__) =  rNULL__
        if(ar__1(20:23) .EQ. '') E_M13_N2(i__) = rNULL__
        if(ar__1(25:28) .EQ. '') e_M13_N2_1(i__) = rNULL__
        if (idig(ar__1(30:33)).EQ.0) M13_O3N2(i__) =  rNULL__
        if(ar__1(35:38) .EQ. '') E_M13_O3N2(i__) = rNULL__
        if(ar__1(40:43) .EQ. '') e_M13_O3N2_1(i__) = rNULL__
        if (idig(ar__1(45:48)).EQ.0) PP04_N2(i__) =  rNULL__
        if (idig(ar__1(50:53)).EQ.0) E_PP04_N2(i__) =  rNULL__
        if (idig(ar__1(55:58)).EQ.0) e_PP04_N2_1(i__) =  rNULL__
        if (idig(ar__1(60:63)).EQ.0) PP04_O3N2(i__) =  rNULL__
        if (idig(ar__1(65:68)).EQ.0) E_PP04_O3N2(i__) =  rNULL__
        if (idig(ar__1(70:73)).EQ.0) e_PP04_O3N2_1(i__) =  rNULL__
        if (idig(ar__1(75:79)).EQ.0) pEW(i__) =  rNULL__
        if(ar__1(81:84) .EQ. '') e_pEW(i__) = rNULL__
c    ..............Just test output...........
        write(6,2)
     +  SN_1(i__),f_SN(i__),Dist(i__),M13_N2(i__),E_M13_N2(i__),
     +  e_M13_N2_1(i__),M13_O3N2(i__),E_M13_O3N2(i__),
     +  e_M13_O3N2_1(i__),PP04_N2(i__),E_PP04_N2(i__),
     +  e_PP04_N2_1(i__),PP04_O3N2(i__),E_PP04_O3N2(i__),
     +  e_PP04_O3N2_1(i__),pEW(i__),e_pEW(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