Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/479/155 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 2024-Mar-19 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. J/A+A/479/155 Proper motions of Galactic Planetary Nebulae (Kerber+, 2008) *================================================================================ *Galactic Planetary Nebulae and their Central Stars. *II. Proper Motions. * Kerber F., Mignani R.M., Smart R.L., Wicenec A. * <Astron. Astrophys. 479, 155 (2008)> * =2008A&A...479..155K C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table3.dat' ! Master proper motion catalogue of Planetary Nebulae integer*4 nr__ parameter (nr__=274) ! Number of records character*140 ar__ ! Full-size record character*10 PNG ! PN G Number character*9 Name ! Common name character*2 Class ! Classification according to Paper 1, * Kerber et al., Cat. J/A+A/408/1029 (2) real*4 pmRA1 ! (mas/yr) ?=- Proper Motion value in right ascension * from Hipparcos (Cat. I/239) real*4 e_pmRA1 ! (mas/yr) ?=- rms uncertainty on pmRAH (1 sigma) real*4 pmDE1 ! (mas/yr) ?=- Proper Motion value in declination * from Hipparcos (Cat. I/239) real*4 e_pmDE1 ! (mas/yr) ?=- rms uncertainty on pmDEH (1 sigma) real*4 pmRA2 ! (mas/yr) ?=- Proper Motion value in right ascension * from Tycho-2 (Cat. I/259) real*4 e_pmRA2 ! (mas/yr) ?=- rms uncertainty on pmRAT (1 sigma) real*4 pmDE2 ! (mas/yr) ?=- Proper Motion value in declination * from Tycho-2 (Cat. I/259) real*4 e_pmDE2 ! (mas/yr) ?=- rms uncertainty on pmDET (1 sigma) real*4 pmRA3 ! (mas/yr) ?=- Proper Motion value in right ascension * from UCAC-2 (Cat. I/289) real*4 e_pmRA3 ! (mas/yr) ?=- rms uncertainty on pmRAU (1 sigma) real*4 pmDE3 ! (mas/yr) ?=- Proper Motion value in declination * from UCAC-2 (Cat. I/289) real*4 e_pmDE3 ! (mas/yr) ?=- rms uncertainty on pmDEU (1 sigma) real*4 pmRA4 ! (mas/yr) ?=- Proper Motion value in right ascension * from USNO-B (Cat. I/284) real*4 e_pmRA4 ! (mas/yr) ?=- rms uncertainty on pmRAB (1 sigma) real*4 pmDE4 ! (mas/yr) ?=- Proper Motion value in declination * from USNO-B (Cat. I/284) real*4 e_pmDE4 ! (mas/yr) ?=- rms uncertainty on pmDEB (1 sigma) real*4 pmRA5 ! (mas/yr) ?=- Proper Motion value in right ascension * from GSC-II (Cat. I/305) real*4 e_pmRA5 ! (mas/yr) ?=- rms uncertainty on RAG (1 sigma) real*4 pmDE5 ! (mas/yr) ?=- Proper Motion value in declination * from GSC-II (Cat. I/305) real*4 e_pmDE5 ! (mas/yr) ?=- rms uncertainty on pmDEG (1 sigma) character*1 Type ! [ABCD] Significance of proper motion (1) *Note (1): Types as follows: * A = proper-motion at >=5{sigma} in at least one component, confirmed * by at least one other independant catalogue (>=3{sigma) * B = proper-motion at 3<={sigma}<=5 in at least one component, * confirmed by at least one other independant catalogue * C = proper-motion at >=3{sigma} in at least one component, in one * catalogue only * D = proper-motion at >=3{sigma} in at least one component, but * discrepancies with other catalogues or a large error bar * (>=30mas) make the significance questionable *Note (2): Classes defined as follows (from J/A+A/408/1029): * CS = A central star is known or recognizable, clearly separated * from the nebula. * ST = The nebular itself is stellar like or unresolved * PH = The nebula is either resolved or extended with a well defined * photometric center. * GEO = The nebula is extended either ring-like or symmetric in general, * or with a more complex morphology and no well defined * photometric center. C============================================================================= C Loading file 'table3.dat' ! Master proper motion catalogue of Planetary Nebulae C Format for file interpretation 1 format( + A10,1X,A9,1X,A2,1X,F5.1,1X,F4.1,1X,F5.1,1X,F4.1,1X,F5.1,1X, + F3.1,1X,F5.1,1X,F3.1,1X,F5.1,1X,F4.1,1X,F5.1,1X,F4.1,1X,F6.1, + 1X,F5.1,1X,F5.1,1X,F5.1,1X,F6.1,1X,F5.1,1X,F6.1,1X,F5.1,1X,A1) C Effective file loading open(unit=1,status='old',file= +'table3.dat') write(6,*) '....Loading file: table3.dat' do i__=1,274 read(1,'(A140)')ar__ read(ar__,1) + PNG,Name,Class,pmRA1,e_pmRA1,pmDE1,e_pmDE1,pmRA2,e_pmRA2, + pmDE2,e_pmDE2,pmRA3,e_pmRA3,pmDE3,e_pmDE3,pmRA4,e_pmRA4,pmDE4, + e_pmDE4,pmRA5,e_pmRA5,pmDE5,e_pmDE5,Type if (idig(ar__(25:29)).EQ.0) pmRA1 = rNULL__ if (idig(ar__(31:34)).EQ.0) e_pmRA1 = rNULL__ if (idig(ar__(36:40)).EQ.0) pmDE1 = rNULL__ if (idig(ar__(42:45)).EQ.0) e_pmDE1 = rNULL__ if (idig(ar__(47:51)).EQ.0) pmRA2 = rNULL__ if (idig(ar__(53:55)).EQ.0) e_pmRA2 = rNULL__ if (idig(ar__(57:61)).EQ.0) pmDE2 = rNULL__ if (idig(ar__(63:65)).EQ.0) e_pmDE2 = rNULL__ if (idig(ar__(67:71)).EQ.0) pmRA3 = rNULL__ if (idig(ar__(73:76)).EQ.0) e_pmRA3 = rNULL__ if (idig(ar__(78:82)).EQ.0) pmDE3 = rNULL__ if (idig(ar__(84:87)).EQ.0) e_pmDE3 = rNULL__ if (idig(ar__(89:94)).EQ.0) pmRA4 = rNULL__ if (idig(ar__(96:100)).EQ.0) e_pmRA4 = rNULL__ if (idig(ar__(102:106)).EQ.0) pmDE4 = rNULL__ if (idig(ar__(108:112)).EQ.0) e_pmDE4 = rNULL__ if (idig(ar__(114:119)).EQ.0) pmRA5 = rNULL__ if (idig(ar__(121:125)).EQ.0) e_pmRA5 = rNULL__ if (idig(ar__(127:132)).EQ.0) pmDE5 = rNULL__ if (idig(ar__(134:138)).EQ.0) e_pmDE5 = rNULL__ c ..............Just test output........... write(6,1) + PNG,Name,Class,pmRA1,e_pmRA1,pmDE1,e_pmDE1,pmRA2,e_pmRA2, + pmDE2,e_pmDE2,pmRA3,e_pmRA3,pmDE3,e_pmDE3,pmRA4,e_pmRA4,pmDE4, + e_pmDE4,pmRA5,e_pmRA5,pmDE5,e_pmDE5,Type c .......End.of.Just test output........... end do close(1) C============================================================================= stop end C Locate position of first digit in string; or return 0 integer function idig(c) character*(*) c character*1 c1 integer lc,i lc=len(c) idig=0 do i=1,lc if(c(i:i).ne.' ') go to 1 end do 1 if(i.gt.lc) return c1=c(i:i) if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1 if(i.gt.lc) return c1=c(i:i) if(c1.ge.'0'.and.c1.le.'9') idig=i return end