Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/679/A154 into FORTRAN code for reading data files line by line.
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-May-17
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/679/A154 Spiral shocks induced in galactic gaseous disk (Aktar+, 2023)
*================================================================================
*Spiral shocks induced in a galactic gaseous disk:
*Hydrodynamic understanding of observational properties of spiral galaxies.
* Aktar R., Xue L., Zhang L.-X., Luo J.-Y.
* <Astron. Astrophys., 679, A154 (2023)>
* =2023A&A...679A.154A (SIMBAD/NED BibCode)
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'tablea1.dat' ! Parameters for spiral galaxy
integer*4 nr__
parameter (nr__=79) ! Number of records
character*131 ar__ ! Full-size record
character*13 Name ! Galaxy name
real*4 theta ! (deg) Observational pitch angle
real*4 GAMMA ! Observational shear rate
integer*4 ns ! Observational number of spiral shocks
real*4 VK_rmid ! (km/s) Observational local Keplerian velocity
* at mid radial distance
real*4 rmid ! (kpc) Observational mid radial distance of the disk
real*4 k ! Theoretical value of k
real*4 q2cm ! Theoretical rotational velocity at the
* sonic point for minimal values
real*4 qrhocm ! Theoretical density at the sonic point
* for minimal values
real*4 q2_m ! Theoretical pre-shock rotational velocity
* for minimal values
real*4 q2_m_1 ! Theoretical post-shock rotational velocity
* for minimal values
real*4 SFRmin ! (Msun/yr) Theoretically estimated minimum
* star formation rate
real*8 q2cM_1 ! Theoretical rotational velocity at the sonic
* point for maximal value
real*8 qrhocM_1 ! Theoretical density at the sonic point
* for maximal value
real*8 q2_M_2 ! Theoretical pre-shock rotational velocity
* for maximal value
real*4 q2_M_3 ! Theoretical post-shock rotational velocity
* for maximal value
real*8 SFRmax ! (Msun/yr) Theoretically estimated maximum
* star formation rate
real*4 SFRObs ! (Msun/yr) ?=- Observed star formation rate
real*4 e_SFRObs ! (Msun/yr) ? Observed star formation rate error
C=============================================================================
C Loading file 'tablea1.dat' ! Parameters for spiral galaxy
C Format for file interpretation
1 format(
+ A13,1X,F4.1,1X,F4.2,1X,I1,1X,F6.2,1X,F5.2,1X,F6.4,1X,F6.4,1X,
+ F6.4,1X,F6.4,1X,F6.4,1X,F6.4,1X,F7.5,1X,F7.5,1X,F7.5,1X,F6.4,
+ 1X,F8.5,1X,F5.2,1X,F4.2)
C Effective file loading
open(unit=1,status='old',file=
+'tablea1.dat')
write(6,*) '....Loading file: tablea1.dat'
do i__=1,79
read(1,'(A131)')ar__
read(ar__,1)
+ Name,theta,GAMMA,ns,VK_rmid,rmid,k,q2cm,qrhocm,q2_m,q2_m_1,
+ SFRmin,q2cM_1,qrhocM_1,q2_M_2,q2_M_3,SFRmax,SFRObs,e_SFRObs
if (idig(ar__(122:126)).EQ.0) SFRObs = rNULL__
if(ar__(128:131) .EQ. '') e_SFRObs = rNULL__
c ..............Just test output...........
write(6,1)
+ Name,theta,GAMMA,ns,VK_rmid,rmid,k,q2cm,qrhocm,q2_m,q2_m_1,
+ SFRmin,q2cM_1,qrhocM_1,q2_M_2,q2_M_3,SFRmax,SFRObs,e_SFRObs
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