!------------------------------------------------------------------

         subroutine symmetrizev(vv)

        implicit none
        include 'param_o.h'

        real,dimension(0:im+1,0:jm+1),intent(inout)::vv
        integer::i,j

        do i=1,(im-1)/2
	do j=1,i-1
	  vv(j,i)=vv(i,j)
        enddo
	enddo

        do i=1,(im-1)/2
        do j=1,(jm-1)/2
          vv(im-j,i)=vv(i,j)
	  vv(im-i,jm-j)=vv(i,j)
	  vv(j,jm-i)=vv(i,j)
        enddo
	enddo

	vv(:,0)=vv(:,1)
	vv(:,jm)=vv(:,jm-1)
	vv(0,:)=vv(1,:)
	vv(im,:)=vv(im-1,:)

        end subroutine symmetrizev

!------------------------------------------------------------------

         subroutine symmetrizeh(hh)

        implicit none
        include 'param_o.h'

        real,dimension(0:im+1,0:jm+1),intent(inout)::hh
        integer::i,j

        do i=1,(im+1)/2
	do j=1,i-1
	  hh(j,i)=hh(i,j)
        enddo
	enddo

        do i=1,(im+1)/2
        do j=1,(jm+1)/2
          hh(im-j+1,i)=hh(i,j)
	  hh(im-i+1,jm-j+1)=hh(i,j)
	  hh(j,jm-i+1)=hh(i,j)
        enddo
	enddo

	hh(:,0)=hh(:,2)
	hh(:,jm+1)=hh(:,jm-1)
	hh(0,:)=hh(2,:)
	hh(im+1,:)=hh(im-1,:)

        end subroutine symmetrizeh


