Fine-grained handler control using use_custodian

Is it possible to change the handling of an individual error (specifically, ignore EDDRMM errors) using the use_custodian powerup?
The flow of information goes

use_custodian -> RunVaspCustodian ? VaspErrorHandler

The VaspErrorHandler class in Custodian takes an argument called errors_subset_to_detect. However, it seems that use_custodian can only choose between four groups in RunVaspCustodian and isn’t able to pass any arguments to the individual handlers. Do I need to find some way of modifying each job’s VaspErrorHandler individually, or am I missing something?

Hi,

It is true that the powerup only allows you to select between groups of handlers. I just pushed an update, which will be released in atomate v0.7.7 shortly, that allows the “handler_group” variable to accept an explicit list of ErrorHandler objects from custodian. Thus, you can pick and choose which ErrorHandler groups you want to use. If you want to not correct EDDRMM errors then if including VaspErrorHandler you need to use use the “errors_subset_to_catch” argument to turn off EDDRMM from that handler.

If you think that custodian is not doing a good job of EDDRMM and have an alternate solution, I’d suggest posting that on the custodian github issues.

Best,

Anubhav

···

On Thursday, May 10, 2018 at 4:59:31 PM UTC-7, Steven Hartman wrote:

Is it possible to change the handling of an individual error (specifically, ignore EDDRMM errors) using the use_custodian powerup?
The flow of information goes

use_custodian → RunVaspCustodian ? VaspErrorHandler

The VaspErrorHandler class in Custodian takes an argument called errors_subset_to_detect. However, it seems that use_custodian can only choose between four groups in RunVaspCustodian and isn’t able to pass any arguments to the individual handlers. Do I need to find some way of modifying each job’s VaspErrorHandler individually, or am I missing something?

ok v0.7.7 is released.

···

On Friday, May 11, 2018 at 10:16:30 AM UTC-7, Anubhav Jain wrote:

Hi,

It is true that the powerup only allows you to select between groups of handlers. I just pushed an update, which will be released in atomate v0.7.7 shortly, that allows the “handler_group” variable to accept an explicit list of ErrorHandler objects from custodian. Thus, you can pick and choose which ErrorHandler groups you want to use. If you want to not correct EDDRMM errors then if including VaspErrorHandler you need to use use the “errors_subset_to_catch” argument to turn off EDDRMM from that handler.

If you think that custodian is not doing a good job of EDDRMM and have an alternate solution, I’d suggest posting that on the custodian github issues.

Best,

Anubhav

On Thursday, May 10, 2018 at 4:59:31 PM UTC-7, Steven Hartman wrote:

Is it possible to change the handling of an individual error (specifically, ignore EDDRMM errors) using the use_custodian powerup?
The flow of information goes

use_custodian → RunVaspCustodian ? VaspErrorHandler

The VaspErrorHandler class in Custodian takes an argument called errors_subset_to_detect. However, it seems that use_custodian can only choose between four groups in RunVaspCustodian and isn’t able to pass any arguments to the individual handlers. Do I need to find some way of modifying each job’s VaspErrorHandler individually, or am I missing something?