Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/308/573 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-06
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/308/573 Ammonia on YSOs IRAS sources (Molinari+ 1996)
*================================================================================
*A search for precursors of ultracompact HII regions in a sample of luminous
*IRAS sources. I. Association with ammonia cores.
* Molinari S., Brand J., Cesaroni R., Palla F.
* <Astron. Astrophys. 308, 573 (1996)>
* =1996A&A...308..573M (SIMBAD/NED BibCode)
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table1.dat' ! General informations about observed sources.
integer*4 nr__
parameter (nr__=163) ! Number of records
character*124 ar__ ! Full-size record
C 1950 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg (nr__) ! (deg) Right Ascension 1950
real*8 DEdeg (nr__) ! (deg) Declination 1950
C ---------------------------------- ! (position vector(s) in degrees)
integer*4 Mol (nr__) ! Running number
character*11 IRAS (nr__) ! IRAS name
character*1 Type (nr__) ! [HL] Source type (H --> HIGH; L --> LOW)
character*1 n_Type (nr__) ! [^] A '^' means a 12um flux upper limit for
* that source
integer*4 RAh (nr__) ! (h) 1950 hours of Right Ascension
integer*4 RAm (nr__) ! (min) 1950 minutes of Right Ascension
real*4 RAs (nr__) ! (s) 1950 seconds of Right Ascension
character*1 DE_ (nr__) ! sign for declination
integer*4 DEd (nr__) ! (deg) 1950 degrees of Declination
integer*4 DEm (nr__) ! (arcmin) 1950 arcmin of Declination
real*4 DEs (nr__) ! (arcsec) 1950 arcsec of Declination
real*8 GLON (nr__) ! (deg) Galactic longitude
real*4 GLAT (nr__) ! (deg) Galactic latitude
real*4 Dist (nr__) ! (kpc) ? Distance from observer
character*1 n_Dist (nr__) ! [ab] Note on distance (1)
real*4 Lum (nr__) ! (solLum) ? Bolometric luminosity
character*1 NH3det (nr__) ! Y/N flag indicating detection in ammonia
character*1 H2Odet (nr__) ! Y/N flag indicating detection in water maser
character*36 IDent (nr__) ! Other identification from the literature
*Note (1): 'a' means that the distance ambiguity has been resolved
* 'b' means the the distance of the tangent point has been assumed
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'table2.dat' ! Ammonia line parameters and deduced physical
quantities
integer*4 nr__1
parameter (nr__1=102) ! Number of records
character*95 ar__1 ! Full-size record
integer*4 Mol_1 (nr__1) ! Running number (as in Table1.dat)
real*4 T11 (nr__1) ! (K) Antenna temperature for line (J,K)=(1,1)
integer*4 e_T11 (nr__1) ! (%) Percentage uncertainty on T11
real*4 V11 (nr__1) ! (km/s) (1,1) center line velocity
integer*4 e_V11 (nr__1) ! (%) Percentage uncertainty on V11
real*4 W11 (nr__1) ! (km/s) (1,1) FWHM
integer*4 e_W11 (nr__1) ! (%) Percentage uncertainty on W11
real*4 T22 (nr__1) ! (K) ? Antenna temperature for line (J,K)=(2,2)
integer*4 e_T22 (nr__1) ! (%) ? Percentage uncertainty on T22
real*4 V22 (nr__1) ! (km/s) ? (2,2) center line velocity
integer*4 e_V22 (nr__1) ! (%) ? Percentage uncertainty on V22
real*4 W22 (nr__1) ! (km/s) ? (2,2) FWHM
integer*4 e_W22 (nr__1) ! (%) ? Percentage uncertainty on W22
real*4 Tkin (nr__1) ! (K) ? Ammonia kinetic temperature
character*1 l_Tkin (nr__1) ! [ :] flag indicating that Tkin is a limit
integer*4 e_Tkin (nr__1) ! (%) ? Percentage uncertainty on Tkin
real*4 Ncol (nr__1) ! (cm-2) ? Ammonia column density
character*1 l_Ncol (nr__1) ! [ :] flag indicating that Ncol is a limit
integer*4 e_Ncol (nr__1) ! (%) ? Percentage uncertainty on Ncol
character*1 l_Tau (nr__1) ! [ <] indicates if the Tau value is upper limit
real*4 Tau (nr__1) ! ? Optical depth of (1,1) line
integer*4 e_Tau (nr__1) ! (%) ? Percentage uncertainty on Tau
C=============================================================================
C Loading file 'table1.dat' ! General informations about observed sources.
C Format for file interpretation
1 format(
+ I3,2X,A11,1X,A1,A1,2X,I2,1X,I2,1X,F4.1,2X,A1,I2,1X,I2,1X,F4.1,
+ 2X,F7.3,2X,F6.3,3X,F5.2,A1,1X,E8.2,2X,A1,2X,A1,2X,A36)
C Effective file loading
open(unit=1,status='old',file=
+'table1.dat')
write(6,*) '....Loading file: table1.dat'
do i__=1,163
read(1,'(A124)')ar__
read(ar__,1)
+ Mol(i__),IRAS(i__),Type(i__),n_Type(i__),RAh(i__),RAm(i__),
+ RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),GLON(i__),
+ GLAT(i__),Dist(i__),n_Dist(i__),Lum(i__),NH3det(i__),
+ H2Odet(i__),IDent(i__)
if(ar__(65:69) .EQ. '') Dist(i__) = rNULL__
if(ar__(72:79) .EQ. '') Lum(i__) = rNULL__
RAdeg(i__) = rNULL__
DEdeg(i__) = rNULL__
c Derive coordinates RAdeg and DEdeg from input data
c (RAdeg and DEdeg are set to rNULL__ when unknown)
if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15.
if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4.
if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240.
if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__)
if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60.
if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600.
if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__)
c ..............Just test output...........
write(6,1)
+ Mol(i__),IRAS(i__),Type(i__),n_Type(i__),RAh(i__),RAm(i__),
+ RAs(i__),DE_(i__),DEd(i__),DEm(i__),DEs(i__),GLON(i__),
+ GLAT(i__),Dist(i__),n_Dist(i__),Lum(i__),NH3det(i__),
+ H2Odet(i__),IDent(i__)
write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'table2.dat' ! Ammonia line parameters and deduced physical
* quantities
C Format for file interpretation
2 format(
+ I3,1X,F5.2,1X,I2,1X,F6.1,1X,I2,2X,F4.2,1X,I2,2X,F5.2,1X,I2,1X,
+ F6.1,1X,I2,2X,F4.2,1X,I2,2X,F5.2,A1,I2,1X,E9.2,A1,I2,2X,A1,
+ F4.2,1X,I2)
C Effective file loading
open(unit=1,status='old',file=
+'table2.dat')
write(6,*) '....Loading file: table2.dat'
do i__=1,102
read(1,'(A95)')ar__1
read(ar__1,2)
+ Mol_1(i__),T11(i__),e_T11(i__),V11(i__),e_V11(i__),W11(i__),
+ e_W11(i__),T22(i__),e_T22(i__),V22(i__),e_V22(i__),W22(i__),
+ e_W22(i__),Tkin(i__),l_Tkin(i__),e_Tkin(i__),Ncol(i__),
+ l_Ncol(i__),e_Ncol(i__),l_Tau(i__),Tau(i__),e_Tau(i__)
if(ar__1(34:38) .EQ. '') T22(i__) = rNULL__
if(ar__1(40:41) .EQ. '') e_T22(i__) = iNULL__
if(ar__1(43:48) .EQ. '') V22(i__) = rNULL__
if(ar__1(50:51) .EQ. '') e_V22(i__) = iNULL__
if(ar__1(54:57) .EQ. '') W22(i__) = rNULL__
if(ar__1(59:60) .EQ. '') e_W22(i__) = iNULL__
if(ar__1(63:67) .EQ. '') Tkin(i__) = rNULL__
if(ar__1(69:70) .EQ. '') e_Tkin(i__) = iNULL__
if(ar__1(72:80) .EQ. '') Ncol(i__) = rNULL__
if(ar__1(82:83) .EQ. '') e_Ncol(i__) = iNULL__
if(ar__1(87:90) .EQ. '') Tau(i__) = rNULL__
if(ar__1(92:93) .EQ. '') e_Tau(i__) = iNULL__
c ..............Just test output...........
write(6,2)
+ Mol_1(i__),T11(i__),e_T11(i__),V11(i__),e_V11(i__),W11(i__),
+ e_W11(i__),T22(i__),e_T22(i__),V22(i__),e_V22(i__),W22(i__),
+ e_W22(i__),Tkin(i__),l_Tkin(i__),e_Tkin(i__),Ncol(i__),
+ l_Ncol(i__),e_Ncol(i__),l_Tau(i__),Tau(i__),e_Tau(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end