FORTRAN Generation
(/./ftp/cats/I/382)

Conversion of standardized ReadMe file for file /./ftp/cats/I/382 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. I/382               Speckle observations with PISCO            (Scardia+, 2004-)
*================================================================================
*Speckle observations with PISCO in Merate.
*I-XVI. Measurements of visual binaries with EMCCD cameras and the Nice 76-cm
*refractor in 2009-2017.
*   Scardia M., Prieur J.-L., Sala M., Ghigo M., Koechlin L., Aristidi, E.,
*   Mazzoleni F., Pansecchi L., Argyle R.W., Ghigo M., Koechlin L., Basso S.,
*   Spano, P., Riva, M., Landoni, M., Zanutta, A., Rivet J.-P., Ling J.F.,
*   Vernet D., Abe L., Bendjoya P., Dimur C., Suarez O., Bonneau D.,
*   Maccarini L., Vakili F., Scardia M., Piccotti L., Serot J., Vakili F.,
*   Serot J., Gili R.
*   <Mon. Not. R. Astron. Soc., 357, 1255-1266 (2005); 367, 1170-1180 (2006);
*    374, 965-978 (2007); 387, 772-782 (2008); 395, 907-917 (2009);
*    407, 1913-1925 (2010); 422, 1057-1070 (2012); 434, 2803-2813 (2013);
*    Astron. Nachrichten., 329, 54 (2008); 330, 55 (2009); 331, 286 (2010);
*    332, 508 (2011); 335, 817 (2014); 336, 388 (2016); 338, 74 (2017);
*    339, 571 (2018); 341, 441-452 (2020), 342, 865 (2021); 343, 24008 (2022);
*    344, 30112 (2023); 346, 70000 (2025)>
*   =2024yCat.1382....0S
*   =2005MNRAS.357.1255S
*   +2006MNRAS.367.1170S
*   +2007MNRAS.374..965S
*   +2008AN....329...54S
*   +2008MNRAS.387..772P
*   +2009AN....330...55S
*   +2009MNRAS.395..907P
*   +2010AN....331..286S
*   +2010MNRAS.407.1913P
*   +2011AN....332..508S
*   +2012MNRAS.422.1057P
*   +2013MNRAS.434.2803S
*   +2014AN....335..817P
*   +2015AN....336..388S
*   +2017AN....338...74P
*   +2018AN....339..571S
*   +2020AN....341..441G
*   +2021AN....342..865G
*   +2022AN....34324008G
*   +2023AN....34430112P
*   +2025AN....34670000S
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'calern.dat'	! Table of speckle measurements and O-C residuals
                                 with PISCO in Calerne, in 2015-2016

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

      character*7   Ref        (nr__) ! Paper reference code (G1)
      character*10  WDS        (nr__) ! WDS name (HHMMm+DDMM)
      character*14  Name       (nr__) ! Other name
      character*8   ADS        (nr__) ! ADS number
      real*8        Epoch      (nr__) ! (yr) Epoch
      character*2   Filter     (nr__) ! [BIRVW RL -] Filter
      integer*4     f          (nr__) ! (mm) Focal length of the eyepiece used for
*                                       magnifying the image
      real*4        rho        (nr__) ! (arcsec) ?=- Angular separation
      real*4        e_rho      (nr__) ! (arcsec) ?=- Angular separation error
      real*4        theta      (nr__) ! (deg) ?=- Position angle (1)
      character*1   n_theta    (nr__) ! [*] Note on theta (2)
      real*4        e_theta    (nr__) ! (deg) ?=- Position angle error
      character*22  Notes      (nr__) ! Notes
      character*30  Orbit      (nr__) ! Orbit reference, see reference paper
      real*4        Drho_O_C   (nr__) ! (arcsec) ? O-C residual in rho
      character*1   f_Drho_O_C (nr__) ! [)] ) when Drho(O-C) is an ephemerid value
      real*4        Dtheta_O_C (nr__) ! (deg) ? O-C residual in theta
      character*1   n_Dtheta_O_C(nr__) ! [Q] Note on Dtheta(O-C) (3)
      character*1   f_Dtheta_O_C(nr__) ! [)] ) when Dtheta(O-C) is an ephemerid
*                                       value
*Note (1): North corresponding to theta=0{deg} and the East to theta=90{deg}.
*Note (2): * indicates that the position angle could be determined without
*     the 180{deg} ambiguity.
*Note (3): Q when quadrants of the measurements were not in agreement with
*     those used for the orbits.

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

C  Declarations for 'calern-2.dat'	! Table of speckle measurements and O-C residuals
                                 with PISCO in Calerne, in 2017-2018
                                 (added on 18-Sep-2025)

      integer*4 nr__1
      parameter (nr__1=1470)	! Number of records
      character*98 ar__1  	! Full-size record

      character*8   Ref_1      (nr__1) ! Paper reference code (G1)
      character*10  WDS_1      (nr__1) ! WDS name (HHMMm+DDMM)
      character*12  Name_1     (nr__1) ! Other name
      real*8        Epoch_1    (nr__1) ! (yr) [2017.02/2018.97] Epoch
      character*2   Filter_1   (nr__1) ! [RVW RL] Filter
      integer*4     f_1        (nr__1) ! (mm) Focal length of the eyepiece used for
*                                       magnifying the image
      real*4        rho_1      (nr__1) ! (arcsec) ?=- Angular separation
      real*4        e_rho_1    (nr__1) ! (arcsec) ?=- Angular separation error
      real*4        theta_1    (nr__1) ! (deg) ?=- Position angle (1)
      character*1   n_theta_1  (nr__1) ! [*] Note on theta (2)
      real*4        e_theta_1  (nr__1) ! (deg) ?=- Position angle error
      character*2   Notes_1    (nr__1) ! Notes
      character*8   Orbit_1    (nr__1) ! Orbit reference, see reference paper
      real*4        Drho_O_C_1 (nr__1) ! ?=- O-C residual in rho
      real*4        Dtheta_O_C_1(nr__1) ! ? O-C residual in theta
      character*1   n_Dtheta_O_C_1(nr__1) ! [Q] Note on Dtheta(O-C) (3)
      integer*4     Grade      (nr__1) ! [1/5]? Grade
*Note (1): North corresponding to theta=0{deg} and the East to theta=90{deg}.
*Note (2): * indicates that the position angle could be determined without
*     the 180{deg} ambiguity.
*Note (3): Q when quadrants of the measurements were not in agreement with
*     those used for the orbits.

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

C  Declarations for 'merate.dat'	! Table of speckle measurements and O-C residuals
                                 with PISCO in Merate, in 2004-2014

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

      character*7   Ref_2      (nr__2) ! Paper reference code (G1)
      character*10  WDS_2      (nr__2) ! WDS name (HHMMm+DDMM)
      character*14  Name_2     (nr__2) ! Other name
      character*8   ADS_1      (nr__2) ! ADS number
      real*8        Epoch_2    (nr__2) ! (yr) Epoch
      character*2   Filter_2   (nr__2) ! [BIRVW RL -] Filter
      integer*4     f_2        (nr__2) ! (mm) Focal length of the eyepiece used for
*                                       magnifying the image
      real*4        rho_2      (nr__2) ! (arcsec) ?=- Angular separation
      real*4        e_rho_2    (nr__2) ! (arcsec) ?=- Angular separation error
      real*4        theta_2    (nr__2) ! (deg) ?=- Position angle (1)
      character*1   n_theta_2  (nr__2) ! [*] Note on theta (2)
      real*4        e_theta_2  (nr__2) ! (deg) ?=- Position angle error
      character*22  Notes_2    (nr__2) ! Notes
      character*30  Orbit_2    (nr__2) ! Orbit reference, see reference paper
      real*4        Drho_O_C_1 (nr__2) ! (arcsec) ? O-C residual in rho
      character*1   f_Drho_O_C_1(nr__2) ! [)] ) when Drho(O-C) is an ephemerid value
      real*4        Dtheta_O_C_1(nr__2) ! (deg) ? O-C residual in theta
      character*1   n_Dtheta_O_C_1(nr__2) ! [Q] Note on Dtheta(O-C) (3)
      character*1   f_Dtheta_O_C_1(nr__2) ! [)] ) when Dtheta(O-C) is an ephemerid
*                                       value
*Note (1): North corresponding to theta=0{deg} and the East to theta=90{deg}.
*Note (2): * indicates that the position angle could be determined without
*     the 180{deg} ambiguity.
*Note (3): Q when quadrants of the measurements were not in agreement with
*     those used for the orbits.

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

C  Declarations for 'nice-1.dat'	! Table of speckle measurements and O-C residuals
                                 with published orbits in 2009-2010

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

      character*6   Ref_3      (nr__3) ! Paper reference code (G1)
      character*10  WDS_3      (nr__3) ! WDS name (HHMMm+DDMM)
      character*14  WDSnew     (nr__3) ! New WDS name (HHMMSSs+DDMMSS)
      character*13  Name_3     (nr__3) ! Name
      real*4        mA         (nr__3) ! (mag) Magnitude of A component
      real*4        mB         (nr__3) ! (mag) ? Magnitude of B component
      character*8   BD         (nr__3) ! BD number
      real*8        Epoch_3    (nr__3) ! (yr) Epoch
      real*4        theta_3    (nr__3) ! (deg) ? Position angle
      character*1   u_theta    (nr__3) ! Uncertainty flag on theta
      real*4        rho_3      (nr__3) ! (arcsec) ? Angular separation
      character*1   u_rho      (nr__3) ! Uncertainty flag on rho
      character*1   l_Dmf      (nr__3) ! Limit flag on Dmf
      real*4        Dmf        (nr__3) ! ? Measured difference of magnitudes
*                                        between the two components
      character*1   u_Dmf      (nr__3) ! Uncertainty flag on Dmf
      character*9   Notes1     (nr__3) ! Notes (1)
      character*47  Notes2     (nr__3) ! More notes
      character*14  Orbit_3    (nr__3) ! Orbit reference, see reference paper
      real*4        Drho_O_C_1 (nr__3) ! (arcsec) ? O-C residual in rho
      real*4        Dtheta_O_C_1(nr__3) ! (deg) ? O-C residual in theta
      character*1   n_Dtheta_O_C_1(nr__3) ! [Q] Note on Dtheta(O-C) (2)
*Note (1): Notes as:
*   S = Single star (i.e., not seen as double),
*  NR = Non-Resolved, although seen as double, and in some cases an estimate of
*        the upper limit for the separation in arcseconds
*        (e.g. < 0.16 for 00122+4647).
*  ND = New Double.
*   : = following one measurement indicates that measurement has a large
*        uncertainty.
*   ! = was added to some comments to underline those comments
*        (i.e., the observations clearly showed them).
*  ly = difference of magnitudes obtained from the Lucky Imaging method
* DVA = difference of magnitudes obtained from the DVA method
*Note (2): Q when quadrants of the measurements were not in agreement with
* those used for the orbits.

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

C  Declarations for 'nice-2.dat'	! Table of speckle measurements obtained with
                                 PISCO2 in 2011-2017 and O-C residuals with
                                 published orbits

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

      character*6   Ref_4      (nr__4) ! Paper reference code (G1)
      character*12  WDS_4      (nr__4) ! WDS name (HHMMm+DDMM)
      character*22  Name_4     (nr__4) ! Name
      real*8        Epoch_4    (nr__4) ! (yr) Epoch
      integer*4     Bin        (nr__4) ! [0/5]? Binning factor used by the detector
*                                       when acquiring the image
      real*4        rho_4      (nr__4) ! (arcsec) ?=- Angular separation
      real*4        e_rho_3    (nr__4) ! (arcsec) ?=- Angular separation error
      real*8        theta_4    (nr__4) ! (deg) ?=- Position angle, measured from the
*                                       North and positive to the East
      character*1   n_theta_3  (nr__4) ! [*] Note on theta (1)
      real*4        e_theta_3  (nr__4) ! (deg) ?=- Position angle error
      real*4        Dm         (nr__4) ! ? Measured difference of magnitudes
*                                        between the two components
      character*16  Notes_3    (nr__4) ! Notes (2)
      character*10  Orbit_4    (nr__4) ! Orbit reference, see reference paper
      real*4        Drho_O_C_1 (nr__4) ! (arcsec) ? O-C residual in rho
      real*4        Dtheta_O_C_1(nr__4) ! (deg) ? O-C residual in theta
      character*1   n_Dtheta_O_C_1(nr__4) ! [Q] Note on Dtheta(O-C) (3)
      integer*4     Grade_1    (nr__4) ! [1/5]? Grade of the orbit
*Note (1): * when we could determine the quadrants of the measurements, i.e.,
*   when our observations allowed us to solve the 180{deg} ambiguity of the
*   autocorrelation frames.
*Note (2): Notes as:
*   ND = new double
*   NR = not resolved
*   LY = LuckY imaging,
*   NDg = new double, found by R. Gili
*   NDp = new double, found by us
*Note (3): Q when quadrants of the measurements were not in agreement with those
*   used for the orbits.

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

C  Loading file 'calern.dat'	! Table of speckle measurements and O-C residuals
*                                 with PISCO in Calerne, in 2015-2016

C  Format for file interpretation

    1 format(
     +  A7,1X,A10,1X,A14,1X,A8,1X,F8.3,1X,A2,1X,I2,1X,F5.3,1X,F5.3,1X,
     +  F5.1,1X,A1,1X,F3.1,1X,A22,A30,3X,F5.2,A1,2X,F5.1,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'calern.dat')
      write(6,*) '....Loading file: calern.dat'
      do i__=1,1235
        read(1,'(A152)')ar__
        read(ar__,1)
     +  Ref(i__),WDS(i__),Name(i__),ADS(i__),Epoch(i__),Filter(i__),
     +  f(i__),rho(i__),e_rho(i__),theta(i__),n_theta(i__),
     +  e_theta(i__),Notes(i__),Orbit(i__),Drho_O_C(i__),
     +  f_Drho_O_C(i__),Dtheta_O_C(i__),n_Dtheta_O_C(i__),
     +  f_Dtheta_O_C(i__)
        if (idig(ar__(59:63)).EQ.0) rho(i__) =  rNULL__
        if (idig(ar__(65:69)).EQ.0) e_rho(i__) =  rNULL__
        if (idig(ar__(71:75)).EQ.0) theta(i__) =  rNULL__
        if (idig(ar__(79:81)).EQ.0) e_theta(i__) =  rNULL__
        if(ar__(138:142) .EQ. '') Drho_O_C(i__) = rNULL__
        if(ar__(146:150) .EQ. '') Dtheta_O_C(i__) = rNULL__
c    ..............Just test output...........
        write(6,1)
     +  Ref(i__),WDS(i__),Name(i__),ADS(i__),Epoch(i__),Filter(i__),
     +  f(i__),rho(i__),e_rho(i__),theta(i__),n_theta(i__),
     +  e_theta(i__),Notes(i__),Orbit(i__),Drho_O_C(i__),
     +  f_Drho_O_C(i__),Dtheta_O_C(i__),n_Dtheta_O_C(i__),
     +  f_Dtheta_O_C(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'calern-2.dat'	! Table of speckle measurements and O-C residuals
*                                 with PISCO in Calerne, in 2017-2018
*                                 (added on 18-Sep-2025)

C  Format for file interpretation

    2 format(
     +  A8,1X,A10,1X,A12,1X,F8.3,1X,A2,1X,I2,1X,F5.3,1X,F5.3,1X,F5.1,
     +  1X,A1,1X,F3.1,1X,A2,1X,A8,1X,F5.2,1X,F5.1,A1,1X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'calern-2.dat')
      write(6,*) '....Loading file: calern-2.dat'
      do i__=1,1470
        read(1,'(A98)')ar__1
        read(ar__1,2)
     +  Ref_1(i__),WDS_1(i__),Name_1(i__),Epoch_1(i__),Filter_1(i__),
     +  f_1(i__),rho_1(i__),e_rho_1(i__),theta_1(i__),n_theta_1(i__),
     +  e_theta_1(i__),Notes_1(i__),Orbit_1(i__),Drho_O_C_1(i__),
     +  Dtheta_O_C_1(i__),n_Dtheta_O_C_1(i__),Grade(i__)
        if (idig(ar__1(49:53)).EQ.0) rho_1(i__) =  rNULL__
        if (idig(ar__1(55:59)).EQ.0) e_rho_1(i__) =  rNULL__
        if (idig(ar__1(61:65)).EQ.0) theta_1(i__) =  rNULL__
        if (idig(ar__1(69:71)).EQ.0) e_theta_1(i__) =  rNULL__
        if (idig(ar__1(85:89)).EQ.0) Drho_O_C_1(i__) =  rNULL__
        if(ar__1(91:95) .EQ. '') Dtheta_O_C_1(i__) = rNULL__
        if(ar__1(98:98) .EQ. '') Grade(i__) = iNULL__
c    ..............Just test output...........
        write(6,2)
     +  Ref_1(i__),WDS_1(i__),Name_1(i__),Epoch_1(i__),Filter_1(i__),
     +  f_1(i__),rho_1(i__),e_rho_1(i__),theta_1(i__),n_theta_1(i__),
     +  e_theta_1(i__),Notes_1(i__),Orbit_1(i__),Drho_O_C_1(i__),
     +  Dtheta_O_C_1(i__),n_Dtheta_O_C_1(i__),Grade(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'merate.dat'	! Table of speckle measurements and O-C residuals
*                                 with PISCO in Merate, in 2004-2014

C  Format for file interpretation

    3 format(
     +  A7,1X,A10,1X,A14,1X,A8,1X,F8.3,1X,A2,1X,I2,1X,F5.3,1X,F5.3,1X,
     +  F5.1,1X,A1,1X,F3.1,1X,A22,A30,3X,F5.2,A1,2X,F5.1,A1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'merate.dat')
      write(6,*) '....Loading file: merate.dat'
      do i__=1,3502
        read(1,'(A152)')ar__2
        read(ar__2,3)
     +  Ref_2(i__),WDS_2(i__),Name_2(i__),ADS_1(i__),Epoch_2(i__),
     +  Filter_2(i__),f_2(i__),rho_2(i__),e_rho_2(i__),theta_2(i__),
     +  n_theta_2(i__),e_theta_2(i__),Notes_2(i__),Orbit_2(i__),
     +  Drho_O_C_1(i__),f_Drho_O_C_1(i__),Dtheta_O_C_1(i__),
     +  n_Dtheta_O_C_1(i__),f_Dtheta_O_C_1(i__)
        if (idig(ar__2(59:63)).EQ.0) rho_2(i__) =  rNULL__
        if (idig(ar__2(65:69)).EQ.0) e_rho_2(i__) =  rNULL__
        if (idig(ar__2(71:75)).EQ.0) theta_2(i__) =  rNULL__
        if (idig(ar__2(79:81)).EQ.0) e_theta_2(i__) =  rNULL__
        if(ar__2(138:142) .EQ. '') Drho_O_C_1(i__) = rNULL__
        if(ar__2(146:150) .EQ. '') Dtheta_O_C_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,3)
     +  Ref_2(i__),WDS_2(i__),Name_2(i__),ADS_1(i__),Epoch_2(i__),
     +  Filter_2(i__),f_2(i__),rho_2(i__),e_rho_2(i__),theta_2(i__),
     +  n_theta_2(i__),e_theta_2(i__),Notes_2(i__),Orbit_2(i__),
     +  Drho_O_C_1(i__),f_Drho_O_C_1(i__),Dtheta_O_C_1(i__),
     +  n_Dtheta_O_C_1(i__),f_Dtheta_O_C_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'nice-1.dat'	! Table of speckle measurements and O-C residuals
*                                 with published orbits in 2009-2010

C  Format for file interpretation

    4 format(
     +  A6,1X,A10,1X,A14,1X,A13,1X,F5.2,1X,F5.2,1X,A8,1X,F8.3,1X,F5.1,
     +  A1,F6.3,A1,A1,F3.1,A1,4X,A9,1X,A47,1X,A14,F6.3,1X,F5.1,A1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'nice-1.dat')
      write(6,*) '....Loading file: nice-1.dat'
      do i__=1,1873
        read(1,'(A184)')ar__3
        read(ar__3,4)
     +  Ref_3(i__),WDS_3(i__),WDSnew(i__),Name_3(i__),mA(i__),mB(i__),
     +  BD(i__),Epoch_3(i__),theta_3(i__),u_theta(i__),rho_3(i__),
     +  u_rho(i__),l_Dmf(i__),Dmf(i__),u_Dmf(i__),Notes1(i__),
     +  Notes2(i__),Orbit_3(i__),Drho_O_C_1(i__),Dtheta_O_C_1(i__),
     +  n_Dtheta_O_C_1(i__)
        if(ar__3(54:58) .EQ. '') mB(i__) = rNULL__
        if(ar__3(78:82) .EQ. '') theta_3(i__) = rNULL__
        if(ar__3(84:89) .EQ. '') rho_3(i__) = rNULL__
        if(ar__3(92:94) .EQ. '') Dmf(i__) = rNULL__
        if(ar__3(172:177) .EQ. '') Drho_O_C_1(i__) = rNULL__
        if(ar__3(179:183) .EQ. '') Dtheta_O_C_1(i__) = rNULL__
c    ..............Just test output...........
        write(6,4)
     +  Ref_3(i__),WDS_3(i__),WDSnew(i__),Name_3(i__),mA(i__),mB(i__),
     +  BD(i__),Epoch_3(i__),theta_3(i__),u_theta(i__),rho_3(i__),
     +  u_rho(i__),l_Dmf(i__),Dmf(i__),u_Dmf(i__),Notes1(i__),
     +  Notes2(i__),Orbit_3(i__),Drho_O_C_1(i__),Dtheta_O_C_1(i__),
     +  n_Dtheta_O_C_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'nice-2.dat'	! Table of speckle measurements obtained with
*                                 PISCO2 in 2011-2017 and O-C residuals with
*                                 published orbits

C  Format for file interpretation

    5 format(
     +  A6,1X,A12,1X,A22,1X,F8.3,1X,I1,1X,F6.3,1X,F5.3,1X,F7.2,A1,1X,
     +  F4.1,3X,F4.2,1X,A16,1X,A10,1X,F6.3,1X,F5.1,A1,1X,I1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'nice-2.dat')
      write(6,*) '....Loading file: nice-2.dat'
      do i__=1,17688
        read(1,'(A131)')ar__4
        read(ar__4,5)
     +  Ref_4(i__),WDS_4(i__),Name_4(i__),Epoch_4(i__),Bin(i__),
     +  rho_4(i__),e_rho_3(i__),theta_4(i__),n_theta_3(i__),
     +  e_theta_3(i__),Dm(i__),Notes_3(i__),Orbit_4(i__),
     +  Drho_O_C_1(i__),Dtheta_O_C_1(i__),n_Dtheta_O_C_1(i__),
     +  Grade_1(i__)
        if(ar__4(53:53) .EQ. '') Bin(i__) = iNULL__
        if (idig(ar__4(55:60)).EQ.0) rho_4(i__) =  rNULL__
        if (idig(ar__4(62:66)).EQ.0) e_rho_3(i__) =  rNULL__
        if (idig(ar__4(68:74)).EQ.0) theta_4(i__) =  rNULL__
        if (idig(ar__4(77:80)).EQ.0) e_theta_3(i__) =  rNULL__
        if(ar__4(84:87) .EQ. '') Dm(i__) = rNULL__
        if(ar__4(117:122) .EQ. '') Drho_O_C_1(i__) = rNULL__
        if(ar__4(124:128) .EQ. '') Dtheta_O_C_1(i__) = rNULL__
        if(ar__4(131:131) .EQ. '') Grade_1(i__) = iNULL__
c    ..............Just test output...........
        write(6,5)
     +  Ref_4(i__),WDS_4(i__),Name_4(i__),Epoch_4(i__),Bin(i__),
     +  rho_4(i__),e_rho_3(i__),theta_4(i__),n_theta_3(i__),
     +  e_theta_3(i__),Dm(i__),Notes_3(i__),Orbit_4(i__),
     +  Drho_O_C_1(i__),Dtheta_O_C_1(i__),n_Dtheta_O_C_1(i__),
     +  Grade_1(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