multithreaded temp curve
works pretty well
Add default compositions in case one isn't defined