-
Notifications
You must be signed in to change notification settings - Fork 0
Description
As the title says, I would like to remove the need for the operator_card (and _template.yaml
) in pineko. Below the reasoning. I'd like some feedback (@felixhekhorn @giacomomagni ) on whether
- This is a good idea (maybe there's a reason why we need those I'm not considering)
- My ultimate goal is doable
Reasoning:
Given a theory card, a grid and a _template.yaml, I can reproduce any operator_card.yaml. Therefore, the operator_card as an standalone object does not add any extra information. In addition, both the EKO and the FKTable contain a copy of the operator_card so reproducibility is ensured already (they used not to be available in the FK). Therefore, I would like to remove the need for the opcard command and, instead, the ekos command will generate it and use it on the go.
_template.yaml:
Then, I would also like to remove the _template.yaml and either hard-code these options in pineko or add them as command-line argument (here I need some feedback as well @Radonirinaunimi @giacomomagni )
For instance, in my experience the only thing I ever change in _template.yaml is the number of cores and usually I need to then set it manually (and differently) for different datasets, which makes the autogeneration of the operator card a bit useless.
There might be other options that are necessary and those should be added (if they are not many) to the command.
Ultimate noble goal:
The reason I want to get rid of the operator cards is that I would like to generate eko with a "fake" operator card to get a subset of ekos in one go. This can speed up things considerably because many datasets actually share the EKOs.
My idea is that when one calls pineko with a list of datasets and do pineko theory ekos , pineko will actually create a big eko with all the necessary operators, and then pineko theory fks will just look into that eko to see whether the necessary operators are available.
In a first step this will be done in a lazy way, so at the end of ekos the big eko will be separated into the small eko-per-grid so that the rest of the code and scripts work just the same.
Of course this first implementation requires some care from the user (e.g., running all DY or TTB at once will be very effective, mixing jets and NMC will explode in your face) but later on we can even optimize that.
This issue is obviously connected with both #173 and with #201