copyright (C) 2001  MSC-RPN COMM  %%%MC2%%%
***s/r wrpref
*

      subroutine wrpref (pref,lnk,donut) 1
      implicit none 
*
      integer lnk,donut
      real pref(lnk)
#include "lcldim.cdk"
c#include "halo.cdk"
#include "partopo.cdk"
      integer i,j,iproc
*
*----------------------------------------------------------------------
*  
      if (donut.le.0) then
*
         do j=0,npey-1
         do i=0,npex-1
            iproc = j*npex + i
            call bmf_write ( gc_ld2(5,iproc), 'PREF',1,1,1,
     $                       1,1,1,lnk,1,lnk,0,0,0,0,41,0,lnk,pref)
         end do
         end do
*
      else
*
         iproc = 0
         call bmf_write ( gc_ld2(5,iproc)  , 'PREF',1,1,1,
     $                    1,1,1,lnk,1,lnk,0,0,0,0,41,0,lnk,pref)
         call bmf_write ( gc_ld2(5,iproc)+1, 'PREF',1,1,1,
     $                    1,1,1,lnk,1,lnk,0,0,0,0,41,0,lnk,pref)
         call bmf_write ( gc_ld2(5,iproc)+2, 'PREF',1,1,1,
     $                    1,1,1,lnk,1,lnk,0,0,0,0,41,0,lnk,pref)
         call bmf_write ( gc_ld2(5,iproc)+3, 'PREF',1,1,1,
     $                    1,1,1,lnk,1,lnk,0,0,0,0,41,0,lnk,pref)
*
      endif
*
*----------------------------------------------------------------------
      return
      end