Conversion of standardized ReadMe file for
file /./ftp/cats/I/317 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.5, on 2013-May-21
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__=-1.e37) ! NULL real number
parameter (iNULL__=-2147483647) ! NULL int number
C=============================================================================
Cat. I/317 The PPMXL Catalog (Roeser+ 2010)
*================================================================================
*The PPMXL catalog of positions and proper motions on the ICRS. Combining
*USNO-B1.0 and the two Micron All Sky Survey (2MASS).
* Roeeser S., Demleitner M., Schilbach E.
* <Astron. J. 139, 2440 (2010)>
* =2010AJ....139.2440R
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'sample.out' ! Example of formatted output
integer*4 nr__
parameter (nr__=111) ! Number of records
character*173 ar__ ! Full-size record
character*19 PPMXL (nr__) ! Identifier (5)
real*8 RAdeg (nr__) ! (deg) Right Ascension J2000.0, epoch 2000.0
real*8 DEdeg (nr__) ! (deg) Declination J2000.0, epoch 2000.0
real*8 pmRA (nr__) ! (mas/yr) Proper Motion in RA*cos(DEdeg)
real*8 pmDE (nr__) ! (mas/yr) Proper Motion in Dec
real*8 epRA (nr__) ! (yr) Mean Epoch (RA)
real*8 epDE (nr__) ! (yr) Mean Epoch (Dec)
integer*4 e_RAdeg (nr__) ! (mas) Mean error in RA*cos(DEdeg) at mean epoch (6)
integer*4 e_DEdeg (nr__) ! (mas) Mean error in Dec at mean epoch (6)
real*4 e_pmRA (nr__) ! (mas/yr) Mean error in pmRA*cos(DEdeg)
real*4 e_pmDE (nr__) ! (mas/yr) Mean error in pmDec
real*4 Jmag (nr__) ! (mag) ?=- J magnitude from 2MASS (Cat. II/246)
real*4 e_Jmag (nr__) ! (mag) ?=- J total magnitude uncertainty
real*4 Hmag (nr__) ! (mag) ?=- H magnitude from 2MASS (Cat. II/246)
real*4 e_Hmag (nr__) ! (mag) ?=- H total magnitude uncertainty
real*4 Kmag (nr__) ! (mag) ?=- Ks magnitude from 2MASS (Cat. II/246)
real*4 e_Kmag (nr__) ! (mag) ?=- Ks total magnitude uncertainty
real*4 b1mag (nr__) ! (mag) ?=- B mag from USNO-B, first epoch (1)
real*4 b2mag (nr__) ! (mag) ?=- B mag from USNO-B, second epoch (1)
real*4 r1mag (nr__) ! (mag) ?=- R mag from USNO-B, first epoch (1)
real*4 r2mag (nr__) ! (mag) ?=- R mag from USNO-B, second epoch (1)
real*4 imag (nr__) ! (mag) ?=- I mag from USNO-B (1)
character*5 Smags (nr__) ! [0-8-] Surveys used for USNO-B magnitudes (2)
integer*4 No (nr__) ! ?=- Number of observations used (4)
integer*4 fl (nr__) ! Flags (3)
*Note (1): Magnitudes from USNO-B (Cat. I/284) should be used with care,
* photometric calibration may be severely off for some plates.
*
* For objects from PPMX (Cat I/312, bit#1 set in "fl"), these
* magnitudes have a special meaning:
* ------------------------------------------------------------
* Column [PPMX] Content
* ------------------------------------------------------------
* b1mag [Cmag] Catalogue magnitude from source
* b2mag [Bmag] Johnson B magnitude
* r1mag [Rmag] calculated Ru (UCAC) magnitude from source
* r2mag --- (always empty)
* imag [Vmag] Johnson V magnitude
* ------------------------------------------------------------
*Note (2): Flags indicating the origin of the 5 USNO-B magnitudes,
* (except when bit#1 set in "fl", see Note(1) above):
* ---------------------------------------------------
* # Survey Emuls Wavelen. Zones Fld Dates
* (nm) Obs.
* ---------------------------------------------------
* 0 = POSS-I 103a-O 350-500 -30..+90 936 1949-1965
* 1 = POSS-I 103a-E 620-670 -30..+90 936 1949-1965
* 2 = POSS-II IIIa-J 385-540 +00..+87 897 1985-2000
* 3 = POSS-II IIIa-F 610-690 +00..+87 897 1985-1999
* 4 = SERC-J IIIa-J 385-540 -90..-05 606 1978-1990
* 5 = ESO-R IIIa-F 630-690 -90..-05 624 1974-1994
* 6 = AAO-R IIIa-F 590-690 -90..-20 606 1985-1998
* 7 = POSS-II* IV-N 730-900 +05..+87 800 1981-2002
* 8 = SERC-I IV-N 715-900 -90..+00 892 1978-2002
* ---------------------------------------------------
* (*) Here #7 includes the SERC-I plates in the zones
* +05..+20 (numbered #9 in USNO-B1.0)
* ---------------------------------------------------
*Note (3): The flag is a bitwise or number ({Sigma}2^i^)
* which each bit number (i) has the meaning:
* #0 (1) = if set, one of the coordinates had an excessively large
* chi square.
* #1 (2) = Row is from PPMX (Cat. I/312). These objects are mostly
* Tycho stars that were masked out of USNO-B. When this
* bit is set, the USNO magnitudes (b1mag through imag)
* have special meanings, see Note (1) above.
* #2 (4) = Row is from PPMX (Cat. I/312) and replaces a single row
* from USNO-B. This is done when the astrometry from PPMX
* was better (in terms of error estimates) than the astrometry
* of the corresponding PPMXL object.
* #3 (8) = Row replaces multiple USNO-B1.0 objects. When PPMX contains
* an object that has more than one counterpart in PPMXL, all
* such counterparts are discarded on the assumption that they
* should have been matched in USNO-B1.0 or result from
* erroneous matches. For these rows, bit#1 is always 1.
*Note (4): No may be blank (null) for stars coming from ARIHIP or
* Tycho-2 via PPMX (i.e. bit#1 is set in "fl")
*Note (5): the identifier is a 64-bit integer representing the "pixel"
* number of the USNO-B 1.0 object in Q3C (QuadTreeCube, Koposov and
* Glushkova 2006IAUJD..13E..43K [ADASS 2005]).
*Note (6): the mean errors at epoch J2000 are the convolution of the mean
* error at the mean epoch and the error due to the propagation of the
* error on the proper motion, i.e.
* {sigma}(J2000) = sqrt[{sigma}_0_^2^ + ((2000-t_0_)*{sigma}(pm))^2^]
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'dat/*' ! *PPMXL catalog organized by declination zones of 15'
integer*4 nr__1
parameter (nr__1=720) ! Number of records
character*173 ar__1 ! Full-size record
character*19 PPMXL_1 (nr__1) ! Identifier (5)
real*8 RAdeg_1 (nr__1) ! (deg) Right Ascension J2000.0, epoch 2000.0
real*8 DEdeg_1 (nr__1) ! (deg) Declination J2000.0, epoch 2000.0
real*8 pmRA_1 (nr__1) ! (mas/yr) Proper Motion in RA*cos(DEdeg)
real*8 pmDE_1 (nr__1) ! (mas/yr) Proper Motion in Dec
real*8 epRA_1 (nr__1) ! (yr) Mean Epoch (RA)
real*8 epDE_1 (nr__1) ! (yr) Mean Epoch (Dec)
integer*4 e_RAdeg_1 (nr__1) ! (mas) Mean error in RA*cos(DEdeg) at mean epoch (6)
integer*4 e_DEdeg_1 (nr__1) ! (mas) Mean error in Dec at mean epoch (6)
real*4 e_pmRA_1 (nr__1) ! (mas/yr) Mean error in pmRA*cos(DEdeg)
real*4 e_pmDE_1 (nr__1) ! (mas/yr) Mean error in pmDec
real*4 Jmag_1 (nr__1) ! (mag) ?=- J magnitude from 2MASS (Cat. II/246)
real*4 e_Jmag_1 (nr__1) ! (mag) ?=- J total magnitude uncertainty
real*4 Hmag_1 (nr__1) ! (mag) ?=- H magnitude from 2MASS (Cat. II/246)
real*4 e_Hmag_1 (nr__1) ! (mag) ?=- H total magnitude uncertainty
real*4 Kmag_1 (nr__1) ! (mag) ?=- Ks magnitude from 2MASS (Cat. II/246)
real*4 e_Kmag_1 (nr__1) ! (mag) ?=- Ks total magnitude uncertainty
real*4 b1mag_1 (nr__1) ! (mag) ?=- B mag from USNO-B, first epoch (1)
real*4 b2mag_1 (nr__1) ! (mag) ?=- B mag from USNO-B, second epoch (1)
real*4 r1mag_1 (nr__1) ! (mag) ?=- R mag from USNO-B, first epoch (1)
real*4 r2mag_1 (nr__1) ! (mag) ?=- R mag from USNO-B, second epoch (1)
real*4 imag_1 (nr__1) ! (mag) ?=- I mag from USNO-B (1)
character*5 Smags_1 (nr__1) ! [0-8-] Surveys used for USNO-B magnitudes (2)
integer*4 No_1 (nr__1) ! ?=- Number of observations used (4)
integer*4 fl_1 (nr__1) ! Flags (3)
*Note (1): Magnitudes from USNO-B (Cat. I/284) should be used with care,
* photometric calibration may be severely off for some plates.
*
* For objects from PPMX (Cat I/312, bit#1 set in "fl"), these
* magnitudes have a special meaning:
* ------------------------------------------------------------
* Column [PPMX] Content
* ------------------------------------------------------------
* b1mag [Cmag] Catalogue magnitude from source
* b2mag [Bmag] Johnson B magnitude
* r1mag [Rmag] calculated Ru (UCAC) magnitude from source
* r2mag --- (always empty)
* imag [Vmag] Johnson V magnitude
* ------------------------------------------------------------
*Note (2): Flags indicating the origin of the 5 USNO-B magnitudes,
* (except when bit#1 set in "fl", see Note(1) above):
* ---------------------------------------------------
* # Survey Emuls Wavelen. Zones Fld Dates
* (nm) Obs.
* ---------------------------------------------------
* 0 = POSS-I 103a-O 350-500 -30..+90 936 1949-1965
* 1 = POSS-I 103a-E 620-670 -30..+90 936 1949-1965
* 2 = POSS-II IIIa-J 385-540 +00..+87 897 1985-2000
* 3 = POSS-II IIIa-F 610-690 +00..+87 897 1985-1999
* 4 = SERC-J IIIa-J 385-540 -90..-05 606 1978-1990
* 5 = ESO-R IIIa-F 630-690 -90..-05 624 1974-1994
* 6 = AAO-R IIIa-F 590-690 -90..-20 606 1985-1998
* 7 = POSS-II* IV-N 730-900 +05..+87 800 1981-2002
* 8 = SERC-I IV-N 715-900 -90..+00 892 1978-2002
* ---------------------------------------------------
* (*) Here #7 includes the SERC-I plates in the zones
* +05..+20 (numbered #9 in USNO-B1.0)
* ---------------------------------------------------
*Note (3): The flag is a bitwise or number ({Sigma}2^i^)
* which each bit number (i) has the meaning:
* #0 (1) = if set, one of the coordinates had an excessively large
* chi square.
* #1 (2) = Row is from PPMX (Cat. I/312). These objects are mostly
* Tycho stars that were masked out of USNO-B. When this
* bit is set, the USNO magnitudes (b1mag through imag)
* have special meanings, see Note (1) above.
* #2 (4) = Row is from PPMX (Cat. I/312) and replaces a single row
* from USNO-B. This is done when the astrometry from PPMX
* was better (in terms of error estimates) than the astrometry
* of the corresponding PPMXL object.
* #3 (8) = Row replaces multiple USNO-B1.0 objects. When PPMX contains
* an object that has more than one counterpart in PPMXL, all
* such counterparts are discarded on the assumption that they
* should have been matched in USNO-B1.0 or result from
* erroneous matches. For these rows, bit#1 is always 1.
*Note (4): No may be blank (null) for stars coming from ARIHIP or
* Tycho-2 via PPMX (i.e. bit#1 is set in "fl")
*Note (5): the identifier is a 64-bit integer representing the "pixel"
* number of the USNO-B 1.0 object in Q3C (QuadTreeCube, Koposov and
* Glushkova 2006IAUJD..13E..43K [ADASS 2005]).
*Note (6): the mean errors at epoch J2000 are the convolution of the mean
* error at the mean epoch and the error due to the propagation of the
* error on the proper motion, i.e.
* {sigma}(J2000) = sqrt[{sigma}_0_^2^ + ((2000-t_0_)*{sigma}(pm))^2^]
C=============================================================================
C Loading file 'sample.out' ! Example of formatted output
C Format for file interpretation
1 format(
+ A19,1X,F10.6,F10.6,1X,F8.1,1X,F8.1,1X,F7.2,1X,F7.2,1X,I3,1X,
+ I3,1X,F4.1,1X,F4.1,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,
+ F5.3,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,A5,1X,I2,1X,I2)
C Effective file loading
open(unit=1,file='sample.out', status='old')
write(6,*) '....Loading file: sample.out'
do i__=1,111
read(1,'(A173)')ar__
read(ar__,1)
+ PPMXL(i__),RAdeg(i__),DEdeg(i__),pmRA(i__),pmDE(i__),
+ epRA(i__),epDE(i__),e_RAdeg(i__),e_DEdeg(i__),e_pmRA(i__),
+ e_pmDE(i__),Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),
+ Kmag(i__),e_Kmag(i__),b1mag(i__),b2mag(i__),r1mag(i__),
+ r2mag(i__),imag(i__),Smags(i__),No(i__),fl(i__)
if (Jmag(i__) .EQ. 2.2233e-322) Jmag(i__) = rNULL__
if (e_Jmag(i__) .EQ. 2.2233e-322) e_Jmag(i__) = rNULL__
if (Hmag(i__) .EQ. 2.2233e-322) Hmag(i__) = rNULL__
if (e_Hmag(i__) .EQ. 2.2233e-322) e_Hmag(i__) = rNULL__
if (Kmag(i__) .EQ. 2.2233e-322) Kmag(i__) = rNULL__
if (e_Kmag(i__) .EQ. 2.2233e-322) e_Kmag(i__) = rNULL__
if (b1mag(i__) .EQ. 2.2233e-322) b1mag(i__) = rNULL__
if (b2mag(i__) .EQ. 2.2233e-322) b2mag(i__) = rNULL__
if (r1mag(i__) .EQ. 2.2233e-322) r1mag(i__) = rNULL__
if (r2mag(i__) .EQ. 2.2233e-322) r2mag(i__) = rNULL__
if (imag(i__) .EQ. 2.2233e-322) imag(i__) = rNULL__
if (No(i__) .EQ. 45) No(i__) = iNULL__
c ..............Just test output...........
write(6,1)
+ PPMXL(i__),RAdeg(i__),DEdeg(i__),pmRA(i__),pmDE(i__),
+ epRA(i__),epDE(i__),e_RAdeg(i__),e_DEdeg(i__),e_pmRA(i__),
+ e_pmDE(i__),Jmag(i__),e_Jmag(i__),Hmag(i__),e_Hmag(i__),
+ Kmag(i__),e_Kmag(i__),b1mag(i__),b2mag(i__),r1mag(i__),
+ r2mag(i__),imag(i__),Smags(i__),No(i__),fl(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'dat/*' ! *PPMXL catalog organized by declination zones of 15'
C Format for file interpretation
2 format(
+ A19,1X,F10.6,F10.6,1X,F8.1,1X,F8.1,1X,F7.2,1X,F7.2,1X,I3,1X,
+ I3,1X,F4.1,1X,F4.1,1X,F6.3,1X,F5.3,1X,F6.3,1X,F5.3,1X,F6.3,1X,
+ F5.3,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,F5.2,1X,A5,1X,I2,1X,I2)
C Effective file loading
open(unit=1,file='dat/*', status='old')
write(6,*) '....Loading file: dat/*'
do i__=1,720
read(1,'(A173)')ar__1
read(ar__1,2)
+ PPMXL_1(i__),RAdeg_1(i__),DEdeg_1(i__),pmRA_1(i__),
+ pmDE_1(i__),epRA_1(i__),epDE_1(i__),e_RAdeg_1(i__),
+ e_DEdeg_1(i__),e_pmRA_1(i__),e_pmDE_1(i__),Jmag_1(i__),
+ e_Jmag_1(i__),Hmag_1(i__),e_Hmag_1(i__),Kmag_1(i__),
+ e_Kmag_1(i__),b1mag_1(i__),b2mag_1(i__),r1mag_1(i__),
+ r2mag_1(i__),imag_1(i__),Smags_1(i__),No_1(i__),fl_1(i__)
if (Jmag_1(i__) .EQ. 2.2233e-322) Jmag_1(i__) = rNULL__
if (e_Jmag_1(i__) .EQ. 2.2233e-322) e_Jmag_1(i__) = rNULL__
if (Hmag_1(i__) .EQ. 2.2233e-322) Hmag_1(i__) = rNULL__
if (e_Hmag_1(i__) .EQ. 2.2233e-322) e_Hmag_1(i__) = rNULL__
if (Kmag_1(i__) .EQ. 2.2233e-322) Kmag_1(i__) = rNULL__
if (e_Kmag_1(i__) .EQ. 2.2233e-322) e_Kmag_1(i__) = rNULL__
if (b1mag_1(i__) .EQ. 2.2233e-322) b1mag_1(i__) = rNULL__
if (b2mag_1(i__) .EQ. 2.2233e-322) b2mag_1(i__) = rNULL__
if (r1mag_1(i__) .EQ. 2.2233e-322) r1mag_1(i__) = rNULL__
if (r2mag_1(i__) .EQ. 2.2233e-322) r2mag_1(i__) = rNULL__
if (imag_1(i__) .EQ. 2.2233e-322) imag_1(i__) = rNULL__
if (No_1(i__) .EQ. 45) No_1(i__) = iNULL__
c ..............Just test output...........
write(6,2)
+ PPMXL_1(i__),RAdeg_1(i__),DEdeg_1(i__),pmRA_1(i__),
+ pmDE_1(i__),epRA_1(i__),epDE_1(i__),e_RAdeg_1(i__),
+ e_DEdeg_1(i__),e_pmRA_1(i__),e_pmDE_1(i__),Jmag_1(i__),
+ e_Jmag_1(i__),Hmag_1(i__),e_Hmag_1(i__),Kmag_1(i__),
+ e_Kmag_1(i__),b1mag_1(i__),b2mag_1(i__),r1mag_1(i__),
+ r2mag_1(i__),imag_1(i__),Smags_1(i__),No_1(i__),fl_1(i__)
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end