If e3sm_diags is executed via a Python script, the default diagnostics will always execute and the CoreParameter.sets attribute defined in the Python script is ignored.
This means debugging can't be done on a single set/variable. Instead, this behavior should be fixed because debugging is much easier by executing a Python script that defines a single CoreParameter object with a single set and a few variables.
If the user wants to run the default sets, they should manually do that via the CLI (e.g., e3sm_diags -d lat_lon_model_vs_model.cfg).
Overview
If e3sm_diags is executed via a Python script, the default diagnostics will always execute and the
CoreParameter.sets
attribute defined in the Python script is ignored.This means debugging can't be done on a single set/variable. Instead, this behavior should be fixed because debugging is much easier by executing a Python script that defines a single
CoreParameter
object with a single set and a few variables.If the user wants to run the default sets, they should manually do that via the CLI (e.g.,
e3sm_diags -d lat_lon_model_vs_model.cfg
).Related Code
CoreParameter.sets
is a list of all of the sets: https://github.com/E3SM-Project/e3sm_diags/blob/a2d00eb114cf505a4ecf4dd429bb8710778cc087/e3sm_diags/parameter/core_parameter.py#L55-L76Run.sets_to_run = CoreParameter().sets
default value. https://github.com/E3SM-Project/e3sm_diags/blob/a2d00eb114cf505a4ecf4dd429bb8710778cc087/e3sm_diags/run.py#L20-L22Run.get_final_parameters()
sets_to_run
to get the sets from the defined Parameter objects viaparameters
argOriginal Discussion: https://github.com/E3SM-Project/e3sm_diags/pull/677#discussion_r1336407071