- 
                Notifications
    
You must be signed in to change notification settings  - Fork 3
 
New feat: EpwBaseWorkChain #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: