PDI supports loose coupling of simulation codes with libraries.
This approach works well for a number of concerns including: parameters reading, data initialization, post-processing, result storage to disk, visualization, fault tolerance, logging, inclusion as part of code-coupling, inclusion as part of an ensemble run, etc.
Easy to use!
Annotate your simulation code,
Get access to all libraries from simple YAML