Fix bug in non_uniform_z fields
Add signal handling to llg_driver to finish writing output even if interrupted