Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/476/L17 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 2024-Apr-20 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/476/L17 86 and 43GHz observations of NRAO 150 (Agudo+, 2007) *================================================================================ *Superluminal non-ballistic jet swing in the quasar NRAO 150 revealed by mm-VLBI. * Agudo I., Bach U., Krichbaum T.P., Marscher A.P., Gonidakis I., * Diamond P.J., Perucho M., Alef W., Graham D.A., Witzel A., Zensus J.A., * Bremer M., Acosta-Pulido J.A., Barrena R. * <Astron. Astrophys., 476, L17-L20 (2007)> * =2007A&A...476L..17A C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! 86GHz and 43GHz image information integer*4 nr__ parameter (nr__=40) ! Number of records character*53 ar__ ! Full-size record character*6 Image (nr__) ! Image information (86GHz, 43GHz or 8.4GHz) real*8 Epoch (nr__) ! (yr) Epoch of observation integer*4 Tint (nr__) ! (min) Intergation time integer*4 Dnuobs (nr__) ! (MHz) Observing frequency bandwidth integer*4 Bits (nr__) ! Number of bits used for the signal * digitalisation sampling integer*4 FWHMb (nr__) ! (uarcsec) FWHM minor axes of the restoring beam integer*4 FWHMa (nr__) ! (uarcsec) FWHM major axes of the restoring beam real*4 PA (nr__) ! (deg) [-90/90] Orientation angle of the restoring beam real*4 Sint (nr__) ! (Jy) Integrated total flux density (86, 43 or 8.4GHz) real*4 Speak (nr__) ! (Jy) Peak flux density (in Jy/beam) real*4 Noise (nr__) ! (mJy) Noise level of the resulting images (in mJy/beam) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table2.dat' ! 86GHz, 43GHz and 8.4GHz circular-Gaussian model-fit parameters integer*4 nr__1 parameter (nr__1=140) ! Number of records character*69 ar__1 ! Full-size record character*6 Image_1 (nr__1) ! Image information (86GHz, 43GHz or 8.4GHz) real*8 Epoch_1 (nr__1) ! (yr) Epoch of observation character*4 Comp (nr__1) ! Model component character*2 l_S (nr__1) ! [<~ ] Limit flag on S (1) real*4 S (nr__1) ! (Jy) Flux density real*4 e_S (nr__1) ! (Jy) ? rms uncertainty on S real*4 r (nr__1) ! (mas) ?=- Projected distance to the core real*4 e_r (nr__1) ! (mas) ? rms uncertainty on r real*4 PA_1 (nr__1) ! (deg) [-170/170]?=- Position angle with respect * to the core real*4 e_PA (nr__1) ! (deg) ? rms uncertainty on PA character*1 l_FWHM (nr__1) ! Limit flag on FWHM (1) real*4 FWHM (nr__1) ! (mas) ?=- FWHM size real*4 e_FWHM (nr__1) ! (mas) ? rms uncertainty on FWHM *Note (1): Upper limits on the FWHM size and S correspond to fits of * unresolved jet regions. For such fits, the upper limit of the sizes * were imposed in Difmap to estimate the corresponding flux density * upper limits. The latter are close approximations to the actual flux * densities of the unresolved regions. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table3.dat' ! Proper motion results (for Q1, Q2 and Q3) integer*4 nr__2 parameter (nr__2=3) ! Number of records character*80 ar__2 ! Full-size record character*2 Comp_1 (nr__2) ! Model component (Q1, Q2 and Q3) integer*4 N (nr__2) ! Number of data points for the fit of the * trajectory real*4 v_PA_ (nr__2) ! (deg) Mean position angle real*4 e__PA_ (nr__2) ! (deg) rms uncertainty on <PA> real*4 v_PA_dt_ (nr__2) ! (deg/yr) Mean angular speed real*4 e__PA_dt_ (nr__2) ! (deg/yr) rms uncertainty on <PA/dt> real*4 v_pm_ (nr__2) ! (mas/yr) Mean proper motion real*4 e__pm_ (nr__2) ! (mas/yr) rms uncertainty on <pm> real*4 b_pm_ (nr__2) ! (c) Superluminal apparent speed for <pm> real*4 e_b_pm_ (nr__2) ! (c) rms uncertainty on b<pm> real*4 v_pmrad_ (nr__2) ! (mas/yr) Mean radial component of proper motion real*4 e__pmrad_ (nr__2) ! (mas/yr) rms uncertainty on <pmrad> real*4 v_pmnor_ (nr__2) ! (mas/yr) Mean normal component of proper motion real*4 e__pmnor_ (nr__2) ! (mas/yr) rms uncertainty on <pmnor> real*4 b_pmnor_ (nr__2) ! (c) Superluminal apparent speed for <pmnor> real*4 e_b_pmnor_ (nr__2) ! (c) rms uncertainty on b<pmnor> C============================================================================= C Loading file 'table1.dat' ! 86GHz and 43GHz image information C Format for file interpretation 1 format( + A6,1X,F7.2,1X,I3,1X,I3,1X,I1,1X,I4,1X,I3,1X,F5.1,1X,F4.2,1X, + F4.2,1X,F3.1) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,40 read(1,'(A53)')ar__ read(ar__,1) + Image(i__),Epoch(i__),Tint(i__),Dnuobs(i__),Bits(i__), + FWHMb(i__),FWHMa(i__),PA(i__),Sint(i__),Speak(i__),Noise(i__) c ..............Just test output........... write(6,1) + Image(i__),Epoch(i__),Tint(i__),Dnuobs(i__),Bits(i__), + FWHMb(i__),FWHMa(i__),PA(i__),Sint(i__),Speak(i__),Noise(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table2.dat' ! 86GHz, 43GHz and 8.4GHz circular-Gaussian * model-fit parameters C Format for file interpretation 2 format( + A6,1X,F7.2,1X,A4,1X,A2,F5.3,1X,F5.3,1X,F5.2,1X,F4.2,1X,F6.1, + 1X,F4.1,1X,A1,F5.3,1X,F5.3) C Effective file loading open(unit=1,status='old',file= +'table2.dat') write(6,*) '....Loading file: table2.dat' do i__=1,140 read(1,'(A69)')ar__1 read(ar__1,2) + Image_1(i__),Epoch_1(i__),Comp(i__),l_S(i__),S(i__),e_S(i__), + r(i__),e_r(i__),PA_1(i__),e_PA(i__),l_FWHM(i__),FWHM(i__), + e_FWHM(i__) if(ar__1(29:33) .EQ. '') e_S(i__) = rNULL__ if (idig(ar__1(35:39)).EQ.0) r(i__) = rNULL__ if(ar__1(41:44) .EQ. '') e_r(i__) = rNULL__ if (idig(ar__1(46:51)).EQ.0) PA_1(i__) = rNULL__ if(ar__1(53:56) .EQ. '') e_PA(i__) = rNULL__ if (idig(ar__1(59:63)).EQ.0) FWHM(i__) = rNULL__ if(ar__1(65:69) .EQ. '') e_FWHM(i__) = rNULL__ c ..............Just test output........... write(6,2) + Image_1(i__),Epoch_1(i__),Comp(i__),l_S(i__),S(i__),e_S(i__), + r(i__),e_r(i__),PA_1(i__),e_PA(i__),l_FWHM(i__),FWHM(i__), + e_FWHM(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'table3.dat' ! Proper motion results (for Q1, Q2 and Q3) C Format for file interpretation 3 format( + A2,1X,I2,1X,F5.1,1X,F3.1,1X,F4.1,1X,F3.1,1X,F5.3,1X,F5.3,1X, + F4.2,1X,F4.2,1X,F5.3,1X,F5.3,1X,F5.3,1X,F5.3,1X,F4.2,1X,F4.2) C Effective file loading open(unit=1,status='old',file= +'table3.dat') write(6,*) '....Loading file: table3.dat' do i__=1,3 read(1,'(A80)')ar__2 read(ar__2,3) + Comp_1(i__),N(i__),v_PA_(i__),e__PA_(i__),v_PA_dt_(i__), + e__PA_dt_(i__),v_pm_(i__),e__pm_(i__),b_pm_(i__),e_b_pm_(i__), + v_pmrad_(i__),e__pmrad_(i__),v_pmnor_(i__),e__pmnor_(i__), + b_pmnor_(i__),e_b_pmnor_(i__) c ..............Just test output........... write(6,3) + Comp_1(i__),N(i__),v_PA_(i__),e__PA_(i__),v_PA_dt_(i__), + e__PA_dt_(i__),v_pm_(i__),e__pm_(i__),b_pm_(i__),e_b_pm_(i__), + v_pmrad_(i__),e__pmrad_(i__),v_pmnor_(i__),e__pmnor_(i__), + b_pmnor_(i__),e_b_pmnor_(i__) 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