FORTRAN Generation
(/./ftp/cats/J/MNRAS/448/2344)

Conversion of standardized ReadMe file for file /./ftp/cats/J/MNRAS/448/2344 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-Oct-12
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/448/2344    MALT-45, a 7mm survey of the southern Galaxy (Jordan+, 2015)
*================================================================================
*MALT-45: a 7 mm survey of the southern Galaxy.
*I. Techniques and spectral line data.
*    Jordan C.H., Walsh A.J., Lowe V., Voronkov M.A., Ellingsen S.P.,
*    Breen S.L., Purcell C.R., Barnes P.J., Burton M.G., Cunningham M.R.,
*    Hill T., Jackson J.M., Longmore S.N., Peretto N., Urquhart J.S.
*   <Mon. Not. R. Astron. Soc., 448, 2344-2361 (2015)>
*   =2015MNRAS.448.2344J    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table2.dat'	! Properties of detected MALT-45 class I CH_3_OH
                                 maser emission (each maser was detected within
                                 a 64MHz zoom window)

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

      character*12  Name       (nr__) ! Source name (GLLL.ll+B.bb), derived from
*                                   Galactic coordinates of the brightest peak
      integer*4     RAh        (nr__) ! (h) Maser right ascension (J2000)
      integer*4     RAm        (nr__) ! (min) Maser right ascension (J2000)
      real*4        RAs        (nr__) ! (s) Maser right ascension (J2000)
      character*1   DE_        (nr__) ! Maser declination sign (J2000)
      integer*4     DEd        (nr__) ! (deg) Maser declination (J2000)
      integer*4     DEm        (nr__) ! (arcmin) Maser declination (J2000)
      real*4        DEs        (nr__) ! (arcsec) Maser declination (J2000)
      real*4        Speak      (nr__) ! (Jy) Source peak flux density in 7mm band
      real*4        RMS        (nr__) ! RMS noise level of the peak
      real*4        Vmin       (nr__) ! (km/s) Velocity range of maser emission,
*                                   within a 1.5{sigma} cutoff
      real*4        Vmax       (nr__) ! (km/s) Velocity range of maser emission,
*                                   within a 1.5{sigma} cutoff
      real*4        Vpeak      (nr__) ! (km/s) Velocity at the peak
      real*4        Dist       (nr__) ! (kpc) Kinematic distance calculated, based on
*                                   position and peak velocity (1)
      real*4        E_Dist     (nr__) ! (kpc) Upper error for the kinematic distance
      real*4        e_Dist_1   (nr__) ! (kpc) Lower error for the kinematic distance
      real*4        ICS        (nr__) ! (K.km/s) ? Integrated intensity of CS (1-0) at the
*                                   brightest peak
      real*4        ISiO       (nr__) ! (K.km/s) ? Integrated intensity of SiO (1-0) v=0 at the
*                                   brightest peak
      character*6   Rem        (nr__) ! Additional remarks (2)
      character*6   Omasers    (nr__) ! Associations with other masers and EGOs (3)
*Note (1): Kinematic distances are derived using the kinematic distance model
*  of Reid et al. (2009ApJ...700..137R).
*  All distances are assumed to be kinematically 'near', unless labelled
*   otherwise.
*Note (2): Additional remarks as follows:
*  S  = 44GHz detection from Slysh et al. (1994MNRAS.268..464S)
*  V  = 95GHz detection from Val'tts et al. (2000MNRAS.317..315V)
*  E  = 95GHz detection from Ellingsen (2005, Cat. J/MNRAS/359/1498)
*  C  = 95GHz detection from Chen et al. (2011, Cat. J/ApJS/196/9)
*  P  = indicates a blended spectrum of emission.
*  P1 = contains a strong peak of emission at a spatially distinct position, with
*        a different velocity to nearby strong masers (but not as strong as the
*        neighbour)
*  P2 = strong neighbour
*  P3 = next strongest neighbour
*  F  = this maser has been labelled as being kinematically 'far', due to a
*         class II CH_3_OH maser being labelled as such by
*         Green & McClure-Griffiths (2011MNRAS.417.2500G)
*
*  Note that a source without an S, V, E or C remark is a new detection.
*Note (3): Association is credited for any presence within 60 arcsec of the
*  class I CH_3_OH maser peak position. All velocities are specified to 0.1km/s,
*  and all flux densities are specified to two significant figures.
*
*  Associations flags as follows:
*
*  M = presence of a 6.7GHz class II methanol maser (Caswell et al.,
*       2011MNRAS.417.1964C, Cat. VIII/96)
*  W = presence of a 22GHz H_2_O maser (Breen et al. 2010MNRAS.406.1487B;
*       Walsh et al. 2011, Cat. J/MNRAS/416/1764; 2014, Cat. J/MNRAS/442/2240)
*  G = presence of an EGO classified by Cyganowski et al. (2008,
*       Cat. J/AJ/136/2391)
*  S = presence of a 1612 OH maser (Sevenster et al., 1997, Cat. J/A+AS/124/509)
*  C = presence of a 1665 or 1667MHz OH maser (Caswell, 1998MNRAS.297..215C)

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

C  Declarations for 'table3.dat'	! *Properties of detected MALT-45 SiO (1-0) maser
                                 emission (each maser was detected within a
                                 64MHz zoom window)

      integer*4 nr__1
      parameter (nr__1=47)	! Number of records
      character*133 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)

      character*12  Name_1     (nr__1) ! Source name (GLLL.ll+B.bb), derived from
*                                   Galactic coordinates of the brightest peak
      integer*4     RAh_1      (nr__1) ! (h) Maser right ascension (J2000)
      integer*4     RAm_1      (nr__1) ! (min) Maser right ascension (J2000)
      real*4        RAs_1      (nr__1) ! (s) Maser right ascension (J2000)
      character*1   DE__1      (nr__1) ! Maser declination sign (J2000)
      integer*4     DEd_1      (nr__1) ! (deg) Maser declination (J2000)
      integer*4     DEm_1      (nr__1) ! (arcmin) Maser declination (J2000)
      real*4        DEs_1      (nr__1) ! (arcsec) Maser declination (J2000)
      real*4        Speak1     (nr__1) ! (Jy) ? Source peak flux density, SiO v=1 (1)
      real*4        Vmini1     (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=1,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vmax1      (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=1,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vpeak1     (nr__1) ! (km/s) ? Velocity at the peak, SiO v=1 (2)
      real*4        Speak2     (nr__1) ! (Jy) ? Source peak flux density, SiO v=2 (1)
      real*4        Vmini2     (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=2,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vmax2      (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=2,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vpeak2     (nr__1) ! (km/s) ? Velocity at the peak, SiO v=2 (2)
      real*4        Speak3     (nr__1) ! (Jy) ? Source peak flux density, SiO v=3 (1)
      real*4        Vmini3     (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=3,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vmax3      (nr__1) ! (km/s) ? Velocity range of maser emission, SiO v=3,
*                                   within a 1.5{sigma} cutoff (2)
      real*4        Vpeak3     (nr__1) ! (km/s) ? Velocity at the peak, SiO v=3 (2)
      real*4        RMS_1      (nr__1) ! RMS noise level, which indicates the most
*                                   statistically significant maser peak detected
*                                   among the three modes
      real*4        Dist_1     (nr__1) ! (kpc) Kinematic distance calculated, based on
*                                   position and peak velocity (3)
      real*4        E_Dist_2   (nr__1) ! (kpc) Upper error for the kinematic distance
      real*4        e_Dist_3   (nr__1) ! (kpc) Lower error for the kinematic distance
      character*2   Omasers_1  (nr__1) ! Additional remarks (4)
*Note (1): All flux densities are specified to two significant figures.
*Note (2): All velocities are specified to 0.1km/s.
*Note (3): Kinematic distances are derived using the kinematic distance model of
*   Reid et al. (2009ApJ...700..137R). All distances are assumed to be
*   kinematically 'near', except for G330.14-0.39, G331.08+0.17, G332.40-0.33 and
*   G334.20+0.22; when assumed to be near, unphysical distances and errors are
*   generated.
*Note (4): Association is credited if the source position is within 30 arcsec of
*   the peak SiO maser position.
*
*   Associations flags as follows:
*
*   C = presence of a 1665 MHz OH maser from Caswell (1998MNRAS.297..215C)
*   S = presence of a 1612 MHz OH maser from Sevenster et al. (1997,
*        Cat. J/A+AS/124/509)
*   W = presence of an H2O maser from Walsh et al. (2011, Cat. J/MNRAS/416/1764;
*        2014, Cat. J/MNRAS/442/2240)

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

C  Loading file 'table2.dat'	! Properties of detected MALT-45 class I CH_3_OH
*                                 maser emission (each maser was detected within
*                                 a 64MHz zoom window)

C  Format for file interpretation

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

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,77
        read(1,'(A112)')ar__
        read(ar__,1)
     +  Name(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Speak(i__),RMS(i__),Vmin(i__),Vmax(i__),
     +  Vpeak(i__),Dist(i__),E_Dist(i__),e_Dist_1(i__),ICS(i__),
     +  ISiO(i__),Rem(i__),Omasers(i__)
        if(ar__(89:93) .EQ. '') ICS(i__) = rNULL__
        if(ar__(95:98) .EQ. '') ISiO(i__) = rNULL__
        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)
     +  Name(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),
     +  DEm(i__),DEs(i__),Speak(i__),RMS(i__),Vmin(i__),Vmax(i__),
     +  Vpeak(i__),Dist(i__),E_Dist(i__),e_Dist_1(i__),ICS(i__),
     +  ISiO(i__),Rem(i__),Omasers(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 'table3.dat'	! *Properties of detected MALT-45 SiO (1-0) maser
*                                 emission (each maser was detected within a
*                                 64MHz zoom window)

C  Format for file interpretation

    2 format(
     +  A12,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,F4.1,1X,F4.1,1X,
     +  F6.1,1X,F6.1,1X,F6.1,1X,F4.1,1X,F6.1,1X,F6.1,1X,F6.1,1X,F3.1,
     +  1X,F5.1,1X,F5.1,1X,F5.1,1X,F4.1,1X,F4.2,1X,F4.2,2X,F4.2,1X,A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,47
        read(1,'(A133)')ar__1
        read(ar__1,2)
     +  Name_1(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__),
     +  DEd_1(i__),DEm_1(i__),DEs_1(i__),Speak1(i__),Vmini1(i__),
     +  Vmax1(i__),Vpeak1(i__),Speak2(i__),Vmini2(i__),Vmax2(i__),
     +  Vpeak2(i__),Speak3(i__),Vmini3(i__),Vmax3(i__),Vpeak3(i__),
     +  RMS_1(i__),Dist_1(i__),E_Dist_2(i__),e_Dist_3(i__),
     +  Omasers_1(i__)
        if(ar__1(37:40) .EQ. '') Speak1(i__) = rNULL__
        if(ar__1(42:47) .EQ. '') Vmini1(i__) = rNULL__
        if(ar__1(49:54) .EQ. '') Vmax1(i__) = rNULL__
        if(ar__1(56:61) .EQ. '') Vpeak1(i__) = rNULL__
        if(ar__1(63:66) .EQ. '') Speak2(i__) = rNULL__
        if(ar__1(68:73) .EQ. '') Vmini2(i__) = rNULL__
        if(ar__1(75:80) .EQ. '') Vmax2(i__) = rNULL__
        if(ar__1(82:87) .EQ. '') Vpeak2(i__) = rNULL__
        if(ar__1(89:91) .EQ. '') Speak3(i__) = rNULL__
        if(ar__1(93:97) .EQ. '') Vmini3(i__) = rNULL__
        if(ar__1(99:103) .EQ. '') Vmax3(i__) = rNULL__
        if(ar__1(105:109) .EQ. '') Vpeak3(i__) = rNULL__
        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)
     +  Name_1(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__),
     +  DEd_1(i__),DEm_1(i__),DEs_1(i__),Speak1(i__),Vmini1(i__),
     +  Vmax1(i__),Vpeak1(i__),Speak2(i__),Vmini2(i__),Vmax2(i__),
     +  Vpeak2(i__),Speak3(i__),Vmini3(i__),Vmax3(i__),Vpeak3(i__),
     +  RMS_1(i__),Dist_1(i__),E_Dist_2(i__),e_Dist_3(i__),
     +  Omasers_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=============================================================================
      stop
      end