         subroutine   norm(norm_vec,vec,n)

c------------------------------------------------------------
c        Computes l-2 norm (RMS value) of a vector.
c------------------------------------------------------------

         implicit     none
 
         character*4  cdnm
         parameter  ( cdnm = 'norm' )
 
         integer      n
     
         real*8       vec(n)

         real*8       norm_vec
      
         integer      i

         logical      ltrace
         parameter  ( ltrace = .false. ) 

c========================================================
c========================================================
         norm_vec = 0.0d0 
         do i = 1 , n
            norm_vec = norm_vec + vec(i)**2
         enddo
         norm_vec = sqrt(norm_vec)
         if ( ltrace ) then 
            write(0,*) cdnm,':'
            write(0,*) cdnm,': n=',n
            write(0,*) cdnm,': vec='
            write(0,*) vec
            write(0,*) cdnm,': norm_vec=',norm_vec
         endif 
         return
         end 
