The function setup_solver returns an object of type SolverConfiguration, and thus appears to be a constructor for SolverConfiguration. There does not appear to be a separate interface for instantiating SolverConfiguration other than the default constructor.
When attempting to learn how the CLIMA code works and reading ocean_gyre.jl script, I was confused at first about the role of the function setup_solver and the nature of the object it returned.
Agreed. Also, I think there are opportunities to make some variables/functions related to the drivers more descriptive.
I would be okay with the change: in general having fewer names is better. @kpamnany is away at the moment, it would be good to hear his thoughts.
Just for completeness, other things to change:
setup_diagnostics() => DiagnosticsConfigurationsetup_interpolation() => InterpolationConfiguration (but I think this needs some thought and discussion with @skandalaCLIMA)Anything else?
Most helpful comment
I would be okay with the change: in general having fewer names is better. @kpamnany is away at the moment, it would be good to hear his thoughts.