Conversion of standardized ReadMe file for
file /./home/cats/II/126 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-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 (nr__) ! (deg) Right Ascension 1950
real*8 DEdeg (nr__) ! (deg) Declination 1950
C ---------------------------------- ! (position vector(s) in degrees)
character*11 IRAS (nr__) ! IRAS/SSC Source Name (1)
integer*4 RAh (nr__) ! (h) Right Ascension 1950 (hours)
integer*4 RAm (nr__) ! (min) Right Ascension 1950 (minutes)
integer*4 RAds (nr__) ! (0.1s) Right Ascension 1950 (seconds)
character*1 DE_ (nr__) ! Declination 1950 (Sign)
integer*4 DEd (nr__) ! (deg) Declination 1950 (degrees)
integer*4 DEm (nr__) ! (arcmin) Declination 1950 (minutes)
integer*4 DEs (nr__) ! (arcsec) Declination 1950 (seconds)
integer*4 ANGLE (nr__) ! Position Angle of SSC Source Error Box
* expressed in degrees East of North.
real*4 FLUX12 (nr__) ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX25 (nr__) ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX60 (nr__) ! (Jy) Averaged Non-color Corrected Flux Densities(2)
real*4 FLUX100 (nr__) ! (Jy) Averaged Non-color Corrected Flux Densities(2)
integer*4 FQUAL12 (nr__) ! Flux Density Quality (2) (5)
integer*4 FQUAL25 (nr__) ! Flux Density Quality (2) (5)
integer*4 FQUAL60 (nr__) ! Flux Density Quality (2) (5)
integer*4 FQUAL100 (nr__) ! Flux Density Quality (2) (5)
integer*4 RGRID (nr__) ! Reference Grid Number
integer*4 RELUNC12 (nr__) ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC25 (nr__) ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC60 (nr__) ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 RELUNC100 (nr__) ! (%) ? Percent Relative FLUX12 Uncertainty (2)
integer*4 TLSNR12 (nr__) ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR25 (nr__) ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR60 (nr__) ! ? 10x Local Signal-to-Noise Ratio
integer*4 TLSNR100 (nr__) ! ? 10x Local Signal-to-Noise Ratio
character*1 CC12 (nr__) ! Point Source Correlation Coefficient (2) (3)
character*1 CC25 (nr__) ! Point Source Correlation Coefficient (2) (3)
character*1 CC60 (nr__) ! Point Source Correlation Coefficient (2) (3)
character*1 CC100 (nr__) ! Point Source Correlation Coefficient (2) (3)
integer*4 TRFLUX12 (nr__) ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX25 (nr__) ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX60 (nr__) ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 TRFLUX100 (nr__) ! ? 10x Fc/Fr (confirmed/reference) (6)
integer*4 dRA12 (nr__) ! (arcsec) ? Right Ascension Delta (12um)
integer*4 dDE12 (nr__) ! (arcsec) ? Declination Delta (12um)
integer*4 dRA25 (nr__) ! (arcsec) ? Right Ascension Delta (25um)
integer*4 dDE25 (nr__) ! (arcsec) ? Declination Delta (25um)
integer*4 dRA60 (nr__) ! (arcsec) ? Right Ascension Delta (60um)
integer*4 dDE60 (nr__) ! (arcsec) ? Declination Delta (60um)
integer*4 dRA100 (nr__) ! (arcsec) ? Right Ascension Delta (100um)
integer*4 dDE100 (nr__) ! (arcsec) ? Declination Delta (100um)
integer*4 PNEARC12 (nr__) ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC25 (nr__) ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC60 (nr__) ! ? Number of Sources in Confusion Window (2)(4)
integer*4 PNEARC100 (nr__) ! ? Number of Sources in Confusion Window (2)(4)
integer*4 NID (nr__) ! Number of Positional Associations (2)
integer*4 IDTYPE (nr__) ! 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 (nr__1) ! Catalog Number (1)
character*15 Source (nr__1) ! Source ID
character*5 Type (nr__1) ! Source Type/Spectral Class (2)
integer*4 Radius (nr__1) ! (arcsec) Radius Vector from SSC Position to Association
integer*4 PosAngle (nr__1) ! (deg) Position Angle from SSC Position to
* Association (E of N)
integer*4 Field1 (nr__1) ! Object Field #1 Dependent (3)
integer*4 Field2 (nr__1) ! Object Field #2 Dependent (4)
integer*4 Field3 (nr__1) ! Object Field #3 Dependent (5)
character*11 IRAS_1 (nr__1) ! ! SSC Name association (6)
integer*4 RGRID_1 (nr__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 (nr__2) ! Field Name (2) (1)
integer*4 RGRID_2 (nr__2) ! Reference Grid No. (2), has the lower 60 um
* median noise.
integer*4 RDATE (nr__2) ! (d) Observation Date (JD 2445000+) of RGRID (2)
integer*4 CGRID (nr__2) ! Confirming Grid No. (2)
integer*4 CDATE (nr__2) ! (d) Observation Date (JD 2445000+) of CGRID (2)
character*1 MACRO (nr__2) ! Macro Type (2) (3)
integer*4 GLON (nr__2) ! (deg) Galactic Longitude (2)
integer*4 GLAT (nr__2) ! (deg) Galactic Latitude (2)
integer*4 dRA (nr__2) ! (arcsec) R.A. Difference between Grid Centers
integer*4 dDE (nr__2) ! (arcsec) Dec. Difference between Grid Centers
integer*4 RGPA (nr__2) ! (deg) Reference Grid Scan Direction (E of N)
integer*4 CGPA (nr__2) ! (deg) Confirming Grid Scan Direction (E of N)
integer*4 EFFAREA (nr__2) ! (0.01deg2) Effective Area of Grid Overlap (2)
* covered by both the reference and
* confirming grids (in 0.01 square degrees).
integer*4 RUNDF (nr__2) ! No. of additional grid pairs with
* Overlap > 5% (2)
integer*4 RNOISE12 (nr__2) ! (mJy) Median Noise of Ref. Grid (12um)
integer*4 RNOISE25 (nr__2) ! (mJy) Median Noise of Ref. Grid (25um)
integer*4 RNOISE60 (nr__2) ! (mJy) Median Noise of Ref. Grid (60um)
integer*4 RNOISE100 (nr__2) ! (mJy) Median Noise of Ref. Grid (100um)
integer*4 CNOISE12 (nr__2) ! (mJy) Median Noise of Conf.Grid (12um)
integer*4 CNOISE25 (nr__2) ! (mJy) Median Noise of Conf.Grid (25um)
integer*4 CNOISE60 (nr__2) ! (mJy) Median Noise of Conf.Grid (60um)
integer*4 CNOISE100 (nr__2) ! (mJy) Median Noise of Conf.Grid (100um)
integer*4 NSOURC12 (nr__2) ! Number of Confirmed Sources (12um)
integer*4 NSOURC25 (nr__2) ! Number of Confirmed Sources (25um)
integer*4 NSOURC60 (nr__2) ! Number of Confirmed Sources (60um)
integer*4 NSOURC100 (nr__2) ! Number of Confirmed Sources (100um)
integer*4 NCONF12 (nr__2) ! Number of Confused Confirmations (12um) (2)
integer*4 NCONF25 (nr__2) ! Number of Confused Confirmations (25um) (2)
integer*4 NCONF60 (nr__2) ! Number of Confused Confirmations (60um) (2)
integer*4 NCONF100 (nr__2) ! Number of Confused Confirmations (100um) (2)
integer*4 CIRRUS (nr__2) ! Number of 100 um only Confirmed Sources (2)
integer*4 NMERGE (nr__2) ! 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 (nr__3) ! Reference Grid No
integer*4 GRID1 (nr__3) ! Overlapping grid no., >5% overlap
* with Reference Grid
integer*4 OVLP1 (nr__3) ! (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(i__),RAh(i__),RAm(i__),RAds(i__),DE_(i__),DEd(i__),
+ DEm(i__),DEs(i__),ANGLE(i__),FLUX12(i__),FLUX25(i__),
+ FLUX60(i__),FLUX100(i__),FQUAL12(i__),FQUAL25(i__),
+ FQUAL60(i__),FQUAL100(i__),RGRID(i__),RELUNC12(i__),
+ RELUNC25(i__),RELUNC60(i__),RELUNC100(i__),TLSNR12(i__),
+ TLSNR25(i__),TLSNR60(i__),TLSNR100(i__),CC12(i__),CC25(i__),
+ CC60(i__),CC100(i__),TRFLUX12(i__),TRFLUX25(i__),
+ TRFLUX60(i__),TRFLUX100(i__),dRA12(i__),dDE12(i__),dRA25(i__),
+ dDE25(i__),dRA60(i__),dDE60(i__),dRA100(i__),dDE100(i__),
+ PNEARC12(i__),PNEARC25(i__),PNEARC60(i__),PNEARC100(i__),
+ NID(i__),IDTYPE(i__)
if(ar__(81:83) .EQ. '') RELUNC12(i__) = iNULL__
if(ar__(84:86) .EQ. '') RELUNC25(i__) = iNULL__
if(ar__(87:89) .EQ. '') RELUNC60(i__) = iNULL__
if(ar__(90:92) .EQ. '') RELUNC100(i__) = iNULL__
if(ar__(93:96) .EQ. '') TLSNR12(i__) = iNULL__
if(ar__(97:100) .EQ. '') TLSNR25(i__) = iNULL__
if(ar__(101:104) .EQ. '') TLSNR60(i__) = iNULL__
if(ar__(105:108) .EQ. '') TLSNR100(i__) = iNULL__
if(ar__(113:114) .EQ. '') TRFLUX12(i__) = iNULL__
if(ar__(115:116) .EQ. '') TRFLUX25(i__) = iNULL__
if(ar__(117:118) .EQ. '') TRFLUX60(i__) = iNULL__
if(ar__(119:120) .EQ. '') TRFLUX100(i__) = iNULL__
if(ar__(121:124) .EQ. '') dRA12(i__) = iNULL__
if(ar__(125:128) .EQ. '') dDE12(i__) = iNULL__
if(ar__(129:132) .EQ. '') dRA25(i__) = iNULL__
if(ar__(133:136) .EQ. '') dDE25(i__) = iNULL__
if(ar__(137:140) .EQ. '') dRA60(i__) = iNULL__
if(ar__(141:144) .EQ. '') dDE60(i__) = iNULL__
if(ar__(145:148) .EQ. '') dRA100(i__) = iNULL__
if(ar__(149:152) .EQ. '') dDE100(i__) = iNULL__
if(ar__(153:153) .EQ. '') PNEARC12(i__) = iNULL__
if(ar__(154:154) .EQ. '') PNEARC25(i__) = iNULL__
if(ar__(155:155) .EQ. '') PNEARC60(i__) = iNULL__
if(ar__(156:156) .EQ. '') PNEARC100(i__) = iNULL__
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(RAds(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAds(i__)/2400.
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)
+ IRAS(i__),RAh(i__),RAm(i__),RAds(i__),DE_(i__),DEd(i__),
+ DEm(i__),DEs(i__),ANGLE(i__),FLUX12(i__),FLUX25(i__),
+ FLUX60(i__),FLUX100(i__),FQUAL12(i__),FQUAL25(i__),
+ FQUAL60(i__),FQUAL100(i__),RGRID(i__),RELUNC12(i__),
+ RELUNC25(i__),RELUNC60(i__),RELUNC100(i__),TLSNR12(i__),
+ TLSNR25(i__),TLSNR60(i__),TLSNR100(i__),CC12(i__),CC25(i__),
+ CC60(i__),CC100(i__),TRFLUX12(i__),TRFLUX25(i__),
+ TRFLUX60(i__),TRFLUX100(i__),dRA12(i__),dDE12(i__),dRA25(i__),
+ dDE25(i__),dRA60(i__),dDE60(i__),dRA100(i__),dDE100(i__),
+ PNEARC12(i__),PNEARC25(i__),PNEARC60(i__),PNEARC100(i__),
+ NID(i__),IDTYPE(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 '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(i__),Source(i__),Type(i__),Radius(i__),PosAngle(i__),
+ Field1(i__),Field2(i__),Field3(i__),IRAS_1(i__),RGRID_1(i__)
c ..............Just test output...........
write(6,2)
+ CatNo(i__),Source(i__),Type(i__),Radius(i__),PosAngle(i__),
+ Field1(i__),Field2(i__),Field3(i__),IRAS_1(i__),RGRID_1(i__)
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(i__),RGRID_2(i__),RDATE(i__),CGRID(i__),CDATE(i__),
+ MACRO(i__),GLON(i__),GLAT(i__),dRA(i__),dDE(i__),RGPA(i__),
+ CGPA(i__),EFFAREA(i__),RUNDF(i__),RNOISE12(i__),RNOISE25(i__),
+ RNOISE60(i__),RNOISE100(i__),CNOISE12(i__),CNOISE25(i__),
+ CNOISE60(i__),CNOISE100(i__),NSOURC12(i__),NSOURC25(i__),
+ NSOURC60(i__),NSOURC100(i__),NCONF12(i__),NCONF25(i__),
+ NCONF60(i__),NCONF100(i__),CIRRUS(i__),NMERGE(i__)
c ..............Just test output...........
write(6,3)
+ FNAME(i__),RGRID_2(i__),RDATE(i__),CGRID(i__),CDATE(i__),
+ MACRO(i__),GLON(i__),GLAT(i__),dRA(i__),dDE(i__),RGPA(i__),
+ CGPA(i__),EFFAREA(i__),RUNDF(i__),RNOISE12(i__),RNOISE25(i__),
+ RNOISE60(i__),RNOISE100(i__),CNOISE12(i__),CNOISE25(i__),
+ CNOISE60(i__),CNOISE100(i__),NSOURC12(i__),NSOURC25(i__),
+ NSOURC60(i__),NSOURC100(i__),NCONF12(i__),NCONF25(i__),
+ NCONF60(i__),NCONF100(i__),CIRRUS(i__),NMERGE(i__)
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(i__),GRID1(i__),OVLP1(i__)
c ..............Just test output...........
write(6,4)RGRID_3(i__),GRID1(i__),OVLP1(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end