


      IIIIOOOOIIIINNNNIIIITTTT((((3333FFFF))))                  ((((bbbbssssdddd 4444....2222))))                  IIIIOOOOIIIINNNNIIIITTTT((((3333FFFF))))



      NNNNAAAAMMMMEEEE
           ioinit - change f77 I/O initialization

      SSSSYYYYNNNNTTTTAAAAXXXX
           llllooooggggiiiiccccaaaallll ffffuuuunnnnccccttttiiiioooonnnn iiiiooooiiiinnnniiiitttt ((((ccccccccttttllll,,,, bbbbzzzzrrrroooo,,,, aaaappppnnnndddd,,,, pppprrrreeeeffffiiiixxxx,,,, vvvvrrrrbbbboooosssseeee))))
           llllooooggggiiiiccccaaaallll ccccccccttttllll,,,, bbbbzzzzrrrroooo,,,, aaaappppnnnndddd,,,, vvvvrrrrbbbboooosssseeee
           cccchhhhaaaarrrraaaacccctttteeeerrrr****((((****)))) pppprrrreeeeffffiiiixxxx

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           This routine will initialize several global parameters in
           the f77 I/O system, and attach externally defined files to
           logical units at run time.  The effect of the flag arguments
           applies to logical units opened after _i_o_i_n_i_t is called.  The
           exception is the preassigned units, 5 and 6, to which _c_c_t_l
           and _b_z_r_o will apply at any time.  _I_o_i_n_i_t is written in
           Fortran-77.

           By default, carriage control is not recognized on any
           logical unit. If _c_c_t_l is ....ttttrrrruuuueeee.... then carriage control will
           be recognized on formatted output to all logical units
           except unit 0, the diagnostic channel.  Otherwise the
           default will be restored.

           By default, trailing and embedded blanks in input data
           fields are ignored. If _b_z_r_o is ....ttttrrrruuuueeee.... then such blanks will
           be treated as zero's.  Otherwise the default will be
           restored.

           By default, all files opened for sequential access are
           positioned at their beginning.  It is sometimes necessary or
           convenient to open at the END-OF-FILE so that a write will
           append to the existing data.  If _a_p_n_d is ....ttttrrrruuuueeee.... then files
           opened subsequently on any logical unit will be positioned
           at their end upon opening.  A value of ....ffffaaaallllsssseeee.... will restore
           the default behavior.

           Many systems provide an automatic association of global
           names with fortran logical units when a program is run.
           There is no such automatic association in f77.  However, if
           the argument _p_r_e_f_i_x is a non-blank string, then names of the
           form pppprrrreeeeffffiiiixxxxNN will be sought in the program environment. The
           value associated with each such name found will be used to
           open logical unit NN for formatted sequential access.  For
           example, if f77 program _m_y_p_r_o_g_r_a_m included the call

                call ioinit (.true., .false., .false., 'FORT', .false.)

           then when the following C-Shell sequence:

                 % setenv FORT01 _m_y_d_a_t_a
                 % setenv FORT12 _m_y_r_e_s_u_l_t_s
                 % _m_y_p_r_o_g_r_a_m



      Page 1                                                   (9010-E)






      IIIIOOOOIIIINNNNIIIITTTT((((3333FFFF))))                  ((((bbbbssssdddd 4444....2222))))                  IIIIOOOOIIIINNNNIIIITTTT((((3333FFFF))))



           or the following Bourne-Shell sequnece:

                 $ FORT01=_m_y_d_a_t_a
                 $ FORT02=_m_y_r_e_s_u_l_t_s
                 $ export FORT01 FORT02
                 $ _m_y_p_r_o_g_r_a_m
           would result in logical unit 1 opened to file _m_y_d_a_t_a and
           logical unit 12 opened to file _m_y_r_e_s_u_l_t_s.  Both files would
           be positioned at their beginning.  Any formatted output
           would have column 1 removed and interpreted as carriage
           control.  Embedded and trailing blanks would be ignored on
           input.

           If the argument _v_r_b_o_s_e is ....ttttrrrruuuueeee.... then _i_o_i_n_i_t will report on
           its activity.

           The internal flags are stored in a labeled common block with
           the following definition:

                integer*2 ieof, ictl, ibzr
                common /ioiflg/ ieof, ictl, ibzr


      FFFFIIIILLLLEEEESSSS
           /usr/lib/libI77.a       f77 I/O library

      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           getarg(3F), getenv(3F),

      BBBBUUUUGGGGSSSS
           _P_r_e_f_i_x can be no longer than 30 characters.  A pathname
           associated with an environment name can be no longer than
           255 characters.

           The ``+'' carriage control does not work.




















      Page 2                                                   (9010-E)



