Tied together functional allocation and albedo, externalized variables...committing so I can debug on several platforms before the weekend