Conversion of standardized ReadMe file for
file /./ftp/cats/VIII/15 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-Jun-08
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. VIII/15 Parkes Radio Sources Catalogue (PKSCAT90) (Wright+ 1990)
*================================================================================
*Parkes Radio Sources Catalogue, Version 1.01
* Wright A.E. and Otrupcek R.
* <Australia Telescope National Facility, Parkes (1990)>
* =1990PKS...C......0W
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'pkscat90.dat' ! The Catalogue
integer*4 nr__
parameter (nr__=8264) ! Number of records
character*210 ar__ ! Full-size record
C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg ! (deg) Right Ascension J2000
real*8 DEdeg ! (deg) Declination J2000
C ---------------------------------- ! (position vector(s) in degrees)
character*10 Bname ! B1950 source name
character*7 Alias ! Alias/other catalogue names
integer*4 RA1950h ! (h) Right Ascension B1950.0 (hours)
integer*4 RA1950m ! (min) Right Ascension B1950.0 (minutes)
real*4 RA1950s ! (s) Right Ascension B1950.0 (seconds)
character*1 DE1950_ ! Declination B1950.0 (sign)
integer*4 DE1950d ! (deg) Declination B1950.0 (degrees)
integer*4 DE1950m ! (arcmin) Declination B1950.0 (minutes)
integer*4 DE1950s ! (arcsec) Declination B1950.0 (seconds)
character*4 Ident ! Source identification (1)
real*4 Mag ! (mag) ? Magnitude
* (the format is either F4.1 or F4.2)
real*4 z ! ? Redshift (reference in r_z)
real*8 S80 ! (Jy) ? Flux density at 80MHz
real*8 S178 ! (Jy) ? Flux density at 178MHz
real*8 S408 ! (Jy) ? Flux density at 408MHz
real*8 S635 ! (Jy) ? Flux density at 635MHz
real*8 S1410 ! (Jy) ? Flux density at 1410MHz (21cm)
real*8 S2700 ! (Jy) ? Flux density at 2700MHz (11cm)
real*8 S5000 ! (Jy) ? Flux density at 5000MHz (6cm)
real*8 S8400 ! (Jy) ? Flux density at 8400MHz
real*8 S22000 ! (Jy) ? Flux density at 22000MHz
integer*4 RAh ! (h) Right Ascension J2000 (hours)
integer*4 RAm ! (min) Right Ascension J2000 (minutes)
real*8 RAs ! (s) Right Ascension J2000 (seconds)
character*1 DE_ ! Declination J2000 (sign)
integer*4 DEd ! (deg) Declination J2000 (degrees)
integer*4 DEm ! (arcmin) Declination J2000 (minutes)
real*4 DEs ! (arcsec) Declination J2000 (seconds)
character*11 Jname ! J2000 Name
real*4 errPos ! (arcsec) ? positional accuracy in arcsec.
* (to be read as "better than")
character*20 r_Ident ! Comma-separated references for Identification
* (see file refs.dat)
character*20 r_z ! Comma-separated references for z
* (see file refs.dat)
character*5 SpDate ! ("YY.MM") Year.Month for which an optical spectrum was
* obtained, but from which a definite redshift
* could not be determined
*Note (1):
* Beginning with this version of the catalogue, new identification and
* field classification codes have been used, mainly for the unidentified
* or "blank-field" sources. The following table lists both the new and
* the old codes.
* -------------------------------------------------------------------
* Code Description Old Code
* -------------------------------------------------------------------
* ===> Identified sources:
* BLC BL Lacertae object BLC
* D Diffuse galaxy, bright galaxies in clusters D
* DB Double galaxy DB
* E Elliptical Galaxy E
* G Galaxy too faint to classify G
* HII HII region HII
* IRR Irregular object IRR
* N N galaxy, bright cored galaxy N
* PN Planetary Nebular PN
* Q Quasi-stellar object or Quasar (confirmed) Q
* QC Quasar with a continuous optical spectrum QC
* S Spiral galaxy S
* SB Barred Spiral galaxy SB
* Sc Spiral galaxy (type C) SC
* SNR SuperNova Remnant SNR
* S0 Spiral galaxy with ellipticity of zero S0
* (nearly circular)
* * Stellar object of neutral colour IIIS
* in good positional agreement with
* the radio source
* ===> Unidentified Sources
* Xg one or more galaxies in the area II
* covered by the position error of the source
* but no identification claimed
* Xs blank field: one or more stars of normal colour III
* in the error box
* Xsa blank field: obscured by absorption IIIA
* X blank field: no absorption apparent IIIB
* Xs+ blank field: crowded star field IIIC
* Xa blank field: heavily obscured. IV
* -------------------------------------------------------------------
* NOTE: a ? following any code specifies that that property is uncertain
* -------------------------------------------------------------------
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'refs.dat' ! References
integer*4 nr__1
parameter (nr__1=152) ! Number of records
character*99 ar__1 ! Full-size record
character*6 Ref ! Reference Code
character*19 BibCode ! 19-digit reference code, as used in
* ADS, CDS and NED
character*71 Authors ! List of authors
C=============================================================================
C Loading file 'pkscat90.dat' ! The Catalogue
C Format for file interpretation
1 format(
+ A10,A7,I2,1X,I2,1X,F4.1,A1,I2,1X,I2,1X,I2,A4,F5.2,F5.3,F8.3,
+ F8.3,F8.3,F8.3,F8.3,F8.3,F8.3,F8.3,F8.3,I2,1X,I2,1X,F7.4,A1,
+ I2,1X,I2,1X,F6.3,A11,1X,F5.2,A20,A20,A5)
C Effective file loading
open(unit=1,status='old',file=
+'pkscat90.dat')
write(6,*) '....Loading file: pkscat90.dat'
do i__=1,8264
read(1,'(A210)')ar__
read(ar__,1)
+ Bname,Alias,RA1950h,RA1950m,RA1950s,DE1950_,DE1950d,DE1950m,
+ DE1950s,Ident,Mag,z,S80,S178,S408,S635,S1410,S2700,S5000,
+ S8400,S22000,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Jname,errPos,r_Ident,
+ r_z,SpDate
if(ar__(41:45) .EQ. '') Mag = rNULL__
if(ar__(46:50) .EQ. '') z = rNULL__
if(ar__(51:58) .EQ. '') S80 = rNULL__
if(ar__(59:66) .EQ. '') S178 = rNULL__
if(ar__(67:74) .EQ. '') S408 = rNULL__
if(ar__(75:82) .EQ. '') S635 = rNULL__
if(ar__(83:90) .EQ. '') S1410 = rNULL__
if(ar__(91:98) .EQ. '') S2700 = rNULL__
if(ar__(99:106) .EQ. '') S5000 = rNULL__
if(ar__(107:114) .EQ. '') S8400 = rNULL__
if(ar__(115:122) .EQ. '') S22000 = rNULL__
if(ar__(161:165) .EQ. '') errPos = rNULL__
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(RAs .GT. -180) RAdeg=RAdeg+RAs/240.
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)
+ Bname,Alias,RA1950h,RA1950m,RA1950s,DE1950_,DE1950d,DE1950m,
+ DE1950s,Ident,Mag,z,S80,S178,S408,S635,S1410,S2700,S5000,
+ S8400,S22000,RAh,RAm,RAs,DE_,DEd,DEm,DEs,Jname,errPos,r_Ident,
+ r_z,SpDate
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'refs.dat' ! References
C Format for file interpretation
2 format(A6,2X,A19,1X,A71)
C Effective file loading
open(unit=1,status='old',file=
+'refs.dat')
write(6,*) '....Loading file: refs.dat'
do i__=1,152
read(1,'(A99)')ar__1
read(ar__1,2)Ref,BibCode,Authors
c ..............Just test output...........
write(6,2)Ref,BibCode,Authors
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end