Part only returns multiples of 2

When using ParMETIS_V3_PartKway on a workstation with duo or quad cores, the routine returns part values up to the request nparts, but only even numbers; e.g. if nparts = 8, part returns 2,4,6,8. The routine is being called from a Fortran code, and ParMETIS is compiled with PETSc. Any insight into this problem would be greatly appreciated.

RE: REAL(8) vs. REAL(4)

Make sure that your weights (particularly tpwgts) are defined to be the same size as a C float. If you're using 64-bit reals, they are C doubles, which in some circumstances is equivalent to putting zeros in memory between the elements of your array.