Hello,
In parallel you do not have all the points in a sub-domain, and their number is changed, with the property:
global number in original mesh = MESH%KNOLG%I(local number in subdomain)
Then in a subdomain you have :
local number in subdomain = MESH%NBOR%I(boundary number in sub-domain)
You also have :
original boundary number in sub-domain = BOUNDARY_COLOUR%I(local boundary number in sub-domain)
It is difficult to help you more since we do not see explanations on your algorithm, but as you never use any of these 3 arrays it is a hint that it cannot work in parallel.
With best regards,
Jean-Michel Hervouet