You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In its current state, esm-master relies heavily on a finalised config with parts also filled out needed for experiment running. This is not necessary for the goal of esm-master, and it should not need all that information.
We should collect and document cases where this causes headaches in this issue, and use it as a place for a possible redesign discussion.
Here's some pseudo-code that would make me happy if it were reality:
fromesm_toolsimportget_configclassEsmToolsSoftware:
def__init__(self, name, *args, **kwargs):
self.name=nameraiseNotImplementedError("You need to use a subclass for this, we only define the interface here!")
defcomp(self):
...
defget(self):
...
classEsmToolsComponent(EsmToolsSoftware):
definit(self, name, *args, **kwargs):
self._config=get_config(f"components/{name}")
super().__init__(name, *args, **kwargs)
esm-master CLI then reduces to:
@click.groupdefcli():
...
@cli.command@click.argument("name")defget(name):
EsmToolsClass=ComponentOrSetup(name) # Use your imaginationesm_obj=EsmToolsClass(name)
esm_obj.get()
The text was updated successfully, but these errors were encountered:
In essence we need an esm_master recipe as we have for esm_runscripts. At the moment it is using the prepare recipe from esm_runscripts, and that's why it tries to do coupling stuff.
ESM-Master needs to rely on the finalized config because the users might write a lot of interdependent things in their config yamls and they might expect that it works the same way for esm_runscripts and esm_master. And indeed, I know for a fact that users do this all the time.
In its current state,
esm-master
relies heavily on a finalised config with parts also filled out needed for experiment running. This is not necessary for the goal of esm-master, and it should not need all that information.We should collect and document cases where this causes headaches in this issue, and use it as a place for a possible redesign discussion.
Here's some pseudo-code that would make me happy if it were reality:
esm-master
CLI then reduces to:The text was updated successfully, but these errors were encountered: