Conversation
A new EpwBaseWorkChain is constructed based on EpwCalculation. Relative files are also modified: - aiida entry points in pyproject.toml is updated, the top level key is also set to 'epw' from 'supercon'. - a new file 'base.py' is add containing EpwBaseWorkChain - the parts of the EpwWorkChain in epw.py which is previously related to EpwCalculation, including the define(), get_builder_from_protocol() and run_epw() are now adapted for the new EpwWorkChain - a new protocol yaml is added in protocols/base.yaml, this is the protocol for new EpwBaseWorkChain - the corresponding epw part of the epw.yaml protocol is substituted by epw_base of the new WorkChain
|
Thanks a lot @ymzhang0, great that you made the effort to isolate these changes for a separate PR! I'll do a more thorough code review later, but wanted to discuss some broad comments first:
|
|
Hello Marnik, Thanks for the comments.
|
|
Thanks for the comments @ymzhang0! I'll respond point by point:
|
the input namespace for EpwCalculation is fully exposed in EpwBaseWorkChain. Related code and protocols are adapted for this change. EpwWorkChan is renamed as EpwPrepWorkChain. validations are stashed for next PR. A small validation of parameters are moved into EpwCalculation. comments are deleted. function `check_kpoints_compatibility` is moved into tools/kpoints.py
|
OK I've made the changes.
|
|
Thanks for the changes @ymzhang0, much appreciated. I started having a look, but noticed some things that should have been caught by the Ruff formatter/linter. I then realised the CI isn't set up yet. Do you mind if I do this separately, by updating the package template, and then rebase your PR? Then you can see how the pre-commit/CI etc works. Also happy to explain this over a Zoom call. |
|
Hi Manrik, Please feel free to do so. We can of course schedule a zoom call for that. |
There was a problem hiding this comment.
Thanks @ymzhang0! I went through the changes and still left some comments, most of them pretty minor. I didn't fully review the EpwBaseWorkChain yet. I think I still want to change how the options are exposed, but let's switch roles for that one: I'll make the changes based on my draft for the PwBaseWorkChain, and then you can review.
I decided to postpone updating the template; running the linter on the current code base would result in a lot of merge conflicts for this PR, which would be a pain. Let's first integrate your other local changes as well, then we can add the pre-commit etc. and clean things up.
To speed things up: I'll make changes to your branch directly to resolve my comments, and then merge the PR so we can continue working. Let's try to have PRs with a smaller scope in the future, though. :)
EDIT: I've made my suggested changes in ab1c5cf. You can still see the comments in the resolved notes below.
A new EpwBaseWorkChain is constructed based on EpwCalculation. Relative files are also modified: