Conversion of standardized ReadMe file for
file /./ftp/cats/III/170B 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-Sep-15
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. III/170B IRAS Point Source Identifications (MacConnell, 1993; rev. 2009)
*================================================================================
*IRAS Point Sources of flux at 12 microns greater than flux at 25 microns and
*falling within about 7 degrees of the Galactic Plane
* MacConnell D. J.
* <(unpublished, 1993; revised 2009)>
* =1993yCat.3170.....M
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'ps_class.dat' ! The catalog of identifications, 2009 Version
integer*4 nr__
parameter (nr__=14189) ! Number of records
character*72 ar__ ! Full-size record
character*11 IRAS (nr__) ! IRAS-PSC Name (Cat. II/125)
character*25 Class (nr__) ! Classification of the star and comments
* (<M means "M2 or earlier")
real*4 Off (nr__) ! (arcsec) ? Offset from IRAS position
character*2 Dir (nr__) ! [NSEW ] Direction of offset from IRAS position
integer*4 Plate (nr__) ! Plate number
character*1 n_Plate (nr__) ! [lms] Note on Exposure/Plate (1)
integer*4 den (nr__) ! [0,20]? Density on a scale of 0 to 20
character*1 u_den (nr__) ! [:?v] Uncertainty flag (:) on den
character*21 Remarks (nr__) ! Cross-identifications and remarks (2)
*Note (1): Plate/exposure are coded as:
* l = 60min exposure, sensitized plate
* m = 30min exposure
* s = 5min exposure
*Note (2): Not all variable stars, carbon stars, etc. have been identified
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'ps_id.dat' ! The catalog of identifications, 1994 version
integer*4 nr__1
parameter (nr__1=14192) ! Number of records
character*69 ar__1 ! Full-size record
character*10 IRAS_1 (nr__1) ! IRAS Name
character*25 class_1 (nr__1) ! Classification
character*6 off_1 (nr__1) ! (arcsec) [NSEW ".0-9]Offset from IRAS position
integer*4 Npl (nr__1) ! Plate number
character*2 NplS (nr__1) ! Plate number supplement
character*2 den_1 (nr__1) ! Density on a scale of 0 to 20
character*19 id (nr__1) ! Identifications / remarks
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'mac_iras.dat' ! *Cross-identifications and remarks by B. Skiff
integer*4 nr__2
parameter (nr__2=13099) ! Number of records
character*139 ar__2 ! Full-size record
C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg (nr__2) ! (deg) Right Ascension J2000
real*8 DEdeg (nr__2) ! (deg) Declination J2000
C ---------------------------------- ! (position vector(s) in degrees)
character*11 IRAS_2 (nr__2) ! IRAS-PSC Name (Cat. II/125)
character*1 f_IRAS (nr__2) ! [*!] additional note in file notes.htx (*),
* or the optical source differs from IRAS (!)
integer*4 RAh (nr__2) ! (h) Right Ascension J2000 (hours)
integer*4 RAm (nr__2) ! (min) Right Ascension J2000 (minutes)
real*4 RAs (nr__2) ! (s) Right Ascension J2000 (seconds)
character*1 DE_ (nr__2) ! Declination J2000 (sign)
integer*4 DEd (nr__2) ! (deg) Declination J2000 (degrees)
integer*4 DEm (nr__2) ! (arcmin) Declination J2000 (minutes)
real*4 DEs (nr__2) ! (arcsec) Declination J2000 (seconds)
character*1 r (nr__2) ! [BDGgIMTUXs] Origin of position (1)
character*9 GSC (nr__2) ! GSC designation (Cat. I/254)
character*17 MSX6C (nr__2) ! Designation in MSX6C (Cat. V/114)
real*4 Vmag (nr__2) ! (mag) ? Visual magnitude (indicative)
character*7 Sp (nr__2) ! Spectral class
character*1 n_Sp (nr__2) ! [r] 'r' for spectrum significantly reddened
character*57 Remarks_1 (nr__2) ! Cross-identifications and remarks
*Note (1): the symbol refers to the survey:
* B = Bordeaux (2006A&A...448.1235D, Cat. I/300)
* D = DENIS (1999A&A...349..236E, Cat. B/denis)
* G = GSC-ACT (1999yCat.1255.....G, Cat. I/255)
* g = GSC-2.2 (2001yCat.1271.....S, Cat. I/271)
* I = IRAS (1988IRASP.C......0J, Cat. II/125)
* M = 2MASS (2003yCat.2246.....C, Cat. II/246)
* T = Tycho-2 (2000A&A...357..367H, Cat. I/259)
* U = UCAC2 (2004AJ....127.3043Z, Cat. I/289)
* X = MSX6C (2001AJ....121.2819P, Cat. V/114)
* s = Brian Skiff's estimate
C=============================================================================
C Loading file 'ps_class.dat' ! The catalog of identifications, 2009 Version
C Format for file interpretation
1 format(A11,A25,F4.1,A2,I5,A1,I2,A1,A21)
C Effective file loading
open(unit=1,status='old',file=
+'ps_class.dat')
write(6,*) '....Loading file: ps_class.dat'
do i__=1,14189
read(1,'(A72)')ar__
read(ar__,1)
+ IRAS(i__),Class(i__),Off(i__),Dir(i__),Plate(i__),
+ n_Plate(i__),den(i__),u_den(i__),Remarks(i__)
if(ar__(37:40) .EQ. '') Off(i__) = rNULL__
if(ar__(49:50) .EQ. '') den(i__) = iNULL__
c ..............Just test output...........
write(6,1)
+ IRAS(i__),Class(i__),Off(i__),Dir(i__),Plate(i__),
+ n_Plate(i__),den(i__),u_den(i__),Remarks(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'ps_id.dat' ! The catalog of identifications, 1994 version
C Format for file interpretation
2 format(A10,A25,A6,I5,A2,A2,A19)
C Effective file loading
open(unit=1,status='old',file=
+'ps_id.dat')
write(6,*) '....Loading file: ps_id.dat'
do i__=1,14192
read(1,'(A69)')ar__1
read(ar__1,2)
+ IRAS_1(i__),class_1(i__),off_1(i__),Npl(i__),NplS(i__),
+ den_1(i__),id(i__)
c ..............Just test output...........
write(6,2)
+ IRAS_1(i__),class_1(i__),off_1(i__),Npl(i__),NplS(i__),
+ den_1(i__),id(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'mac_iras.dat' ! *Cross-identifications and remarks by B. Skiff
C Format for file interpretation
3 format(
+ A11,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A1,1X,A9,
+ 1X,A17,1X,F4.1,2X,A7,A1,1X,A57)
C Effective file loading
open(unit=1,status='old',file=
+'mac_iras.dat')
write(6,*) '....Loading file: mac_iras.dat'
do i__=1,13099
read(1,'(A139)')ar__2
read(ar__2,3)
+ IRAS_2(i__),f_IRAS(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
+ DEd(i__),DEm(i__),DEs(i__),r(i__),GSC(i__),MSX6C(i__),
+ Vmag(i__),Sp(i__),n_Sp(i__),Remarks_1(i__)
if(ar__2(68:71) .EQ. '') Vmag(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,3)
+ IRAS_2(i__),f_IRAS(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),
+ DEd(i__),DEm(i__),DEs(i__),r(i__),GSC(i__),MSX6C(i__),
+ Vmag(i__),Sp(i__),n_Sp(i__),Remarks_1(i__)
write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end