Skip to content
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

✨ NEW: Module on troubleshooting calculations #353

Merged
merged 7 commits into from
Jun 30, 2021
Merged

✨ NEW: Module on troubleshooting calculations #353

merged 7 commits into from
Jun 30, 2021

Conversation

ramirezfranciscof
Copy link
Member

@ramirezfranciscof ramirezfranciscof commented Jun 11, 2021

I took the content of the former running computations section that was
specific for troubleshooting errors and created a new module for it.

It includes:

  1. An introduction with a warning of the previous knowledge required,
    together with a link to the section where to get it.

  2. A setup subsection where they prepare the calculation; I propose to
    use the builder of pw and give them the faulty input parameters, but
    setting up the structure, kpoints and pseudo is left as exercise.

  3. Dry run to simulate the submission.

  4. Troubleshooting an error: check the process status, the logs, the
    output, and the inputs.

  5. Restarting the calculation using get_builder_restart.

Closes #354

@ramirezfranciscof
Copy link
Member Author

@mbercx : In the end you didn't create any issues for the running calculation sections, right? Not necessary since we met and discussed, just making sure I was not ignoring some important indications that I missed.

@CasperWA hey you are my session buddy, take a look, I meid dis.

@ramirezfranciscof
Copy link
Member Author

Comments on the general structure, content, or specifics apart: I think we can probably all agree that it is ok to have here the dry run, the verdi process report and the get_builder_restart, but I would like to know if you agree that this is also the place for the outputcat and inputcat/inputls (in which case I will also later remove them from the calculations/basic section). I think this is ok since the reason why one would like to take a look at the input and output files is typically related to troubleshooting.

@mbercx
Copy link
Member

mbercx commented Jun 12, 2021

Thanks, @ramirezfranciscof! I just had a quick look, and it already looks great! Will leave a detailed review to @CasperWA, but to answer your questions:

In the end you didn't create any issues for the running calculation sections, right? Not necessary since we met and discussed, just making sure I was not ignoring some important indications that I missed.

No, you're right! I wouldn't want to deprive you of the satisfaction of closing an issue, so I opened #354. 😁

[...], but I would like to know if you agree that this is also the place for the outputcat and inputcat/inputls (in which case I will also later remove them from the calculations/basic section). I think this is ok since the reason why one would like to take a look at the input and output files is typically related to troubleshooting.

I think it's indeed a good idea to show them the error in the QE stdout using outputls/outputcat. However, I'm not sure if it's needed to remove the parts where they are used in the calculation/basic section. There the purpose was to get more details on a successful run (which I think is also a valid use case), here it's to debug. I think it's fine to show the two use cases, it's not really repetitive, but rather reminds them of this command.

@mbercx mbercx changed the title NEW: Section on troubleshooting calculations ✨ NEW: Module on troubleshooting calculations Jun 12, 2021
@ramirezfranciscof
Copy link
Member Author

ramirezfranciscof commented Jun 14, 2021

I think it's indeed a good idea to show them the error in the QE stdout using outputls/outputcat. However, I'm not sure if it's needed to remove the parts where they are used in the calculation/basic section. There the purpose was to get more details on a successful run (which I think is also a valid use case), here it's to debug. I think it's fine to show the two use cases, it's not really repetitive, but rather reminds them of this command.

Mmm yeah I see what you mean. It is true you may want to check some stuff directly from the output, but I still have the feeling that 99% of those checks are "debug related" checks. For general status you just check the verdi process list (and only check the output if there is a problem there), and all the useful data from a successful run is supposed to be on the output nodes (I would argue that if there is something you need to be checking on the output file after a successful run, you probably have a good case for requesting the plugin developer the option to include that in an output node).

There is also the matter of "flow" of the tutorial: I agree using repetition strategically can be good, but also we need to be careful because too much also confuses people (I think we had some complaints in this direction last tutorial, no?). I would perhaps save that for more critical concepts; let me see how the section looks like when I remove that, if you still don't like it I can always put it back.

@mbercx
Copy link
Member

mbercx commented Jun 22, 2021

Mmm yeah I see what you mean. It is true you may want to check some stuff directly from the output, but I still have the feeling that 99% of those checks are "debug related" checks. For general status you just check the verdi process list (and only check the output if there is a problem there), and all the useful data from a successful run is supposed to be on the output nodes (I would argue that if there is something you need to be checking on the output file after a successful run, you probably have a good case for requesting the plugin developer the option to include that in an output node).

I agree that typically you wouldn't get your results using these commands, but again: a tutorial isn't meant to always show you the 'correct' way to do things. I think it's still good for them to also have a look at the (probably familiar) QE stdout.

There is also the matter of "flow" of the tutorial: I agree using repetition strategically can be good, but also we need to be careful because too much also confuses people (I think we had some complaints in this direction last tutorial, no?).

Actually, based on the feedback, the vast majority of participants of last year did not thing there was too much repetition in the tutorial material, so I wouldn't worry too much about it.

@CasperWA CasperWA linked an issue Jun 25, 2021 that may be closed by this pull request
@ramirezfranciscof
Copy link
Member Author

@CasperWA 😬

@CasperWA
Copy link
Contributor

@CasperWA grimacing

Chill, dude.

Copy link
Contributor

@CasperWA CasperWA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

There are some issues with "you" versus "we" though. I think the "we" perspective is from the original text and you've used "you". Choose one. Indeed, one of these perspectives should be chosen for the whole tutorial. I personally would go for "you", since it feels less disrespectful when reading it...

There also something about Node versus node. I'm not completely sure about this, though?

docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
@mbercx
Copy link
Member

mbercx commented Jun 25, 2021

There are some issues with "you" versus "we" though. I think the "we" perspective is from the original text and you've used "you". Choose one. Indeed, one of these perspectives should be chosen for the whole tutorial. I personally would go for "you", since it feels less disrespectful when reading it...

Good point, probably best to give this some thought and then try to be consistent throughout the tutorial! I've opened #360 for this.

@mbercx mbercx closed this Jun 25, 2021
@mbercx mbercx reopened this Jun 25, 2021
@mbercx
Copy link
Member

mbercx commented Jun 25, 2021

Sorry, accidentally touched my touch pad with the palm of my hand as I was hovering over the "Close" button 😅

@CasperWA
Copy link
Contributor

Also, going through my sections I see that we now more commonly use node and not Node. This should then be done for all pages, only using the capitalized version if one is discussing/mentioning the actual Python class name.
Mentioning @mbercx and @chrisjsewell as well for this point.

@mbercx
Copy link
Member

mbercx commented Jun 28, 2021

Also, going through my sections I see that we now more commonly use node and not Node. This should then be done for all pages, only using the capitalized version if one is discussing/mentioning the actual Python class name.

Fair point! Have opened #361 for this so I keep it in mind as I'm giving a pass to all sections.

@ramirezfranciscof
Copy link
Member Author

@CasperWA thanks for the thorough first pass! I think I have now addressed all points (+rebased the branch) and it is ready for a second go.

docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
@CasperWA
Copy link
Contributor

Ready to be re-reviewed or?

@ramirezfranciscof
Copy link
Member Author

Ready to be re-reviewed or?

Ah sure. Since I just accepted all the modifications I assumed that would be it but if you have more comments let them come. The only thing remaining is the PK correction which I'm only waiting for @mbercx to confirm if I open a new issue or use the existing one.

@CasperWA
Copy link
Contributor

Ready to be re-reviewed or?

Ah sure. Since I just accepted all the modifications I assumed that would be it but if you have more comments let them come. The only thing remaining is the PK correction which I'm only waiting for @mbercx to confirm if I open a new issue or use the existing one.

Just make a new one.

@ramirezfranciscof
Copy link
Member Author

Ba-dam done, feel free to re-re-review @CasperWA .

Copy link
Contributor

@CasperWA CasperWA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine when the final correction here has been implemented.

docs/sections/calculations/errors.md Outdated Show resolved Hide resolved
ramirezfranciscof and others added 7 commits June 30, 2021 17:21
I took the content of the former `running computations` section that was
specific for troubleshooting errors and created a new module for it.

It includes:

1. An introduction with a warning of the previous knowledge required,
   together with a link to the section where to get it.

2. A setup subsection where they prepare the calculation; I propose to
   use the builder of pw and give them the faulty input parameters, but
   setting up the structure, kpoints and pseudo is left as exercise.

3. Dry run to simulate the submission.

4. Troubleshooting an error: check the process status, the logs, the
   output, and the inputs.

5. Restarting the calculation using `get_builder_restart`.
Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com>
Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com>
Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com>
Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com>
Co-authored-by: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com>
@mbercx
Copy link
Member

mbercx commented Jun 30, 2021

The only thing remaining is the PK correction which I'm only waiting for @mbercx to confirm if I open a new issue or use the existing one.

Sorry, I hadn't noticed the "new" mention. 😅 But yeah, opening a new issue is good 👍

@ramirezfranciscof ramirezfranciscof merged commit 931e3d9 into aiidateam:tutorial-2021-intro-week Jun 30, 2021
@ramirezfranciscof ramirezfranciscof deleted the troubleshoot branch June 30, 2021 15:38
mbercx pushed a commit that referenced this pull request Jul 4, 2021
Major revamp of the "Running calculations" section:

* Removed all things related to troubleshooting (moved to a different module, see #353 )
* Changed introduction to highlight the contrast between how data is organized when running normally vs running with AiiDA. This is in hope that it'll illustrate more explicitly "how to do with AiiDA the things I already know how to do on my own".
* Separated main content into 2 main sections: preliminary setups (which are performed using verdi CLI) and preparing the calculation (which is performed using the verdi shell). This is to address the problem we typically have of people needing to go back and forth from bash to python.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ NEW: Module on "Troubleshooting" calculations
3 participants