@falkamelung noted a race condition in #106 due to non-atomic directory
checking followed by os.makedirs. This pattern exists in many places
in the codebase so I went ahead and replaced the rest of them.
The new exist_ok usage should be terser and more idiomatic.
* move `val` definition to avoid undefined
Currently, with only one swath, or not enough points,
val doesnt get defined, so this error gets thrown:
File ".../isce/components/isceobj/TopsProc/runESD.py", line 115, in runESD
if val.size == 0 :
UnboundLocalError: local variable 'val' referenced before assignment
the `np.array` is added so that the `val.size` check makes sense,
as opposed to doing `.size` on a list
* fix string formats in error messages