FORTRAN Generation
(/./ftp/cats/J/A_A/619/A166)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/619/A166 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-Feb-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/A+A/619/A166      SEDIGISM, kinematics of ATLASGAL filaments  (Mattern+, 2018)
*================================================================================
*SEDIGISM: the kinematics of ATLASGAL filaments.
*    Mattern M., Kauffmann J., Csengeri T., Urquhart J.S., Leurini S.,
*    Wyrowski F., Giannetti A., Barnes P.J.,Beuther H., Bronfman L.,
*    Duarte-Cabral A., Henning T., Kainulainen J., Menten K.M., Schisano E.,
*    Schuller F.
*    <Astron. Astrophys. 619, A166 (2018)>
*    =2018A&A...619A.166M        (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table56.dat'	! Measured and derived parameters

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

C  Position composed of: GLON GLAT
      character*17  ID         (nr__) ! Filament ID, GLLL.lll+BB.bbb_N (fil_id)
      real*4        GLON       (nr__) ! (deg) Galactic longitude of the center of the
*                                     filament (gal_long)
      real*4        GLAT       (nr__) ! (deg) Galactic latitude of the center of the
*                                     filament (gal_lat)
      character*20  Status     (nr__) ! Correlation with the ATLASGAL emission
*                                     (status)
      integer*4     Ncomp      (nr__) ! Number of detected velocity components in
*                                     the original filament candidate (n_comp)
      real*8        v13CO      (nr__) ! (km/s) Peak velocity derived from the ^13^CO
*                                     average spectrum (velocity_13CO)
      real*8        vC18O      (nr__) ! (km/s) ?=- Peak velocity from the C^18^O average
*                                     spectrum (velocity_C18O)
      real*4        s_v13CO    (nr__) ! (km/s) Dispersion of the ^13^CO peak velocities
*                                     along the skeleton (sig_peak_13CO)
      real*4        s_vC18O    (nr__) ! (km/s) Dispersion of the C^18^O peak velocities
*                                     along the skeleton (sig_peak_C18O)
      real*4        sigma      (nr__) ! (km/s) Average total velocity dispersion along the
*                                     skeleton (derived from ^13^CO and C^18^O)
*                                     (sigma)
      real*4        sigma13CO  (nr__) ! (km/s) Average ^13^CO velocity dispersion along the
*                                     skeleton (sigma_13CO)
      real*4        sigmaC18O  (nr__) ! (km/s) ?=- Average C^18^O velocity dispersion along
*                                     the skeleton (sigma_C18O)
      real*4        v_sigma13CO_(nr__) ! (km/s) ^13^CO velocity dispersion derived from the
*                                     average spectrum (sig_aver_13CO)
      real*4        v_sigmaC18O_(nr__) ! (km/s) ?=- C^18^O velocity dispersion derived from
*                                     the average spectrum (sig_aver_C18O)
      real*4        Dist       (nr__) ! (kpc) ?=- Distance from the Sun (distance)
      real*4        Length     (nr__) ! (pc) ?=- Physical length of the detected
*                                     skeleton (length)
      real*4        LengthAng  (nr__) ! (deg) Angular length of the detected skeleton
*                                     (angular_length)
      real*8        Mdustatg   (nr__) ! (Msun) ?=- Filament mass derived from ATLASGAL
*                                     emission (M_dust_atg)
      real*8        Mdustatp   (nr__) ! (Msun) ?=- Filament mass derived from
*                                     ATLASGAL+PLANCK emission (M_dust_atp)
      real*8        Mdustatpc  (nr__) ! (Msun) ?=- Filament mass derived from corrected
*                                     ATLASGAL+PLANCK emission (M_dust_atpc)
      real*8        Mgas       (nr__) ! (Msun) ?=- Filament mass derived from integrated
*                                     ^13^CO emission (M_gas)
      real*4        mobs       (nr__) ! (Msun/pc) ?=- Observed line-mass (m_obs)
      integer*4     mvir       (nr__) ! (Msun/pc) Critical, non-thermal line-mass (m_vir)
      real*4        d13CO      (nr__) ! Fraction of the skeleton detected in ^13^CO
*                                     (detection_13CO)
      real*4        dC18O      (nr__) ! Fraction of the skeleton detected in C^18^O
*                                     (detection_C18O)
      integer*4     FlagEdge   (nr__) ! [0/1] Skeleton truncated because of the
*                                     edge of SEDIGISM (edge_flag)
      integer*4     f_Dist     (nr__) ! [0/2] indicating the method for the distance
*                                     estimate (dist_flag) (1)
*Note (1): Flag for method for the distance estimate as follows:
*           0 = no distance;
*           1 = inside ATLASGAL source
*           2 = nearby ATLASGAL source

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

C  Loading file 'table56.dat'	! Measured and derived parameters

C  Format for file interpretation

    1 format(
     +  A17,1X,F6.2,1X,F5.2,1X,A20,1X,I1,1X,F7.2,1X,F7.2,1X,F4.2,1X,
     +  F5.2,1X,F4.2,1X,F4.2,1X,F6.2,1X,F4.2,1X,F6.2,1X,F5.1,1X,F6.2,
     +  1X,F4.2,1X,F7.1,1X,F8.1,1X,F8.1,1X,F8.1,1X,F6.1,1X,I4,1X,F4.2,
     +  1X,F4.2,1X,I1,1X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table56.dat')
      write(6,*) '....Loading file: table56.dat'
      do i__=1,422
        read(1,'(A188)')ar__
        read(ar__,1)
     +  ID(i__),GLON(i__),GLAT(i__),Status(i__),Ncomp(i__),v13CO(i__),
     +  vC18O(i__),s_v13CO(i__),s_vC18O(i__),sigma(i__),
     +  sigma13CO(i__),sigmaC18O(i__),v_sigma13CO_(i__),
     +  v_sigmaC18O_(i__),Dist(i__),Length(i__),LengthAng(i__),
     +  Mdustatg(i__),Mdustatp(i__),Mdustatpc(i__),Mgas(i__),
     +  mobs(i__),mvir(i__),d13CO(i__),dC18O(i__),FlagEdge(i__),
     +  f_Dist(i__)
        if (idig(ar__(63:69)).EQ.0) vC18O(i__) =  rNULL__
        if (idig(ar__(92:97)).EQ.0) sigmaC18O(i__) =  rNULL__
        if (idig(ar__(104:109)).EQ.0) v_sigmaC18O_(i__) =  rNULL__
        if (idig(ar__(111:115)).EQ.0) Dist(i__) =  rNULL__
        if (idig(ar__(117:122)).EQ.0) Length(i__) =  rNULL__
        if (idig(ar__(129:135)).EQ.0) Mdustatg(i__) =  rNULL__
        if (idig(ar__(137:144)).EQ.0) Mdustatp(i__) =  rNULL__
        if (idig(ar__(146:153)).EQ.0) Mdustatpc(i__) =  rNULL__
        if (idig(ar__(155:162)).EQ.0) Mgas(i__) =  rNULL__
        if (idig(ar__(164:169)).EQ.0) mobs(i__) =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  ID(i__),GLON(i__),GLAT(i__),Status(i__),Ncomp(i__),v13CO(i__),
     +  vC18O(i__),s_v13CO(i__),s_vC18O(i__),sigma(i__),
     +  sigma13CO(i__),sigmaC18O(i__),v_sigma13CO_(i__),
     +  v_sigmaC18O_(i__),Dist(i__),Length(i__),LengthAng(i__),
     +  Mdustatg(i__),Mdustatp(i__),Mdustatpc(i__),Mgas(i__),
     +  mobs(i__),mvir(i__),d13CO(i__),dC18O(i__),FlagEdge(i__),
     +  f_Dist(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