Catch out of memory errors, print error

This actually causes memory leaks at the moment since it doesn't
de-allocate any temporary memory before the exception is thrown.
Add option to force create photometric data

This is useful when we know we need to create it, such as when creating
a new scene.