partial numpy port of cie2000 and skeleton of cmc