FORTRAN Generation
(/./ftp/cats/J/MNRAS/458/3341)

Conversion of standardized ReadMe file for file /./ftp/cats/J/MNRAS/458/3341 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.



++++Column 'RAh' at line 117: Right ascension (J2000) (2)
    position has no associated Epoch (last analysed word: 'MJD=55000.')
      program load_ReadMe
C=============================================================================
C  F77-compliant program generated by readme2f_1.81 (2015-09-23), on 2024-Mar-28
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/MNRAS/458/3341 42 millisecond pulsars high-precision timing (Desvignes+, 2016)
*================================================================================
*High-precision timing of 42 millisecond pulsars with the
*European Pulsar Timing Array.
*    Desvignes G., Caballero R.N., Lentati L., Verbiest J.P.W., Champion D.J.,
*    Stappers B.W., Janssen G.H., Lazarus P., Oslowski S., Babak S., Bassa C.G.,
*    Brem P., Burgay M., Cognard I., Gair J.R., Graikou E., Guillemot L.,
*    Hessels J.W.T., Jessner A., Jordan C., Karuppusamy R., Kramer M.,
*    Lassus A., Lazaridis K., Lee K.J., Liu K., Lyne A.G., Mckee J.,
*    Mingarelli C.M.F., Perrodin D., Petiteau A., Possenti A., Purver M.B.,
*    Rosado P.A., Sanidas S., Sesana A., Shaifullah G., Smits R., Taylor S.R.,
*    Theureau G., Tiburzi C., Van Haasteren R., Vecchio A.
*   <Mon. Not. R. Astron. Soc., 458, 3341-3380 (2016)>
*   =2016MNRAS.458.3341D    (SIMBAD/NED BibCode)
C=============================================================================

C  Internal variables

      integer*4 i__

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table1.dat'	! Summary of the 42-pulsar data set

      integer*4 nr__
      parameter (nr__=42)	! Number of records
      character*89 ar__   	! Full-size record

      character*10  PSR         ! PSR name (JHHMM+DDMM)
      character*1   n_PSR       ! [+] Note on PSR (1)
      character*19  Obs         ! Observatories that contributed to the data set
      integer*4     NTOAs       ! Number of TOAs
      real*4        Tspan       ! (yr) Time span of the data set
      real*4        e_TOA       ! (us) Median TOA uncertainty taking into account the
*                                   white noise parameters 'EFAC' and 'EQUAD'
      real*4        rms         ! (us) rms timing residual (2)
      real*4        PSpin       ! (ms) Spin period
      real*4        POrb        ! (d) ?=- Orbital period
      real*4        S1400       ! (mJy) Median flux density of the pulsar at
*                                   1400MHz (3)
      character*18  Ref         ! References  for the last published timing
*                                   solution, in refs.dat file
*Note (1): + indicates pulsars that are also named following the B1950
* coordinate system, with the names B1855+09, B1937+21 and B1953+29,
* respectively.
*Note (2): The quoted rms values are obtained from keeping the noise parameters,
*  DM and red noise models at the maximum likelihood value while subtracting the
*  DM signal from the residuals. Because of the degeneracy between the DM and
*  red noise models, especially where no multifrequency data are available, the
*  resulting rms quoted here can be biased towards smaller values (when the
*  removed DM signal absorbed part of the red noise signal).
*Note (3): see Section 2.3 for more details about the flux measurements.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'tab2-12.dat'	! Timing model parameters

      integer*4 nr__1
      parameter (nr__1=42)	! Number of records
      character*517 ar__1  	! 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  PSR_1       ! PSR name (JHHMM+DDMM)
      integer*4     MJD1        ! (d) MJD range
      integer*4     MJD2        ! (d) MJD range
      integer*4     NTOAs_1     ! Number of TOAs
      real*4        rms_1       ! (us) rms timing residual
      integer*4     EpochR      ! (d) [55000] Reference epoch (MJD)
      integer*4     RAh         ! (h) Right ascension (J2000) (2)
      integer*4     RAm         ! (min) Right ascension (J2000) (2)
      real*8        RAs         ! (s) Right ascension (J2000) (2)
      real*8        e_RAs       ! (s) rms uncertainty on Right ascension (1)
      character*1   DE_         ! Declination sign (J2000) (2)
      integer*4     DEd         ! (deg) Declination (J2000) (2)
      integer*4     DEm         ! (arcmin) Declination (J2000) (2)
      real*8        DEs         ! (arcsec) Declination (J2000) (2)
      real*8        e_DEs       ! (arcsec) rms uncertainty on Declination (1)
      real*8        pmRA        ! (mas/yr) Proper motion in RA
      real*4        e_pmRA      ! (mas/yr) rms uncertainty on pmRA (1)
      real*8        pmDE        ! (mas/yr) Proper motion in DE
      real*4        e_pmDE      ! (mas/yr) rms uncertainty on pmDE (1)
      real*8        Per         ! (ms) Period
      real*4        e_Per       ! (ms) rms uncertainty on Per (1)
      real*8        dP_dt       ! (10-2) Period derivative, dP/dt
      real*8        e_dP_dt     ! (10-2) rms uncertainty on dP/dt (1)
      real*4        plx         ! (mas) ?=- Parallax
      real*4        e_plx       ! (mas) ?=- rms uncertainty on Parallax (1)
      real*8        DM          ! (pc/cm3) Dispersion measure (2)
      real*4        e_DM        ! (pc/cm3) rms uncertainty on DM (1)
      real*8        DM1         ! (pc/cm3/yr) First dispersion measure derivative
      real*4        e_DM1       ! (pc/cm3/yr) rms uncertainty on DM1 (1)
      real*8        DM2         ! (pc/cm3/yr2) Second dispersion measure derivative
      real*8        e_DM2       ! (pc/cm3/yr2) rms uncertainty on DM2 (1)
      real*8        Pb          ! (d) ? Orbital period
      real*4        e_Pb        ! (d) ? rms uncertainty on Orbital period (1)
      real*8        T0          ! (d) ? Epoch of periastron, T0 (MJD)
      real*4        e_T0        ! (d) ? rms uncertainty on T0 (1)
      real*8        x           ! ? Projected semimajor axis, x, of
*                                        the pulsar orbit (in lt-s unit)
      real*8        e_x         ! ? rms uncertainty on projected semimajor
*                                        axis (in lt-s unit)
      real*8        Omega0      ! (deg) ? Longitude of periastron
      real*8        e_Omega0    ! (deg) ? rms uncertainty on Omega0 (1)
      real*4        e           ! ? Orbital eccentricity, e
      real*4        e_e         ! ? rms uncertainty on e (1)
      real*4        kappa       ! ? kappa = e x sin(Omega0) parameter
      real*4        e_kappa     ! ? rms uncertainty on kappa (1)
      real*4        eta         ! ? eta = e x cos(Omega0) parameter
      real*4        E_eta       ! ? Error on eta, upper value (1)
      real*4        e_eta_1     ! ? rms uncertainty on eta or
*                                        error lower value (1)
      real*8        Tan         ! (d) ? Time of ascending node (MJD)
      real*4        e_Tan       ! (d) ? rms uncertainty on Tan (1)
      real*4        GLON        ! (deg) Galactic longitude (3)
      real*4        GLAT        ! (deg) Galactic latitude (3)
      integer*4     d           ! (pc) ? Parallax distance corrected from the
*                                        LK bias (3)
      integer*4     E_d         ! (pc) ? Error on d (upper value)
      integer*4     e_d_1       ! (pc) ? Error on d (lower value)
      real*4        CPM         ! (mas/yr) Composite proper motion, {mu} (3)
      real*4        e_CPM       ! (mas/yr) rms uncertainty on CPM (1)
      real*8        dP_dtSHK    ! (10-20) SHK contribution to period derivative
      real*8        e_dP_dtSHK  ! (10-20) ? rms uncertainty on dP/dtSHK (1)
      real*8        dP_dtKZ     ! (10-20) KZ contribution to period derivative
      real*8        e_dP_dtKZ   ! (10-20) ? rms uncertainty on dP/dtKZ (1)
      real*8        dP_dtDGR    ! (10-20) DRG contribution to period derivative
      real*4        e_dP_dtDGR  ! (10-20) ? rms uncertainty on dP/dtDGR (1)
      real*8        dP_dtInt    ! (10-10) Intrinsic period derivative
      real*4        e_dP_dtInt  ! (10-10) ? rms uncertainty on dP/dtInt (1)
      character*1   l_Age       ! Limit flag on Age
      real*4        Age         ! (Gyr) ? Characteristic age, {tau}c (Gyr)
      character*1   l_B         ! Limit flag on B
      real*4        B           ! (10+8gauss) ? Surface magnetic field
      real*4        M2min       ! (Msun) ? Minimum companion mass (4)
*Note (1): 68.3 per cent confidence uncertainties and come from the
*  one-dimensional marginalized posterior distribution of each parameter.
*Note (2): The position, spin period and DM are given for the reference epoch
*   of MJD=55000.
*Note (3): The derived parameters show the Galactic longitude (l) and latitude
*  (b), the parallax distance corrected from the LK bias (d), the composite
*  proper motion (mu).
*Note (4): For binary pulsars, the minimum companion mass, assuming a
*  pulsar mass of 1.2 M_{sun}_.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table13.dat'	! Summary of pulsar parallaxes and distance
                                 estimates

      integer*4 nr__2
      parameter (nr__2=42)	! Number of records
      character*95 ar__2  	! Full-size record

      character*10  PSR_2       ! Pulsar name (JHHMM+DDMM)
      real*4        DM_1        ! (pc/cm3) Dispersion measure
      real*4        Dist1       ! (kpc) Distance based on the NE2001 electron density
*                                   model DNE2001 (Cordes & Lazio,
*                                   2002astro.ph..7156C)
      real*4        DistM2      ! (kpc) Distance based on the M2 model
      character*1   l_DistM3    ! Limit flag on DistM3
      real*4        DistM3      ! (kpc) Distance based on the M3 model
      character*1   l_Dist      ! Limit flag on Dist
      real*4        Dist        ! (kpc) ?=- Upper limit on the distance DdP/dt
*                                   (only indicated when this limit is <15kpc;
*                                   see text)
      real*4        plxP        ! (mas) ?=- Previously published parallax value
*                                   (reference in table 1)
      real*4        e_plxP      ! (mas) ? rms uncertainty on plxP
      real*4        plx_1       ! (mas) ?=- our new measurement of the parallax
      real*4        e_plx_1     ! (mas) ? rms uncertainty on plx
      character*1   n_plx       ! [*] Note on plx (1)
      real*4        plxCorr     ! (mas) ?=- LK-bias-corrected parallax
      real*4        E_plxCorr   ! (mas) ? Error on plxCorr (upper value)
      real*4        e_plxCorr_1 ! (mas) ? Error on plxCorr (loper value)
      character*1   n_plxCorr   ! [*] Note on plxCorr (1)
      real*4        DistPlx     ! (kpc) ?=- Distance corresponding to plx and plxCorr
      real*4        E_DistPlx   ! (kpc) ? Error on DistPlx (upper value)
      real*4        e_DistPlx_1 ! (kpc) ? Error on DistPlx (lower value)
      character*1   n_DistPlx   ! [*] Note on DistPlx (1)
      character*1   Note        ! [a] Note (2)
*Note (1): * : updated or new parallax measurements as part of this work.
*Note (2): a: For PSR J0218+4232, the parallax was obtained through VLBI
*  observations (Du et al. 2014ApJ...782L..38D) but the inferred large distance
*  was later corrected by Verbiest & Lorimer (2014MNRAS.444.1859V) for the
*  LK bias.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table14.dat'	! Summary of the transverse motion of the
                                 isolated MSPs

      integer*4 nr__3
      parameter (nr__3=19)	! Number of records
      character*58 ar__3  	! Full-size record

      character*10  PSR_3       ! Pulsar name (JHHMM+DDMM)
      real*8        CPM_1       ! (mas/yr) Composite proper motion
      real*8        e_CPM_1     ! (mas/yr) rms uncertainty on CPM
      character*1   n_CPM       ! [n] n for new proper-motion measurement
      real*4        Dist_1      ! (pc) Best distance estimates available (1)
      real*4        e_Dist      ! (pc) ? rms uncertainty on Dist
      character*1   n_Dist      ! [*] * for NE2001 distance
      real*4        vt          ! (km/s) Transverse velocity corresponding to distance
*                                   Dist (2D velocity)
      real*4        e_vt        ! (km/s) rms uncertainty on vt
      character*2   Ref_1       ! Reference with published proper motion and
*                                   distance measurements, in refs.dat file
*Note (1): The distances refer to the best distance estimates available, either
*  the parallax when uncertainties are given or the NE2001 distance
*  (indicated by *) where a 80 per cent error is assumed.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table15.dat'	! Summary of the transverse motion of the
                                 binary MSPs

      integer*4 nr__4
      parameter (nr__4=57)	! Number of records
      character*58 ar__4  	! Full-size record

      character*10  PSR_4       ! Pulsar name (JHHMM+DDMM)
      real*8        CPM_2       ! (mas/yr) Composite proper motion
      real*8        e_CPM_2     ! (mas/yr) rms uncertainty on CPM
      character*1   n_CPM_1     ! [n] n for new proper-motion measurement
      real*4        Dist_2      ! (pc) Best distance estimates available (1)
      real*4        e_Dist_1    ! (pc) ? rms uncertainty on Dist
      character*1   n_Dist_1    ! [*] * for NE2001 distance
      real*4        vt_1        ! (km/s) Transverse velocity corresponding to distance
*                                   Dist (2D velocity)
      real*4        e_vt_1      ! (km/s) rms uncertainty on vt
      character*2   Ref_2       ! Reference with published proper motion and
*                                   distance measurements, in refs.dat file
*Note (1): The distances refer to the best distance estimates available, either
*  the parallax when uncertainties are given or the NE2001 distance
*  (indicated by *) where a 80 per cent error is assumed.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'table17.dat'	! Table of pulsar and companion masses

      integer*4 nr__5
      parameter (nr__5=7)	! Number of records
      character*74 ar__5  	! Full-size record

      character*10  PSR_5       ! PSR name (JHHMM+DDMM)
      real*4        MpPrev      ! (Msun) ? Previous pulsar mass
      real*4        e_MpPrev    ! (Msun) ? rms uncertainty on previous pulsar mass
      character*1   n_MpPrev    ! [+] Note on MpPrev (1)
      real*4        McPrev      ! (Msun) ? Previous companion mass
      real*4        e_McPrev    ! (Msun) ? rms uncertainty on previous companion mass
      character*1   n_McPrev    ! [*] Note on McPrev (1)
      character*2   Ref_3       ! Reference for previous masses, in refs.dat file
      real*4        Mp          ! (Msun) New pulsar mass
      real*4        E_Mp        ! (Msun) Error on Mp (upper value)
      real*4        e_Mp_1      ! (Msun) Error on Mp (lower value)
      real*4        Mc          ! (Msun) New companion mass
      real*4        E_Mc        ! (Msun) Error on Mc (upper value)
      real*4        e_Mc_1      ! (Msun) Error on Mc (lower value)
*Note (1): Note as follows:
*  + = the pulsar masses were not reported by Verbiest et al.
*       (2009MNRAS.400..951V) so we quote the pulsar mass value based on the
*       mass function and their companion mass.
*  * = Nice et al. (2008, AIP Conf. Proc. Vol. 983, 453) did not report on the
*       companion mass in their proceedings.

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'tablea1.dat'	! Summary of the EPTA data set

      integer*4 nr__6
      parameter (nr__6=257)	! Number of records
      character*79 ar__6  	! Full-size record

      character*10  PSR_6       ! PSR name (JHHMM+DDMM)
      integer*4     Nj          ! Nmber of JUMPs included in the timing solution
      real*4        ARN         ! Maximum likelihood results for the red noise
*                                 model, dimensionless amplitude A
      real*4        gammaRN     ! Maximum likelihood results for the red noise
*                                 model, spectral index gamma
      real*4        ADM         ! Maximum likelihood results for the DM model,
*                                 dimensionless amplitude A
      real*4        gammaDM     ! Maximum likelihood results for the DM model,
*                                 spectral index gamma
      character*4   Obs_1       ! Observatory
      real*4        Freq        ! (MHz) Frequency band
      real*4        Year1       ! (yr) Year range
      real*4        Year2       ! (yr) Year range
      integer*4     NTOAs_2     ! Number of TOAs
      real*4        Ef          ! Maximum likelihood values for the EFAC parameter
      real*4        Eq          ! ([s]) Maximum likelihood values for the EQUAD
*                                 parameter, in log10-base

c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

C  Declarations for 'refs.dat'	! References

      integer*4 nr__7
      parameter (nr__7=55)	! Number of records
      character*107 ar__7  	! Full-size record

      character*3   Ref_4       ! Reference code
      character*19  BibCode     ! BibCode
      character*30  Aut         ! Author's name
      character*52  Com         ! Comments

C=============================================================================

C  Loading file 'table1.dat'	! Summary of the 42-pulsar data set

C  Format for file interpretation

    1 format(
     +  A10,A1,1X,A19,1X,I4,1X,F4.1,1X,F5.2,1X,F5.2,1X,F4.1,1X,F6.2,
     +  1X,F4.2,1X,A18)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table1.dat')
      write(6,*) '....Loading file: table1.dat'
      do i__=1,42
        read(1,'(A89)')ar__
        read(ar__,1)
     +  PSR,n_PSR,Obs,NTOAs,Tspan,e_TOA,rms,PSpin,POrb,S1400,Ref
        if (idig(ar__(60:65)).EQ.0) POrb =  rNULL__
c    ..............Just test output...........
        write(6,1)
     +  PSR,n_PSR,Obs,NTOAs,Tspan,e_TOA,rms,PSpin,POrb,S1400,Ref
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'tab2-12.dat'	! Timing model parameters

C  Format for file interpretation

    2 format(
     +  A10,1X,I5,1X,I5,1X,I4,1X,F5.2,1X,I5,1X,I2,1X,I2,1X,F10.7,1X,
     +  F8.7,1X,A1,I2,1X,I2,1X,F9.6,2X,F7.6,1X,F7.3,1X,F5.3,1X,F7.3,
     +  1X,F6.3,1X,F18.15,1X,E8.4,1X,F9.6,1X,F7.6,1X,F4.2,1X,F3.2,2X,
     +  F8.4,1X,F5.4,1X,F8.5,1X,F6.5,1X,F9.6,1X,F7.6,1X,F16.12,1X,
     +  E11.4,1X,F11.5,1X,F6.5,1X,F11.8,1X,F9.8,1X,F8.4,1X,F7.4,1X,
     +  E10.6,1X,E5.2,1X,E9.4,1X,E8.4,1X,E10.5,F4.1,2X,E6.3,1X,F15.9,
     +  1X,E7.4,1X,F5.1,1X,F5.1,1X,I4,1X,I4,1X,I3,1X,F6.3,1X,F6.3,1X,
     +  F7.5,1X,F7.5,1X,F10.7,1X,F8.7,1X,F8.5,1X,F5.4,1X,F7.4,F5.3,1X,
     +  A1,F5.2,1X,A1,F4.1,1X,F4.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tab2-12.dat')
      write(6,*) '....Loading file: tab2-12.dat'
      do i__=1,42
        read(1,'(A517)')ar__1
        read(ar__1,2)
     +  PSR_1,MJD1,MJD2,NTOAs_1,rms_1,EpochR,RAh,RAm,RAs,e_RAs,DE_,
     +  DEd,DEm,DEs,e_DEs,pmRA,e_pmRA,pmDE,e_pmDE,Per,e_Per,dP_dt,
     +  e_dP_dt,plx,e_plx,DM,e_DM,DM1,e_DM1,DM2,e_DM2,Pb,e_Pb,T0,e_T0,
     +  x,e_x,Omega0,e_Omega0,e,e_e,kappa,e_kappa,eta,E_eta,e_eta_1,
     +  Tan,e_Tan,GLON,GLAT,d,E_d,e_d_1,CPM,e_CPM,dP_dtSHK,e_dP_dtSHK,
     +  dP_dtKZ,e_dP_dtKZ,dP_dtDGR,e_dP_dtDGR,dP_dtInt,e_dP_dtInt,
     +  l_Age,Age,l_B,B,M2min
        if (idig(ar__1(168:171)).EQ.0) plx =  rNULL__
        if (idig(ar__1(173:175)).EQ.0) e_plx =  rNULL__
        if(ar__1(227:242) .EQ. '') Pb = rNULL__
        if(ar__1(244:254) .EQ. '') e_Pb = rNULL__
        if(ar__1(256:266) .EQ. '') T0 = rNULL__
        if(ar__1(268:273) .EQ. '') e_T0 = rNULL__
        if(ar__1(275:285) .EQ. '') x = rNULL__
        if(ar__1(287:295) .EQ. '') e_x = rNULL__
        if(ar__1(297:304) .EQ. '') Omega0 = rNULL__
        if(ar__1(306:312) .EQ. '') e_Omega0 = rNULL__
        if(ar__1(314:323) .EQ. '') e = rNULL__
        if(ar__1(325:329) .EQ. '') e_e = rNULL__
        if(ar__1(331:339) .EQ. '') kappa = rNULL__
        if(ar__1(341:348) .EQ. '') e_kappa = rNULL__
        if(ar__1(350:359) .EQ. '') eta = rNULL__
        if(ar__1(360:363) .EQ. '') E_eta = rNULL__
        if(ar__1(366:371) .EQ. '') e_eta_1 = rNULL__
        if(ar__1(373:387) .EQ. '') Tan = rNULL__
        if(ar__1(389:395) .EQ. '') e_Tan = rNULL__
        if(ar__1(409:412) .EQ. '') d = iNULL__
        if(ar__1(414:417) .EQ. '') E_d = iNULL__
        if(ar__1(419:421) .EQ. '') e_d_1 = iNULL__
        if(ar__1(445:451) .EQ. '') e_dP_dtSHK = rNULL__
        if(ar__1(464:471) .EQ. '') e_dP_dtKZ = rNULL__
        if(ar__1(482:486) .EQ. '') e_dP_dtDGR = rNULL__
        if(ar__1(495:499) .EQ. '') e_dP_dtInt = rNULL__
        if(ar__1(502:506) .EQ. '') Age = rNULL__
        if(ar__1(509:512) .EQ. '') B = rNULL__
        if(ar__1(514:517) .EQ. '') M2min = 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,2)
     +  PSR_1,MJD1,MJD2,NTOAs_1,rms_1,EpochR,RAh,RAm,RAs,e_RAs,DE_,
     +  DEd,DEm,DEs,e_DEs,pmRA,e_pmRA,pmDE,e_pmDE,Per,e_Per,dP_dt,
     +  e_dP_dt,plx,e_plx,DM,e_DM,DM1,e_DM1,DM2,e_DM2,Pb,e_Pb,T0,e_T0,
     +  x,e_x,Omega0,e_Omega0,e,e_e,kappa,e_kappa,eta,E_eta,e_eta_1,
     +  Tan,e_Tan,GLON,GLAT,d,E_d,e_d_1,CPM,e_CPM,dP_dtSHK,e_dP_dtSHK,
     +  dP_dtKZ,e_dP_dtKZ,dP_dtDGR,e_dP_dtDGR,dP_dtInt,e_dP_dtInt,
     +  l_Age,Age,l_B,B,M2min
        write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'table13.dat'	! Summary of pulsar parallaxes and distance
*                                 estimates

C  Format for file interpretation

    3 format(
     +  A10,1X,F6.2,1X,F4.2,1X,F4.2,1X,A1,F5.2,1X,A1,F5.2,1X,F4.2,1X,
     +  F4.2,1X,F4.2,1X,F4.2,A1,1X,F4.2,1X,F4.2,1X,F4.2,A1,1X,F4.2,1X,
     +  F4.2,1X,F4.2,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table13.dat')
      write(6,*) '....Loading file: table13.dat'
      do i__=1,42
        read(1,'(A95)')ar__2
        read(ar__2,3)
     +  PSR_2,DM_1,Dist1,DistM2,l_DistM3,DistM3,l_Dist,Dist,plxP,
     +  e_plxP,plx_1,e_plx_1,n_plx,plxCorr,E_plxCorr,e_plxCorr_1,
     +  n_plxCorr,DistPlx,E_DistPlx,e_DistPlx_1,n_DistPlx,Note
        if (idig(ar__2(37:41)).EQ.0) Dist =  rNULL__
        if (idig(ar__2(43:46)).EQ.0) plxP =  rNULL__
        if(ar__2(48:51) .EQ. '') e_plxP = rNULL__
        if (idig(ar__2(53:56)).EQ.0) plx_1 =  rNULL__
        if(ar__2(58:61) .EQ. '') e_plx_1 = rNULL__
        if (idig(ar__2(64:67)).EQ.0) plxCorr =  rNULL__
        if(ar__2(69:72) .EQ. '') E_plxCorr = rNULL__
        if(ar__2(74:77) .EQ. '') e_plxCorr_1 = rNULL__
        if (idig(ar__2(80:83)).EQ.0) DistPlx =  rNULL__
        if(ar__2(85:88) .EQ. '') E_DistPlx = rNULL__
        if(ar__2(90:93) .EQ. '') e_DistPlx_1 = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  PSR_2,DM_1,Dist1,DistM2,l_DistM3,DistM3,l_Dist,Dist,plxP,
     +  e_plxP,plx_1,e_plx_1,n_plx,plxCorr,E_plxCorr,e_plxCorr_1,
     +  n_plxCorr,DistPlx,E_DistPlx,e_DistPlx_1,n_DistPlx,Note
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'table14.dat'	! Summary of the transverse motion of the
*                                 isolated MSPs

C  Format for file interpretation

    4 format(
     +  A10,1X,F8.4,1X,F7.4,A1,1X,F6.1,1X,F6.1,A1,1X,F5.1,1X,F5.1,1X,
     +  A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table14.dat')
      write(6,*) '....Loading file: table14.dat'
      do i__=1,19
        read(1,'(A58)')ar__3
        read(ar__3,4)
     +  PSR_3,CPM_1,e_CPM_1,n_CPM,Dist_1,e_Dist,n_Dist,vt,e_vt,Ref_1
        if(ar__3(37:42) .EQ. '') e_Dist = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  PSR_3,CPM_1,e_CPM_1,n_CPM,Dist_1,e_Dist,n_Dist,vt,e_vt,Ref_1
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'table15.dat'	! Summary of the transverse motion of the
*                                 binary MSPs

C  Format for file interpretation

    5 format(
     +  A10,1X,F8.4,1X,F7.4,A1,1X,F6.1,1X,F6.1,A1,1X,F5.1,1X,F5.1,1X,
     +  A2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table15.dat')
      write(6,*) '....Loading file: table15.dat'
      do i__=1,57
        read(1,'(A58)')ar__4
        read(ar__4,5)
     +  PSR_4,CPM_2,e_CPM_2,n_CPM_1,Dist_2,e_Dist_1,n_Dist_1,vt_1,
     +  e_vt_1,Ref_2
        if(ar__4(37:42) .EQ. '') e_Dist_1 = rNULL__
c    ..............Just test output...........
        write(6,5)
     +  PSR_4,CPM_2,e_CPM_2,n_CPM_1,Dist_2,e_Dist_1,n_Dist_1,vt_1,
     +  e_vt_1,Ref_2
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'table17.dat'	! Table of pulsar and companion masses

C  Format for file interpretation

    6 format(
     +  A10,1X,F4.2,1X,F4.2,A1,1X,F5.3,1X,F5.3,A1,1X,A2,1X,F4.2,1X,
     +  F5.3,1X,F5.3,1X,F5.3,1X,F6.4,1X,F6.4)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table17.dat')
      write(6,*) '....Loading file: table17.dat'
      do i__=1,7
        read(1,'(A74)')ar__5
        read(ar__5,6)
     +  PSR_5,MpPrev,e_MpPrev,n_MpPrev,McPrev,e_McPrev,n_McPrev,Ref_3,
     +  Mp,E_Mp,e_Mp_1,Mc,E_Mc,e_Mc_1
        if(ar__5(12:15) .EQ. '') MpPrev = rNULL__
        if(ar__5(17:20) .EQ. '') e_MpPrev = rNULL__
        if(ar__5(23:27) .EQ. '') McPrev = rNULL__
        if(ar__5(29:33) .EQ. '') e_McPrev = rNULL__
c    ..............Just test output...........
        write(6,6)
     +  PSR_5,MpPrev,e_MpPrev,n_MpPrev,McPrev,e_McPrev,n_McPrev,Ref_3,
     +  Mp,E_Mp,e_Mp_1,Mc,E_Mc,e_Mc_1
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'tablea1.dat'	! Summary of the EPTA data set

C  Format for file interpretation

    7 format(
     +  A10,1X,I2,1X,F6.2,1X,F4.2,1X,F6.2,1X,F4.2,1X,A4,1X,F6.1,1X,
     +  F6.1,1X,F6.1,1X,I4,1X,F4.2,1X,F5.2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'tablea1.dat')
      write(6,*) '....Loading file: tablea1.dat'
      do i__=1,257
        read(1,'(A79)')ar__6
        read(ar__6,7)
     +  PSR_6,Nj,ARN,gammaRN,ADM,gammaDM,Obs_1,Freq,Year1,Year2,
     +  NTOAs_2,Ef,Eq
c    ..............Just test output...........
        write(6,7)
     +  PSR_6,Nj,ARN,gammaRN,ADM,gammaDM,Obs_1,Freq,Year1,Year2,
     +  NTOAs_2,Ef,Eq
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'refs.dat'	! References

C  Format for file interpretation

    8 format(A3,1X,A19,1X,A30,1X,A52)

C  Effective file loading

      open(unit=1,status='old',file=
     +'refs.dat')
      write(6,*) '....Loading file: refs.dat'
      do i__=1,55
        read(1,'(A107)')ar__7
        read(ar__7,8)Ref_4,BibCode,Aut,Com
c    ..............Just test output...........
        write(6,8)Ref_4,BibCode,Aut,Com
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