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