Reducing the verbosity of the tutorial#444
Reducing the verbosity of the tutorial#444ConnorWelch-OSU wants to merge 21 commits intocyclus:sourcefrom
Conversation
abachma2
left a comment
There was a problem hiding this comment.
Thanks for doing this @ConnorWelch-OSU. I think this PR accomplishes the goal of removing some verbosity from the tutorial.
In the add_arche, add_commod_recipe and sim_parm files, it looks like you took out the completed blocks for users to compare against, but kept those in add_proto and add_reg_inst. Any reason for that inconsistency? I think having the completed blocks in the tutorial before the final input file has value.
| **Note**: There are two blank lines between the end of the control section and | ||
| end of the simulation section. This section of the simulation block will hold | ||
| the rest of the simulation parameter blocks (commodities, facilities, regions, |
There was a problem hiding this comment.
Do we still need this if we don't have the completed control block anymore?
There was a problem hiding this comment.
My thinking in leaving it was that the template that appears earlier in the page does contain the two blank lines. It might make more sense to have it further up the page in the section that describes the different parts of the template. I can make that change if its what we want.
There was a problem hiding this comment.
Please add in those sections. I think they are valuable and make things more consistent.
There was a problem hiding this comment.
Thanks for the feedback. I have added them in.
There was a problem hiding this comment.
I think the added completed control block is good for the beginner as this page is their first introduction to seeing completed cyclus input!
There was a problem hiding this comment.
Do we think the presence of these blank lines is distracting/concerning to learners? If so, it might be best to get rid of them than to draw attention to them with this note?
There was a problem hiding this comment.
From my personal experience going through the tutorial, having the blank lines was helpful for understanding that everything else in the tutorial was going to be put in between the control block and </simulation> tag
I agree that having completed blocks has value. My opinion is that the completed block should appear in a "Check" section at the end of each page, and that's how they are in |
abachma2
left a comment
There was a problem hiding this comment.
Thanks for making that change @ConnorWelch-OSU. I am approving this PR. I'll leave this open for another few days, in case anyone else wants to look at this. Feel free to ping me to merge this if you think enough time has passed and I haven't merged this yet.
meg-krieg
left a comment
There was a problem hiding this comment.
Most of my comments are cosmetic except for 1 typo.
I do still think the Add Region and Institution activity could be even less verbose. There are a lot of sequences of xml blocks to get to the general template... I am not sure how that reduction would look though.
|
|
||
|
|
||
| </region> | ||
| Let's build the ``ReactorUtility`` institution. This institution has one ``1178MWe ReactorPlant Unit 1`` prototype. |
There was a problem hiding this comment.
Is this redundant compared to the above lines still under Activity?
There was a problem hiding this comment.
I can make changes improve the wording.
| **Note**: There are two blank lines between the end of the control section and | ||
| end of the simulation section. This section of the simulation block will hold | ||
| the rest of the simulation parameter blocks (commodities, facilities, regions, |
There was a problem hiding this comment.
I think the added completed control block is good for the beginner as this page is their first introduction to seeing completed cyclus input!
| </facility> | ||
|
|
||
| .. rubric:: Footnotes | ||
| .. [#f1] The exact order of the sections in a |Cyclus| input file are of minor consequence. The ``control`` sequence must go first, but the other sequences can go in any order that makes sense to the user. The traditional organization of an input file is: control, archetypes, commodities, facilities, regions/institutions, and recipes. |
There was a problem hiding this comment.
Maybe this comment isn't for this PR, but is there a better home for this footnote (and the other repeats of this footnote)? Would go with the "reduce" verbosity goal of this PR.
There was a problem hiding this comment.
I agree that there would be value in stating the information from the footnote early on in the tutorial, but I decided to leave it for this PR so it can be discussed as a separate issue.
There was a problem hiding this comment.
I think maybe a subsection called Structure and Syntax in the sim_parm.rst or a new page before that could be good for this footnote . That could also be a place to mention that "hyphen" comment seen in the commodities section and stuff about capitalization mattering etc.
typo fix Co-authored-by: meg-krieg <kriegm@oregonstate.edu>
|
Thanks for your review, @meg-krieg. I made changes to
I agree that there's still room to improve the flow here, but I think the page requires some structural changes to achieve that. |
gonuke
left a comment
There was a problem hiding this comment.
Thanks @ConnorWelch-OSU - I've got a few comments here... Look forward to your thoughts
| **Note**: There are two blank lines between the end of the control section and | ||
| end of the simulation section. This section of the simulation block will hold | ||
| the rest of the simulation parameter blocks (commodities, facilities, regions, |
There was a problem hiding this comment.
Do we think the presence of these blank lines is distracting/concerning to learners? If so, it might be best to get rid of them than to draw attention to them with this note?
source/user/tutorial/add_arche.rst
Outdated
There was a problem hiding this comment.
should we get rid of these underscore characters while we're at it... the table below doesn't have them
There was a problem hiding this comment.
Yes, that is a good idea. I will make those changes.
source/user/tutorial/add_arche.rst
Outdated
There was a problem hiding this comment.
Curious... is there any confusion in the fact that the XML entry is name but we call this variable arch1?
Also, we end up with more archetypes in this table than in the template. Any thoughts on rearranging this table to be something like:
+--------------+---------------+----------------+
| archetype # | lib | name |
+--------------+---------------+----------------+
| 1 | cycamore | Enrichment |
+--------------+---------------+----------------+
| 2 | cycamore | Reactor |
+--------------+---------------+----------------+
| 3 | cycamore | Source |
+--------------+---------------+----------------+
| 4 | cycamore | Sink |
+--------------+---------------+----------------+
There was a problem hiding this comment.
I think that your suggestion for rearranging the table would be more clear than the current table, but I could see the potential for confusion with the archetype # column since lib comes before arch in the template. Maybe we get rid of the lib and arch numbering in the template all together and just direct the user create four <spec> blocks with the information in the table. What are your thoughts on that?
There was a problem hiding this comment.
I noticed that in later pages, we put [string] in the placeholders. Maybe that's more consistent and we can then replace .arch with name since name is the XML element
There was a problem hiding this comment.
So, for clarity, we would replace lib1, arch1, etc. in the template with [string]. But then, where is the arch that we would be replacing with name?
There was a problem hiding this comment.
Right! My new table suggestion had already referred to name so you can ignore that part of my comment
There was a problem hiding this comment.
Should we remove this section or move it somewhere else? It's an optional and advanced feature that we haven't really explained. I think we can talk about the role of commodities without describing how or the option of adding a commodities block...
There was a problem hiding this comment.
Maybe my understanding is lacking, but don't wee need to define the commodities in order to use them as in and out commodities for prototypes?
There was a problem hiding this comment.
We don't need to define them. Your understanding may actually stem from this part of the tutorial! 😀
Commodities are defined implicitly by their use in archetypes.
There was a problem hiding this comment.
In that case, I agree. This section isn't necessary, and may even cause confusion, as it did for me. If we were to move it, where would be the best place for it? Otherwise, I can remove it.
There was a problem hiding this comment.
I think the part that introduces the concept of commodities within the DRE is useful and can stay. Starting with the "Activity" we can remove it and add a sentence or two that states that commodities don't have to be explicitly defined. Rather, they are defined implicitly by the facilities and the commodities they choose to trade.
| | ``arch6`` | ``NullInst`` | Name of archetype | | ||
| +-------------+------------------+----------------------------+ | ||
|
|
||
| .. code-block:: XML |
There was a problem hiding this comment.
So we need this template again, or can we just refer back to the earlier location?
There was a problem hiding this comment.
We can probably exclude the template here and refer back to the archetypes page. The other option would be to instruct the user to add NullRegion and NullInst on the archetypes page.
There was a problem hiding this comment.
I think we avoid putting these on the archetypes page because we haven't introduced the concept of regions and institutions yet.
There was a problem hiding this comment.
That makes sense. I will remove the template here and add a reference to the archetypes page.
|
Thanks for the detailed review @gonuke. I've made the following changes to address your suggestions.
I also fixed the formatting for the code block and table in |
gonuke
left a comment
There was a problem hiding this comment.
This is getting close, @ConnorWelch-OSU - a couple of little comments/requests here
| +=============+=============+==================+ | ||
| | 1 | ``lib`` | ``cycamore`` | | ||
| + +-------------+------------------+ | ||
| | | ``arch`` | ``Source`` | |
There was a problem hiding this comment.
There is no variable named "arch" - can we change this to "name"?
| <name>nat_u</name> | ||
| <basis>mass</basis> | ||
| <nuclide> | ||
| <id>92235</id> | ||
| <comp>0.00711</comp> | ||
| </nuclide> | ||
| <nuclide> | ||
| <id>92238</id> | ||
| <comp>0.99289</comp> |
There was a problem hiding this comment.
Should this be a template, per our normal pattern?
| +=============+=============+==================+ | ||
| | 5 | ``lib`` | ``agents`` | | ||
| + +-------------+------------------+ | ||
| | | ``arch`` | ``NullRegion`` | |
There was a problem hiding this comment.
| | | ``arch`` | ``NullRegion`` | | |
| | | ``name`` | ``NullRegion`` | |
Summary of Changes
This PR address the verbosity of the tutorial identified in #442. To reduce verbosity, repeated examples of XML blocks were removed, leaving only a template for each section of an input file. Additionally, minor changes to the text around where XML blocks were removed has been edited to fit the new context that it exists in.
Design Notes
I did not remove the XML blocks that users can use to check that their input files are correct that are at the end of some pages. There is a discussion to be had on whether these are something that we want to keep or not.
Check the box if your change does not break any of the following:
Related CEPs and Issues
Fixes #442
Associated Developers
Testing and Validation
Reviewers, please refer to the Cyclus Guide for Reviewers.