I am new to atomate and thanks for developing and sharing the package! I would like to ask if it is feasible to have several sets of configs (FW_config.yaml, db.json and my_qadapter.yaml, etc) in atomate, e.g. one for serial jobs and one for parallel jobs, or one for defect and another for band-structure? If so, how to configure the settings so they all work well and mutually-unaffected?
Thanks for the help!
You can definitely have multiple groups of settings - either different settings on different machines, or different settings on the same machine. Note that I typically don’t have different db.json for the same “universe” of calculations.
Typically what I would do is to have a configuration directory that contains all the config files for a given setting. Then when doing any FireWorks style command (lpad, rlaunch, qlaunch), I would explicitly use the -c option to choose the configuration directory of choice. When working with Python scripts you just need to be careful in using the correct configuration files when loading objects.
There are other ways to do it as well - e.g., override only one of the configuration files using the appropriate flag in rlaunch / lpad / etc (e.g., -l option for my_launchpad.yaml file). But, this way is more prone to unintentional errors.
Let me know if you give it a try and end up having problems.