Conversion of standardized ReadMe file for
file /./home/cats/II/126 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. II/126 IRAS Serendipitous Survey Catalog (IPAC 1986)
*================================================================================
*IRAS Serendipitous Survey Catalog
* Kleinmann S.G., Cutri R.M., Young E.T., Low F.J., Gillett F.C.
* <Joint IRAS Science W.G. (1986)>
* =1986SSC...C......0K
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'sources.dat' ! Properties of the point sources identified
integer*4 nr__
parameter (nr__=43886) ! Number of records
character*159 ar__ ! Full-size record
C 1950 position composed of: RAh RAm RAds DE- DEd DEm DEs
real*8 RAdeg ! (deg) Right Ascension 1950
real*8 DEdeg ! (deg) Declination 1950
C ---------------------------------- ! (position vector(s) in degrees)
character*11 IRAS ! IRAS/SSC Source Name (1)
integer*4 RAh ! (h) Right Ascension 1950 (hours)
integer*4 RAm ! (min) Right Ascension 1950 (minutes)
integer*4 RAds ! (0.1s) Right Ascension 1950 (seconds)
character*1 DE_ ! Declination 1950 (Sign)
integer*4 DEd ! (deg) Declination 1950 (degrees)
integer*4 DEm ! (arcmin) Declination 1950 (minutes)
integer*4 DEs ! (arcsec) Declination 1950 (seconds)
integer*4 ANGLE ! Position Angle of SSC Source Error Box
* expressed in degrees East of North.
real*4 FLUX12 ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX25 ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX60 ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX100 ! (Jy) Averaged Non-color Corrected Flux Densities(2)
integer*4 FQUAL12 ! Flux Density Quality (2) (5)
integer*4 FQUAL25 ! Flux Density Quality (2) (5)
integer*4 FQUAL60 ! Flux Density Quality (2) (5)
integer*4 FQUAL100 ! Flux Density Quality (2) (5)
integer*4 RGRID ! Reference Grid Number
integer*4 RELUNC12 ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC25 ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC60 ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC100 ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 TLSNR12 ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR25 ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR60 ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR100 ! ? 10x Local Signal-to-Noise Ratio
character*1 CC12 ! Point Source Correlation Coefficient (2) (3)
character*1 CC25 ! Point Source Correlation Coefficient (2) (3)
character*1 CC60 ! Point Source Correlation Coefficient (2) (3)
character*1 CC100 ! Point Source Correlation Coefficient (2) (3)
integer*4 TRFLUX12 ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX25 ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX60 ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX100 ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 dRA12 ! (arcsec) ? Right Ascension Delta (12um)
integer*4 dDE12 ! (arcsec) ? Declination Delta (12um)
integer*4 dRA25 ! (arcsec) ? Right Ascension Delta (25um)
integer*4 dDE25 ! (arcsec) ? Declination Delta (25um)
integer*4 dRA60 ! (arcsec) ? Right Ascension Delta (60um)
integer*4 dDE60 ! (arcsec) ? Declination Delta (60um)
integer*4 dRA100 ! (arcsec) ? Right Ascension Delta (100um)
integer*4 dDE100 ! (arcsec) ? Declination Delta (100um)
integer*4 PNEARC12 ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC25 ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC60 ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC100 ! ? Number of Sources in Confusion Window (2)(4)
integer*4 NID ! Number of Positional Associations (2)
integer*4 IDTYPE ! Type of Object (2)
*Note (1):
* Sources are listed in order of increasing Right Ascension within each
* field.
*Note (2):
* This quantity is listed in the printed version of the SSC.
*Note (3): the Point Source Correlation Ceofficients are between 70-100%.
* These are encoded as alphabetic characters with A=100, B=99..Z=75-70
* (1 value per band).
* The quoted correlation coefficients come from the reference or
* confirming grids, whichever is higher, for high quality sources.
*Note (4):
* In regions of high source density, the Pointed Observation
* source extraction process, as well as the Serendipitous
* Survey Confirmation and Band Merging processing, can result
* in degraded positions and incorrectly band merged sources.
* PNEARC is 1-(number of confirmed sources in the confusion
* and band merge window).
* Any value greater than zero is indicative of potential confusion
* in the processing and the resulting source information should be
* examined carefully, e.g. by inspection of the grids in question.
*Note (5): Qualities:
* 3=high-quality, 2=moderate quality,
* 1=upper limit
*Note (6): SSC sources can have flux density ratios
* 0.5 < Fc/Fr < 2.0.
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'assoc.dat' ! Information about positional associations
with sources in other catalogs
integer*4 nr__1
parameter (nr__1=29583) ! Number of records
character*56 ar__1 ! Full-size record
integer*4 CatNo ! Catalog Number (1)
character*15 Source ! Source ID
character*5 Type ! Source Type/Spectral Class (2)
integer*4 Radius ! (arcsec) Radius Vector from SSC Position to Association
integer*4 PosAngle ! (deg) Position Angle from SSC Position to
* Association (E of N)
integer*4 Field1 ! Object Field #1 Dependent (3)
integer*4 Field2 ! Object Field #2 Dependent (4)
integer*4 Field3 ! Object Field #3 Dependent (5)
character*11 IRAS_1 ! ! SSC Name association (6)
integer*4 RGRID_1 ! SSC Name association (6)
*Note (1):
* For associations with the IRAS/PSC <II/125>, this value is 41.
* For other associations, see details in file "meaning.txt".
*Note (2):
* For associations with the IRAS/PSC <II/125> (i.e. CATNO=41),
* this field is left blank. For other associations, see details
* in "meaning.txt".
*Note (3):
* For associations with the IRAS/PSC <II/125> (i.e. CATNO=41), this
* value is a flag indicating the bands in which the source was detected
* with medium or high quality; it is encoded as indicated in the
* PSC Supplement Table X.B.2 (or'ed number values of 1 (12um),
* 2 (25um), 4(60um) and 8(100um)). For other associations, see details
* in "meaning.txt".
*Note (4):
* For associations with the IRAS/PSC <II/125> (i.e. CATNO=41), this
* value is the PSC 2.0 Flux Density in the shortest (first) wavelength
* band in which it was detected. Flux Densities higher than 10 Jy are
* encoded 9999. For other associations, see details in "meaning.txt".
*Note (5):
* For associations with the IRAS/PSC <II/125> (i.e. CATNO=41), this
* value is the PSC 2.0 Flux Density in the second wavelength band
* in which it was detected. Flux Densities higher than 10 Jy
* are encoded 9999. For other associations, see details in "meaning.txt".
*Note (6):
* These fields are a repetition of bytes 1-11 and 71-75 of "sources" table.
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'headers.dat' ! Information about the reference and confirming
grids (observations) in which point sources
were identified
integer*4 nr__2
parameter (nr__2=1813) ! Number of records
character*150 ar__2 ! Full-size record
C Position composed of: GLON GLAT
character*13 FNAME ! Field Name (2) (1)
integer*4 RGRID_2 ! Reference Grid No. (2), has the lower 60 um
* median noise.
integer*4 RDATE ! (d) Observation Date (JD 2445000+) of RGRID (2)
integer*4 CGRID ! Confirming Grid No. (2)
integer*4 CDATE ! (d) Observation Date (JD 2445000+) of CGRID (2)
character*1 MACRO ! Macro Type (2) (3)
integer*4 GLON ! (deg) Galactic Longitude (2)
integer*4 GLAT ! (deg) Galactic Latitude (2)
integer*4 dRA ! (arcsec) R.A. Difference between Grid Centers
integer*4 dDE ! (arcsec) Dec. Difference between Grid Centers
integer*4 RGPA ! (deg) Reference Grid Scan Direction (E of N)
integer*4 CGPA ! (deg) Confirming Grid Scan Direction (E of N)
integer*4 EFFAREA ! (0.01deg2) Effective Area of Grid Overlap (2)
* covered by both the reference and
* confirming grids (in 0.01 square degrees).
integer*4 RUNDF ! No. of additional grid pairs with
* Overlap > 5% (2)
integer*4 RNOISE12 ! (mJy) Median Noise of Ref. Grid (12um)
integer*4 RNOISE25 ! (mJy) Median Noise of Ref. Grid (25um)
integer*4 RNOISE60 ! (mJy) Median Noise of Ref. Grid (60um)
integer*4 RNOISE100 ! (mJy) Median Noise of Ref. Grid (100um)
integer*4 CNOISE12 ! (mJy) Median Noise of Conf.Grid (12um)
integer*4 CNOISE25 ! (mJy) Median Noise of Conf.Grid (25um)
integer*4 CNOISE60 ! (mJy) Median Noise of Conf.Grid (60um)
integer*4 CNOISE100 ! (mJy) Median Noise of Conf.Grid (100um)
integer*4 NSOURC12 ! Number of Confirmed Sources (12um)
integer*4 NSOURC25 ! Number of Confirmed Sources (25um)
integer*4 NSOURC60 ! Number of Confirmed Sources (60um)
integer*4 NSOURC100 ! Number of Confirmed Sources (100um)
integer*4 NCONF12 ! Number of Confused Confirmations (12um) (2)
integer*4 NCONF25 ! Number of Confused Confirmations (25um) (2)
integer*4 NCONF60 ! Number of Confused Confirmations (60um) (2)
integer*4 NCONF100 ! Number of Confused Confirmations (100um) (2)
integer*4 CIRRUS ! Number of 100 um only Confirmed Sources (2)
integer*4 NMERGE ! Number of Merged Sources, i.e. number of
* source records following the field header.
*Note (1):
* Fields are listed in order of increasing Right Ascension of the
* Reference Grid center. The IRAS/SSC field name is the position of
* the center of the reference grid, given in the form hhmmssSddmmss.
*Note (2):
* This quantity is listed in the printed version of the catalog.
*Note (3):
* Macro code is (Table II.A of "Explanations")
* ------------------------------------------------------
* Code Name Scans Length Cross-step SNR Gain
* arcmin arcmin improvement
* ------------------------------------------------------
* A DPS02B 6 96 0.3 4.8
* B DPS05B 3 360 1.0 3.5
* C DPS52B 6 96 0 4.8
* D DPS55B 3 360 0 3.5
* E DPS60B 4 60 0.8 4.0
* F DPS60D 5 48 0.4 4.4
* G DPS61C 12 48 0.2 6.9
* H DPS61D 15 48 0.2 7.7
* I DPS62D 9 96 0.4 6.0
* J DPS63D 3 96 0.8 3.5
* K DPS60C 5 48 0.4 4.4
* L TPS52B 6 96 0 4.8
* M DPS60M 5 48 0.4 4.4
* ------------------------------------------------------
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'overlap.dat' ! Overlapping fields (Appendix A)
integer*4 nr__3
parameter (nr__3=2149) ! Number of records
character*16 ar__3 ! Full-size record
integer*4 RGRID_3 ! Reference Grid No
integer*4 GRID1 ! Overlapping grid no., >5% overlap
* with Reference Grid
integer*4 OVLP1 ! (arcmin2) Overlapping area
C=============================================================================
C Loading file 'sources.dat' ! Properties of the point sources identified
C Format for file interpretation
1 format(
+ A11,I2,I2,I3,A1,I2,I2,I2,1X,I3,1X,E9.3,E9.3,E9.3,E9.3,I1,I1,
+ I1,I1,I5,5X,I3,I3,I3,I3,I4,I4,I4,I4,A1,A1,A1,A1,I2,I2,I2,I2,
+ I4,I4,I4,I4,I4,I4,I4,I4,I1,I1,I1,I1,I2,I1)
C Effective file loading
open(unit=1,status='old',file=
+'sources.dat')
write(6,*) '....Loading file: sources.dat'
do i__=1,43886
read(1,'(A159)')ar__
read(ar__,1)
+ IRAS,RAh,RAm,RAds,DE_,DEd,DEm,DEs,ANGLE,FLUX12,FLUX25,FLUX60,
+ FLUX100,FQUAL12,FQUAL25,FQUAL60,FQUAL100,RGRID,RELUNC12,
+ RELUNC25,RELUNC60,RELUNC100,TLSNR12,TLSNR25,TLSNR60,TLSNR100,
+ CC12,CC25,CC60,CC100,TRFLUX12,TRFLUX25,TRFLUX60,TRFLUX100,
+ dRA12,dDE12,dRA25,dDE25,dRA60,dDE60,dRA100,dDE100,PNEARC12,
+ PNEARC25,PNEARC60,PNEARC100,NID,IDTYPE
if(ar__(81:83) .EQ. '') RELUNC12 = iNULL__
if(ar__(84:86) .EQ. '') RELUNC25 = iNULL__
if(ar__(87:89) .EQ. '') RELUNC60 = iNULL__
if(ar__(90:92) .EQ. '') RELUNC100 = iNULL__
if(ar__(93:96) .EQ. '') TLSNR12 = iNULL__
if(ar__(97:100) .EQ. '') TLSNR25 = iNULL__
if(ar__(101:104) .EQ. '') TLSNR60 = iNULL__
if(ar__(105:108) .EQ. '') TLSNR100 = iNULL__
if(ar__(113:114) .EQ. '') TRFLUX12 = iNULL__
if(ar__(115:116) .EQ. '') TRFLUX25 = iNULL__
if(ar__(117:118) .EQ. '') TRFLUX60 = iNULL__
if(ar__(119:120) .EQ. '') TRFLUX100 = iNULL__
if(ar__(121:124) .EQ. '') dRA12 = iNULL__
if(ar__(125:128) .EQ. '') dDE12 = iNULL__
if(ar__(129:132) .EQ. '') dRA25 = iNULL__
if(ar__(133:136) .EQ. '') dDE25 = iNULL__
if(ar__(137:140) .EQ. '') dRA60 = iNULL__
if(ar__(141:144) .EQ. '') dDE60 = iNULL__
if(ar__(145:148) .EQ. '') dRA100 = iNULL__
if(ar__(149:152) .EQ. '') dDE100 = iNULL__
if(ar__(153:153) .EQ. '') PNEARC12 = iNULL__
if(ar__(154:154) .EQ. '') PNEARC25 = iNULL__
if(ar__(155:155) .EQ. '') PNEARC60 = iNULL__
if(ar__(156:156) .EQ. '') PNEARC100 = iNULL__
RAdeg = rNULL__
DEdeg = rNULL__
c Derive coordinates RAdeg and DEdeg from input data
c (RAdeg and DEdeg are set to rNULL__ when unknown)
if(RAh .GT. -180) RAdeg=RAh*15.
if(RAm .GT. -180) RAdeg=RAdeg+RAm/4.
if(RAds .GT. -180) RAdeg=RAdeg+RAds/2400.
if(DEd .GE. 0) DEdeg=DEd
if(DEm .GE. 0) DEdeg=DEdeg+DEm/60.
if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600.
if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg
c ..............Just test output...........
write(6,1)
+ IRAS,RAh,RAm,RAds,DE_,DEd,DEm,DEs,ANGLE,FLUX12,FLUX25,FLUX60,
+ FLUX100,FQUAL12,FQUAL25,FQUAL60,FQUAL100,RGRID,RELUNC12,
+ RELUNC25,RELUNC60,RELUNC100,TLSNR12,TLSNR25,TLSNR60,TLSNR100,
+ CC12,CC25,CC60,CC100,TRFLUX12,TRFLUX25,TRFLUX60,TRFLUX100,
+ dRA12,dDE12,dRA25,dDE25,dRA60,dDE60,dRA100,dDE100,PNEARC12,
+ PNEARC25,PNEARC60,PNEARC100,NID,IDTYPE
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'assoc.dat' ! Information about positional associations
* with sources in other catalogs
C Format for file interpretation
2 format(I2,A15,A5,I3,I3,I4,I4,I4,A11,I5)
C Effective file loading
open(unit=1,status='old',file=
+'assoc.dat')
write(6,*) '....Loading file: assoc.dat'
do i__=1,29583
read(1,'(A56)')ar__1
read(ar__1,2)
+ CatNo,Source,Type,Radius,PosAngle,Field1,Field2,Field3,IRAS_1,
+ RGRID_1
c ..............Just test output...........
write(6,2)
+ CatNo,Source,Type,Radius,PosAngle,Field1,Field2,Field3,IRAS_1,
+ RGRID_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'headers.dat' ! Information about the reference and confirming
* grids (observations) in which point sources
* were identified
C Format for file interpretation
3 format(
+ A13,I5,I3,I5,I3,A1,I3,I3,I4,I4,I4,I4,I3,I2,23X,I5,I5,I5,I5,I5,
+ I5,I5,I5,I3,I3,I3,I3,I3,I3,I3,I3,I3,I3)
C Effective file loading
open(unit=1,status='old',file=
+'headers.dat')
write(6,*) '....Loading file: headers.dat'
do i__=1,1813
read(1,'(A150)')ar__2
read(ar__2,3)
+ FNAME,RGRID_2,RDATE,CGRID,CDATE,MACRO,GLON,GLAT,dRA,dDE,RGPA,
+ CGPA,EFFAREA,RUNDF,RNOISE12,RNOISE25,RNOISE60,RNOISE100,
+ CNOISE12,CNOISE25,CNOISE60,CNOISE100,NSOURC12,NSOURC25,
+ NSOURC60,NSOURC100,NCONF12,NCONF25,NCONF60,NCONF100,CIRRUS,
+ NMERGE
c ..............Just test output...........
write(6,3)
+ FNAME,RGRID_2,RDATE,CGRID,CDATE,MACRO,GLON,GLAT,dRA,dDE,RGPA,
+ CGPA,EFFAREA,RUNDF,RNOISE12,RNOISE25,RNOISE60,RNOISE100,
+ CNOISE12,CNOISE25,CNOISE60,CNOISE100,NSOURC12,NSOURC25,
+ NSOURC60,NSOURC100,NCONF12,NCONF25,NCONF60,NCONF100,CIRRUS,
+ NMERGE
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'overlap.dat' ! Overlapping fields (Appendix A)
C Format for file interpretation
4 format(I5,1X,I5,1X,I4)
C Effective file loading
open(unit=1,status='old',file=
+'overlap.dat')
write(6,*) '....Loading file: overlap.dat'
do i__=1,2149
read(1,'(A16)')ar__3
read(ar__3,4)RGRID_3,GRID1,OVLP1
c ..............Just test output...........
write(6,4)RGRID_3,GRID1,OVLP1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end