v2.14
 
this version uses the FFT subtoutine which uses listvector from the book of
"supercomputer" published from Maruzen.
Different from previous version using Cray's FFT subroutine, One must 
specify lp(=log2 na) and na2 ( = na/2 ) in parameter in the file paramsv.inc.

v2.14 include # of parameters checking routine.

v2.22 include inheritance of sfth
 
v2.23 include laser field wiggling effect on betatron motion.  

v2.24 include EM wiggler's phase shift.  

v2.24s3 reduce memory.

v2.24s4 cosmetics

v2.3    modify output.f to get ame.

v2.4    use temporal array in feladv to  reduce memory usage.

v2.5    bex, bey, bez are defined with expansion coefficients to reduce 
        memory usage. 

v2.6    caliculate aftc with apa caliculated from parc   

v2.7    use equivalence statement to use temporal array

v3.0    change input format.   
        input element name and element kind
   
v4.0    use delpar to improve trancated error.

v4.01   delete vme, ume, vft from mkvme, mkume

v4.02   inline expansion of parprd, parcrr to reduce memeory usage. 

v4.03   remove daft 

v5.00   use cebeta, i0to3 as explicitly

v5.01   complex lap(na,na) => real lap(na,na)

v6.00   kl is explicit argument 

v6.01   not use beta

v7.00   modify input format for output

v7.01   use ame as work array. Don't use ame directry. One shoud
        caliclulate from aft using ifft routine.  

v8.00   nspln is installed to control spfltr in fel 

v8.01   reduce memory usage of i0to3,cebeta,lap.

v9.00   use average value and delta for particle.

v1.00 is copied from v9.00- 

v2.00 ngm, nxp, nyp, nbx, nby is converted  as 
      ( ... ) = ( ... ) * np * 12 
        hx and hy are input parameters instead of hx2, hy2.

v3.00 2-dimensional distribution is included. 
      Paraboric and Uniform distribution is now avaiable.

f77   f77 allowable discription.
     
v1    input formats for esrc and mirror are changed.
      suceed of random number seed 

v3    4-dimensinal spherical symmetric distribution is 
      inpremented for transverse initial distribution. 

v4    mainly
      modify xyrchk to be vectrizable 
      modify fft to avoid bank confliction. 

v5    fix output and input. 

v6    introduce nem to use variable charge macro particle. 

v7    variable charge macro particle method is used. this method is
      equivalent to phase space discritization.
      but no improvement is seen.
      v6 is recommended.
 
v8    copied from v6 to test autotasking

v9    copied from v8 
      names are shorter than 6 characters.

v10   paramsv.inc is divided to paramsv.inc, physcon.inc debug.inc 

v11   introduce nam, npm to control  na, np with input file.

v12   na < nam, np < npm check routine is added to main.f  

v15   work array for aftp, and sme are used.

v17   install hwhm of amepow

v18   install z 

v19   from v18. install fortran random number generator

v20   from v19. easier to convert fortran 77 standard 
     ( ie. to make a program without double complex after conversion  )

v22  from v21. install zt shaffling(initialize) routine  

v23  usage of random number function is modified 

v1   modify input.f  on buflen. lmax is removed 

v2   from v1.  isochronous recircuration is installed 
      install EISOREC, emittance calc
  work directories 
     src_3  different input scheme 
     src_4  copied from src_2
       install emittance calc. 

v4   from v2/src. sfth initialization is in subroutines ( not in main )

v5   input parameter buffer is replaced with string. 

v6   install cyclic condition for particle    

v7   install mirror tilt thetax thetay
      modification of input file is necessary

v8   install real cyclic condition for w2nd and i2nd

v9
  (srctf3   
     use cyclic boundary condition for particles with smet
   srcft4 
     shape up from srctf3)
   src  <- src4 <- srcft4

v10
   enhance output control 

   src6  fix random number generation 
   src7  modify output

v11 
   electron re-distribution routine is installed.

v12 
  general user subroutine eoptic is installed

   src7 fortran 77 
   src8 random check ( ranndom must use double precision and 4 byte integer ) 
   src9 particle cycric
   src10 gamma(resonance) cacliculate
   src11 dztave = nyu 

~ v12 is in f77_12-13

v1
  src1   copied from  v12/src11
v2
  src2   install cyclic i2nd 
  src3   install generic intrinsic  function
            cexp -> exp,  cabs -> abs
  src4   install generic intrinsic  function
            amod -> mod 
         use automatic real conversion from comlex ( without real() ) 
v3 
  src1   copied from v2/src4
         In, d(zt)/d(z), aimag(awazti) -> 2.0*aimag(awazti) 
v4 
  src1   copied from v3/src1
         amehist is show ameabs instead of amepow
v4test  
  src1   copied from v4/src1
         parcyc is modified
5v
  src1   copied from v4/src1
         dspsct is added.
  src2   modify histw 

  src3   esft is added  56 Mflops

v6
  src1   not work now. Don't use it.
  src2   amet is not used.  52 Mflops
  src3   usage of pxycyc  is saved. ( reduce "call pxycyc" )
  src4   add nd caliculation for DSPSCT 
  src5   modify w2nd to be vectorized. use smew(na,na,nsme) 
  src6   modify w2nd to be vectorized. use smew(9,nsme), ixw(nsme), iyw(nsme)
  src7   modify w2nd to be vectorized. use smew(9,nsme), ixw(nsme), iyw(nsme)
                                                       ixp, iyp, ixm,iym

  use src4 for usual use.

v7 
  src    copied from v6/src4
         install 'new' kind of element for easy installation of new kind of element.
         Find new and modify it. 

v8
  src       copied from v7/src
            randg is compatible to ranf
  src2      eliminate block data 
              block data is converted to be subroutine blkdat which
              dainyu suuti to common block data     
            automatic version number update shell script makego with
               verinf.f file making
v9
  src       copied from v8/src2
            correct felget.f ( about i0to3 )
  src2      correct par.f  

v10
  src       partialy vectorized w2nd.f ( 22sec -> 21sec ) 
             saturate at nw2nd ~ 128

v11 
  src	   copied from v10/src 
           install Spontaneous Emission

v12 
  src      copied from v9/src2
           install Spontaneous Emission
           use         red = sqrt( nlt / nepll )

v14
  src      copied from v12/src
           use         red = sqrt( 1.0 / nem(j*nl+1) )
            
v15
  src      copied from v14/src
	   modify felout.f ( about afsyn ) 

v16
  src      Copied from v15/src 
	   add redfct ( control spontaneous emission )

V17
  src      Copied from v16/src 
	   rename redfct to sptfct 

v18
  src      Copied from v17/src
           particle distribution is specified with dsttyp
           which is not string but floating number.
           ztave is fixed.
                       
v19
  src      Copied from v18/src
           install complex hx, hy
           aimag -> imag 

v20 
  src      Copied from v19/src
           use explicitly double precision number in
           subroutine random 
          
v21 
  src      Copied from v20/src
           erase kw in subroutine dspsct

v22 
  src      Copied from v21/src/dc16
           change real to double complex
                  complex to double complex 
v23 
  src      Copied from v22/src
           constant to be double precision

v24 
  src      Copied from v23/src
           modify for 1d calc. ( add subroutine parchk  )

v25 
  src      Copied from v24/src
           add 1-Dim. Uniform Distribution. 
v26 
  src      Copied from v25/src
  src-2	   avoid Optimization error of hp-ux f77 command 

v27 
  src7-16  Copied from v26/src. rename ekind to etype
           change histgram output switch control ( aftout.f )
v28
  src7-16  expand "bun-kansu"
v29
  src7-16  checked by lintfor 
v32
  src7-16  change name drift space to free space
v40
  src7-16  add Q-Magnet 
v41
  src7-16  add wiggler2 
v53
  src      delete stsfth( sfth, zero ) in aini.f 
v54
  src      add external constant focusing 
v55
  src      independent lines for distribution type in input.f 
v60
  src      change input format for distribution type 
           add workarray wcs for subroutine gtlap
	      (array cs was dynamically made in gtlap before) 
           modify to avoid optimization bug HP Fortran.
v61
  src      add apature routines 
              sapat : for rectangular apature
              rapat : for circular apature
              aapat : for arbitorary apature

v70
  src     hx, hy(complex)  -> hx2, hy2(real)  
v71
  src	  add particle corrector and field corrector
             fel.f aft.f, wrkary.inc
v72
  src	  add nc to input field.
          run corrector nc times 
             fel.f
v73
  src	  remove nc from input field.
            for compatibility for ~v71
              (v72 is incompatible with ~v71,v73) 
          if nz > 0, run corrector twice(nc=2) else once(nc=1)
             fel.f
v74
  src	  add bessel function routine ( not polynomial approx. ) 
     DO NOT USE
 
v75
  src     full functional Bessel Function usage
     DO NOT USE.  Not reviced. 

v76
  src     full functional Bessel Function usage
  speed is almost half of v73