Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/476/1243 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-Jun-10
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/476/1243 Millimeter continuum mapping of Cygnus X (Motte+, 2007)
*================================================================================
*The earliest phases of high-mass star formation:
*a 3 square degree millimeter continuum mapping of Cygnus X.
* Motte F., Bontemps S., Schilke P., Schneider N., Menten K.M., Broguiere D.
* <Astron. Astrophys. 476, 1243 (2007)>
* =2007A&A...476.1243M
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table1.dat' ! Dense cores (compact cloud fragments) identified
in Cygnus X
integer*4 nr__
parameter (nr__=129) ! Number of records
character*166 ar__ ! Full-size record
character*4 CygX (nr__) ! Dense core number (Nnn, NWnn, or Snn)
character*16 Name (nr__) ! Name (JHHMMSS.s+DDMMSS)
integer*4 Speak (nr__) ! (mJy) Peak flux at 1.2mm, in mJy/beam (1)
real*4 FWHMa (nr__) ! (pc) Dense core FWHM size, major axis (1)
real*4 FWHMb (nr__) ! (pc) Dense core FWHM size, minor axis (1)
integer*4 Sint (nr__) ! (mJy) Integrated flux at 1.2mm (1)
character*1 l_M_40K (nr__) ! Limit flag on M(40K)
integer*4 M_40K (nr__) ! (solMass) ? Dense core mass with T_dust_=40K (2)
integer*4 M_20K (nr__) ! (solMass) Dense core mass with T_dust_=20K (2)
character*1 l_nH2_40K (nr__) ! Limit flag on nH240K
real*4 nH2_40K (nr__) ! (cm-3) ? Volume-averaged H_2_ density, number with
* T_dust_=40K (3)
real*4 nH2_20K (nr__) ! (cm-3) Volume-averaged H_2_ density, number with
* T_dust_=20K (3)
real*8 S21um (nr__) ! (Jy) ?=- MSX flux at 21 microns (4)
character*1 n_S21um (nr__) ! [A] A: sources are seen in absorption at 8um
character*1 n_CygX (nr__) ! [*] Individual note (5)
character*5 ref_1 (nr__) ! ? Reference for cm free-free, if exists,
* in refs.dat file (6)
character*20 Maser (nr__) ! Maser molecule, if exists (6)
character*5 r_Maser (nr__) ! Reference for Maser, in refs.dat file
character*50 Note (nr__) ! Names and comments
*Note (1): Peak flux, deconvolved FWHM size, and integrated flux derived
* from a 2D-Gaussian fit to the 1.2mm map after background subtraction
* (cf. Sect. 3.2 and Appendix B). An upper limit FWHM of 0.03pc was
* assumed for unresolved fragments.
*Note (2): Mass derived from Col. 5 using Eq. (1) and assuming
* Kappa_1.2mm_=0.01cm^2^/g and T_dust_=20K. A second estimate with
* T_dust_=40K is made for HII regions and the brightest infrared
* protostars of Cygnus X.
*Note (3): Volume-averaged density derived from size and mass using Eq. (2).
*Note (4): The 21 microns fluxes are those given in the MSX point source
* catalog (MSX C6, Cat. <V/114>), except for CygX-N30, N43, N46, N47,
* N65 and S41, for which an aperture flux is measured on the MSX map.
* The MSX flux of two extended HII regions is equally distributed
* between CygX-N46 and N47, and between CygX-S18, S19, S20. All
* fragments detected at 21 microns are also detected at 8um with the
* exception of CygX-N30, N46, N47, and N65. "-" means that sources are
* undetected down to a flux of about 3Jy (completion level of the MSX 6C
* catalog in Cygnus X).
*Note (5): (*) observations of high-density tracers toward CygX-N4 suggest
* that this 1.2mm source does not correspond to a dense cloud fragment.
* Its nature is yet unclear but it is probably not a site for future or
* ongoing star formation.
*Note (6): Coincidence with stellar activity signatures
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'refs.dat' ! References
integer*4 nr__1
parameter (nr__1=13) ! Number of records
character*66 ar__1 ! Full-size record
integer*4 Ref (nr__1) ! Reference number
character*19 BibCode (nr__1) ! BibCode
character*22 Aut (nr__1) ! Author's name
character*20 Com (nr__1) ! Comments
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table2.dat' ! Clumps (large-scale cloud structures) identified
in Cygnus X
integer*4 nr__2
parameter (nr__2=40) ! Number of records
character*94 ar__2 ! Full-size record
character*3 Clump (nr__2) ! Clump number (Nnn, NWnn or Snn)
character*16 Name_1 (nr__2) ! Name (JHHMMSS.s+DDMMSS)
real*4 FWHMa_1 (nr__2) ! (pc) Clump FWHM size, major axis (1)
real*4 FWHMb_1 (nr__2) ! (pc) Clump FWHM size, minor axis (1)
integer*4 Sint_1 (nr__2) ! (mJy) Integrated flux at 1.2mm (1)
integer*4 Mass (nr__2) ! (solMass) Clump mass (2)
real*4 nH2 (nr__2) ! (cm-3) Volume-averaged density number (3)
character*42 Com_1 (nr__2) ! Comments
*Note (1): Deconvolved FWHM size and integrated flux derived from a
* 2D-Gaussian fit to the 1.2 mm map smoothed to a 55'' beam.
*Note (2): Mass derived from Col. 4 using Eq. (1) and assuming
* Kappa_1.2mm_=0.01cm^2^/g and T_dust_=15K.
*Note (3): Volume-averaged density derived from size and mass, using Eq. (2).
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'figs.dat' ! List of FITS files containing the 1.2mm observations
integer*4 nr__3
parameter (nr__3=10) ! Number of records
character*38 ar__3 ! Full-size record
C J2000 position composed of: RAdeg DEdeg
character*10 FITSfile (nr__3) ! Name of FITS file, in the "fits" subdirectory
real*8 RAdeg (nr__3) ! (deg) Image center, in decimal degrees (J2000)
real*8 DEdeg (nr__3) ! (deg) Image center, in decimal degrees (J2000)
integer*4 Xdim (nr__3) ! (pix) Dimension (E-W) (1pix=4arcsec)
integer*4 Ydim (nr__3) ! (pix) Dimension (N-S) (1pix=4arcsec)
C=============================================================================
C Loading file 'table1.dat' ! Dense cores (compact cloud fragments) identified
* in Cygnus X
C Format for file interpretation
1 format(
+ 5X,A4,1X,A16,1X,I4,1X,F4.2,1X,F4.2,1X,I5,1X,A1,I3,1X,I3,1X,A1,
+ E6.2,1X,E6.2,1X,F7.2,A1,1X,A1,1X,A5,1X,A20,1X,A5,1X,A50)
C Effective file loading
open(unit=1,status='old',file=
+'table1.dat')
write(6,*) '....Loading file: table1.dat'
do i__=1,129
read(1,'(A166)')ar__
read(ar__,1)
+ CygX(i__),Name(i__),Speak(i__),FWHMa(i__),FWHMb(i__),
+ Sint(i__),l_M_40K(i__),M_40K(i__),M_20K(i__),l_nH2_40K(i__),
+ nH2_40K(i__),nH2_20K(i__),S21um(i__),n_S21um(i__),n_CygX(i__),
+ ref_1(i__),Maser(i__),r_Maser(i__),Note(i__)
if(ar__(50:52) .EQ. '') M_40K(i__) = iNULL__
if(ar__(59:64) .EQ. '') nH2_40K(i__) = rNULL__
if (idig(ar__(73:79)).EQ.0) S21um(i__) = rNULL__
c ..............Just test output...........
write(6,1)
+ CygX(i__),Name(i__),Speak(i__),FWHMa(i__),FWHMb(i__),
+ Sint(i__),l_M_40K(i__),M_40K(i__),M_20K(i__),l_nH2_40K(i__),
+ nH2_40K(i__),nH2_20K(i__),S21um(i__),n_S21um(i__),n_CygX(i__),
+ ref_1(i__),Maser(i__),r_Maser(i__),Note(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'refs.dat' ! References
C Format for file interpretation
2 format(I2,1X,A19,1X,A22,1X,A20)
C Effective file loading
open(unit=1,status='old',file=
+'refs.dat')
write(6,*) '....Loading file: refs.dat'
do i__=1,13
read(1,'(A66)')ar__1
read(ar__1,2)Ref(i__),BibCode(i__),Aut(i__),Com(i__)
c ..............Just test output...........
write(6,2)Ref(i__),BibCode(i__),Aut(i__),Com(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table2.dat' ! Clumps (large-scale cloud structures) identified
* in Cygnus X
C Format for file interpretation
3 format(3X,A3,1X,A16,1X,F4.2,1X,F4.2,1X,I5,1X,I4,1X,E6.2,1X,A42)
C Effective file loading
open(unit=1,status='old',file=
+'table2.dat')
write(6,*) '....Loading file: table2.dat'
do i__=1,40
read(1,'(A94)')ar__2
read(ar__2,3)
+ Clump(i__),Name_1(i__),FWHMa_1(i__),FWHMb_1(i__),Sint_1(i__),
+ Mass(i__),nH2(i__),Com_1(i__)
c ..............Just test output...........
write(6,3)
+ Clump(i__),Name_1(i__),FWHMa_1(i__),FWHMb_1(i__),Sint_1(i__),
+ Mass(i__),nH2(i__),Com_1(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'figs.dat' ! List of FITS files containing the 1.2mm observations
C Format for file interpretation
4 format(A10,1X,F8.4,1X,F8.4,1X,I4,1X,I4)
C Effective file loading
open(unit=1,status='old',file=
+'figs.dat')
write(6,*) '....Loading file: figs.dat'
do i__=1,10
read(1,'(A38)')ar__3
read(ar__3,4)
+ FITSfile(i__),RAdeg(i__),DEdeg(i__),Xdim(i__),Ydim(i__)
c ..............Just test output...........
write(6,4)
+ FITSfile(i__),RAdeg(i__),DEdeg(i__),Xdim(i__),Ydim(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