FORTRAN Generation
(/./ftp/cats/VII/296)

Conversion of standardized ReadMe file for file /./ftp/cats/VII/296 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. VII/296         Catalog of lopsided disk-like galaxies       (Nuritdinov+, 2024)
*================================================================================
*Analysis of data on lopsided galaxies and theories of their formation.
*    Nuritdinov S.N., Mirtadjieva K.T., Omonov A.U.
*   <Modern astronomy, 1, 401-404 (2024)>
*   =2025yCat.7296....0N
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table1.dat'	! Catalog of lopsided galaxies

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

C  Position composed of: GLON GLAT
      character*11  Name       (nr__) ! Galaxy name
      real*8        GLON       (nr__) ! (deg) Galactic Longitude
      real*8        GLAT       (nr__) ! (deg) Galactic Latitude
      character*20  MType      (nr__) ! Morphological type
      real*4        TType      (nr__) ! T morphological type code from HyperLeda
      real*4        e_TType    (nr__) ! Error on TType
      real*8        BMAG       (nr__) ! (mag) Absolute B-band magnitude
      real*4        e_BMAG     (nr__) ! (mag) Error on BMAG
      real*4        SBu        (nr__) ! (mag/arcsec2) ?=- Mean effective surface brightness
      real*4        e_SBu      (nr__) ! (mag/arcsec2) ?=- Error on SBu
      real*4        logR25     (nr__) ! ([-]) ?=- Axis ratio in log scale
*                                         (log of major axis to minor axis)
      real*4        e_logR25   (nr__) ! ([-]) ?=- Actual error on logR25
      real*8        Vrot       (nr__) ! (km/s) ?=- Apparent maximum rotation velocity
*                                         of gas
      real*4        e_Vrot     (nr__) ! (km/s) ?=- Error on Vrot
      real*4        logsigma   (nr__) ! ([km/s]) ?=- Stellar velocity dispersion in bulge
      real*4        e_logsigma (nr__) ! ([km/s]) ?=- Error on logsigma
      real*4        logBHMass  (nr__) ! ([Msun]) ?=- Black Hole Mass, log solar units (1)
      character*1   n_logBHMass(nr__) ! [*] Note on logBHMass
      real*4        logMBH_FUV (nr__) ! ([Msun]) ?=- Tentative BH mass, MBH-CFUV,tot (2)
      real*4        logMBH_NUV (nr__) ! ([Msun]) ?=- Tentative BH mass, MBH-CNUV,tot (2)
      real*4        logM_      (nr__) ! ([Msun]) ?=- Total stellar mass, log solar units
      real*4        logahalo   (nr__) ! ([kpc]) ?=- Halo core radius
      real*4        logVhalo   (nr__) ! ([km/s]) ?=- Stellar velocity dispersion in galo
      real*4        logMh_M_   (nr__) ! ([-]) ?=- Stellar-to-halo mass ratio
      real*4        A1         (nr__) ! Degree of lopsidedness
      real*8        z          (nr__) ! ?=- Redshift
      real*8        Dist       (nr__) ! (Mpc) ?=- Distance
      character*10  Refs       (nr__) ! Literature Reference(s)
*                                         (see refs.dat file)
*Note (1): * for the black hole masses found based on observational data
*Note (2): Tentative BH mass, MBH-CFUV,tot and logMBH-NUV
* Tentative BH mass, MBH-CNUV,tot were obtained from (J/ApJ/898/83 : BH masses
* and bulge+disk UV-3.6um color relations (Dullo et al., 2020ApJ...898...83D)).

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

C  Declarations for 'table2.dat'	! Disk-like galaxies with lopsidedness

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

C  Position composed of: GLON GLAT
      character*26  Name_1     (nr__1) ! Galaxy name
      real*8        GLON_1     (nr__1) ! (deg) Galactic Longitude
      real*8        GLAT_1     (nr__1) ! (deg) Galactic Latitude
      character*6   MType_1    (nr__1) ! Morphological type from HyperLeda
      real*4        BMAG_1     (nr__1) ! (mag) ?=- Absolute B-band magnitude
      real*4        e_BMAG_1   (nr__1) ! (mag) ?=- Error on BMAG
      real*4        TType_1    (nr__1) ! ?=- T morphological type code from HyperLeda
      real*4        e_TType_1  (nr__1) ! ?=- Error on TType
      real*4        Vrot_1     (nr__1) ! (km/s) ?=- Apparent maximum rotation velocity of gas
      real*4        e_Vrot_1   (nr__1) ! (km/s) ?=- Error on Vrot
      real*4        Sigmac     (nr__1) ! (km/s) ?=- Central velocity dispersion
      real*4        e_Sigmac   (nr__1) ! (km/s) ?=- Error on Sigmac
      real*8        z_1        (nr__1) ! ?=- Redshift
      real*8        Dist_1     (nr__1) ! (Mpc) ?=- Distance
      real*4        A1_1       (nr__1) ! ?=- Degree of lopsidedness
      real*4        A2         (nr__1) ! ?=- Degree of lopsidedness
      character*9   Refs_1     (nr__1) ! Literature Reference(s) (see refs.dat file)

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

C  Declarations for 'table3.dat'	! Disk mass of lopsided spiral galaxies

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

      character*9   Name_2     (nr__2) ! Galaxy name
      character*6   MType_2    (nr__2) ! Morphological type
      real*4        TType_2    (nr__2) ! T morphological type code from HyperLeda
      real*4        e_TType_2  (nr__2) ! Error on TType
      real*4        logMdisk   (nr__2) ! ([Msun]) Disk Mass, log solar units
      real*4        e_logMdisk (nr__2) ! ([Msun]) ?=- Error on log(M_disk)
      real*4        t          (nr__2) ! (Gyr) ?=- Age of stars in the disk
      real*4        e_t        (nr__2) ! (Gyr) ?=- Error on t
      real*4        Z_2        (nr__2) ! (Sun) ?=- Metallicity of stars in the disk
      real*4        e_Z        (nr__2) ! (Sun) ?=- Error on Z
      real*4        logBHMass_1(nr__2) ! ([Msun]) ?=- Black hole mass
      real*4        A1_2       (nr__2) ! Degree of lopsidedness
      character*9   Refs_2     (nr__2) ! Literature Reference(s) (see refs.dat file)

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

C  Declarations for 'refs.dat'	! References

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

      integer*4     Ref        (nr__3) ! Reference code
      character*19  BibCode    (nr__3) ! Bibcode of the reference
      character*25  Aut        (nr__3) ! Author's name(s)
      character*21  Comm       (nr__3) ! Comment

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

C  Loading file 'table1.dat'	! Catalog of lopsided galaxies

C  Format for file interpretation

    1 format(
     +  A11,1X,F7.3,2X,F7.3,2X,A20,1X,F4.1,2X,F3.1,2X,F7.2,2X,F4.2,2X,
     +  F6.2,2X,F4.2,2X,F4.2,2X,F4.2,2X,F7.2,1X,F5.2,2X,F5.2,3X,F4.2,
     +  3X,F5.2,A1,2X,F4.2,2X,F4.2,3X,F5.2,2X,F5.2,2X,F5.2,2X,F6.2,2X,
     +  F6.3,3X,F9.6,3X,F7.3,1X,A10)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,2137
        read(1,'(A222)')ar__
        read(ar__,1)
     +  Name(i__),GLON(i__),GLAT(i__),MType(i__),TType(i__),
     +  e_TType(i__),BMAG(i__),e_BMAG(i__),SBu(i__),e_SBu(i__),
     +  logR25(i__),e_logR25(i__),Vrot(i__),e_Vrot(i__),logsigma(i__),
     +  e_logsigma(i__),logBHMass(i__),n_logBHMass(i__),
     +  logMBH_FUV(i__),logMBH_NUV(i__),logM_(i__),logahalo(i__),
     +  logVhalo(i__),logMh_M_(i__),A1(i__),z(i__),Dist(i__),Refs(i__)
        if (idig(ar__(78:83)).EQ.0) SBu(i__) =  rNULL__
        if (idig(ar__(86:89)).EQ.0) e_SBu(i__) =  rNULL__
        if (idig(ar__(92:95)).EQ.0) logR25(i__) =  rNULL__
        if (idig(ar__(98:101)).EQ.0) e_logR25(i__) =  rNULL__
        if (idig(ar__(104:110)).EQ.0) Vrot(i__) =  rNULL__
        if (idig(ar__(112:116)).EQ.0) e_Vrot(i__) =  rNULL__
        if (idig(ar__(119:123)).EQ.0) logsigma(i__) =  rNULL__
        if (idig(ar__(127:130)).EQ.0) e_logsigma(i__) =  rNULL__
        if (idig(ar__(134:138)).EQ.0) logBHMass(i__) =  rNULL__
        if (idig(ar__(142:145)).EQ.0) logMBH_FUV(i__) =  rNULL__
        if (idig(ar__(148:151)).EQ.0) logMBH_NUV(i__) =  rNULL__
        if (idig(ar__(155:159)).EQ.0) logM_(i__) =  rNULL__
        if (idig(ar__(162:166)).EQ.0) logahalo(i__) =  rNULL__
        if (idig(ar__(169:173)).EQ.0) logVhalo(i__) =  rNULL__
        if (idig(ar__(176:181)).EQ.0) logMh_M_(i__) =  rNULL__
        if (idig(ar__(193:201)).EQ.0) z(i__) =  rNULL__
        if (idig(ar__(205:211)).EQ.0) Dist(i__) =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Name(i__),GLON(i__),GLAT(i__),MType(i__),TType(i__),
     +  e_TType(i__),BMAG(i__),e_BMAG(i__),SBu(i__),e_SBu(i__),
     +  logR25(i__),e_logR25(i__),Vrot(i__),e_Vrot(i__),logsigma(i__),
     +  e_logsigma(i__),logBHMass(i__),n_logBHMass(i__),
     +  logMBH_FUV(i__),logMBH_NUV(i__),logM_(i__),logahalo(i__),
     +  logVhalo(i__),logMh_M_(i__),A1(i__),z(i__),Dist(i__),Refs(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table2.dat'	! Disk-like galaxies with lopsidedness

C  Format for file interpretation

    2 format(
     +  A26,1X,F11.7,3X,F11.7,2X,A6,1X,F6.2,2X,F6.4,1X,F4.1,2X,F3.1,
     +  2X,F5.1,1X,F4.1,3X,F5.1,4X,F5.2,F10.7,1X,F7.3,2X,F5.3,3X,F6.4,
     +  2X,A9)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table2.dat')
      write(6,*) '....Loading file: table2.dat'
      do i__=1,683
        read(1,'(A159)')ar__1
        read(ar__1,2)
     +  Name_1(i__),GLON_1(i__),GLAT_1(i__),MType_1(i__),BMAG_1(i__),
     +  e_BMAG_1(i__),TType_1(i__),e_TType_1(i__),Vrot_1(i__),
     +  e_Vrot_1(i__),Sigmac(i__),e_Sigmac(i__),z_1(i__),Dist_1(i__),
     +  A1_1(i__),A2(i__),Refs_1(i__)
        if (idig(ar__1(62:67)).EQ.0) BMAG_1(i__) =  rNULL__
        if (idig(ar__1(70:75)).EQ.0) e_BMAG_1(i__) =  rNULL__
        if (idig(ar__1(77:80)).EQ.0) TType_1(i__) =  rNULL__
        if (idig(ar__1(83:85)).EQ.0) e_TType_1(i__) =  rNULL__
        if (idig(ar__1(88:92)).EQ.0) Vrot_1(i__) =  rNULL__
        if (idig(ar__1(94:97)).EQ.0) e_Vrot_1(i__) =  rNULL__
        if (idig(ar__1(101:105)).EQ.0) Sigmac(i__) =  rNULL__
        if (idig(ar__1(110:114)).EQ.0) e_Sigmac(i__) =  rNULL__
        if (idig(ar__1(115:124)).EQ.0) z_1(i__) =  rNULL__
        if (idig(ar__1(126:132)).EQ.0) Dist_1(i__) =  rNULL__
        if (idig(ar__1(135:139)).EQ.0) A1_1(i__) =  rNULL__
        if (idig(ar__1(143:148)).EQ.0) A2(i__) =  rNULL__
c    ..............Just test output...........
        write(6,2)
     +  Name_1(i__),GLON_1(i__),GLAT_1(i__),MType_1(i__),BMAG_1(i__),
     +  e_BMAG_1(i__),TType_1(i__),e_TType_1(i__),Vrot_1(i__),
     +  e_Vrot_1(i__),Sigmac(i__),e_Sigmac(i__),z_1(i__),Dist_1(i__),
     +  A1_1(i__),A2(i__),Refs_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'table3.dat'	! Disk mass of lopsided spiral galaxies

C  Format for file interpretation

    3 format(
     +  A9,1X,A6,1X,F3.1,2X,F3.1,2X,F6.3,2X,F4.2,2X,F4.2,2X,F4.2,2X,
     +  F4.2,2X,F4.2,2X,F4.2,3X,F5.3,3X,A9)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,55
        read(1,'(A89)')ar__2
        read(ar__2,3)
     +  Name_2(i__),MType_2(i__),TType_2(i__),e_TType_2(i__),
     +  logMdisk(i__),e_logMdisk(i__),t(i__),e_t(i__),Z_2(i__),
     +  e_Z(i__),logBHMass_1(i__),A1_2(i__),Refs_2(i__)
        if (idig(ar__2(36:39)).EQ.0) e_logMdisk(i__) =  rNULL__
        if (idig(ar__2(42:45)).EQ.0) t(i__) =  rNULL__
        if (idig(ar__2(48:51)).EQ.0) e_t(i__) =  rNULL__
        if (idig(ar__2(54:57)).EQ.0) Z_2(i__) =  rNULL__
        if (idig(ar__2(60:63)).EQ.0) e_Z(i__) =  rNULL__
        if (idig(ar__2(66:69)).EQ.0) logBHMass_1(i__) =  rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Name_2(i__),MType_2(i__),TType_2(i__),e_TType_2(i__),
     +  logMdisk(i__),e_logMdisk(i__),t(i__),e_t(i__),Z_2(i__),
     +  e_Z(i__),logBHMass_1(i__),A1_2(i__),Refs_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    4 format(I2,2X,A19,2X,A25,2X,A21)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,37
        read(1,'(A73)')ar__3
        read(ar__3,4)Ref(i__),BibCode(i__),Aut(i__),Comm(i__)
c    ..............Just test output...........
        write(6,4)Ref(i__),BibCode(i__),Aut(i__),Comm(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