-
Notifications
You must be signed in to change notification settings - Fork 383
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
EAMxx: Initial Work on Developer Quick-start Guide #7043
Conversation
|
da1c2cd
to
a5de4dc
Compare
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.
looks good, we just need to fix the linter; @mjschmidt271 if you're done, I can push to this branch and fix everything; let me know
@mahf708 I've got a few things I'd like to finish up, as well as carve out all the in-progress chaos outside of the dev quickstart. Planning to have it ready to merge tomorrow (Friday), though, so I'll keep you posted! |
take your time, no rush on my side |
a5de4dc
to
8fa5fef
Compare
Alright... after a bare-knuckle brawl with the linter, I do believe this PR is all set. A couple notes:
Thanks! |
96187b6
to
fa9c719
Compare
Hmm, looks like the gh-pages preview isn't completing due to an issue with the I'm guessing it's related to the "scream" to "eamxx" repo-wide changes, but I can confirm the docs are building locally for me |
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.
@mjschmidt271 looks mostly good
- you removed the common folder which was used to host the automatically generated params file, so I moved it to user (which will now trigger all testing since two edits were needed outside of components/eamxx/docs). I assumed you did this change intentionally, but if not, we can revert.
- I encourage smaller updates in general. Big docs updates are usually harder to review meaningfully. I would focus on very specific item; for example, if you wanted to get test-all-eamxx docs done here, you could just focus on adding that one single file for that. Big changes make for confusing PRs and unlikely to get reviewed well enough, which usually means stuff gets lost and is slow to integrate.
- I would avoid copying/pasting verbose tons of stuff that may change with no notice leaving docs stale. Examples include the printout from
test-all-eamxx --help
and the contents of a python file. I would just point the user to do these things on their own.
Ultimately, I think this is mostly fine and we can integrate it as-is, but let me know if you want to refocus it. We can always iterate on more fixes, etc., later. If you prefer to wait to integrate a cleaner version, then that's fine too.
|
||
If you are unsure of the cmake configuration for you development cycle, one | ||
trick you can use is to run `test-all-eamxx` for the `dbg` test and just | ||
copy the cmake command it prints (then ctrl-C the process). |
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.
we also have a --config-only
option above (I don't think we should encourage users to do ctrl-C)
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.
Ah, thanks! Hadn't done a deep dive on this file yet, but I like the suggestion--changed!
|
||
#include "share/atm_process/atmosphere_process.hpp" | ||
|
||
namespace eamxx { |
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.
I think we are still in the namespace scream era
For the purposes of this guide, we will employ the working example | ||
of adding a new [atmosphere processes](../processes.md) | ||
to the MAM4xx aerosol library, specifically | ||
the not-real, example process "**Ash-Injection**." |
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.
did you discuss this with luca/aaron?
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.
because we have a whole exerise on this for the tutorial
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.
Haha, yeah. I had a different stand-in process, but Luca recommended and wrote some of the Ash-Injection example. Simplified a little, as compared to the tutorial as well, I believe
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.
Yeah, I basically half-copied the pompei example here. Later, we may consider moving this into its own page, and adding the polished pompei example from the tutorial. For now, I think it's good.
@@ -1,5 +1,5 @@ | |||
# Input-Output | |||
|
|||
In EAMxx, I/O is handled through the SCORPIO library, currently a submodule of | |||
E3SM. The `scream_io` library within eamxx allows to interface the EAMxx | |||
E3SM. The `eamxx_io` library within eamxx allows to interface the EAMxx |
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.
I don't think we have changed this one yet.
411908e
to
31ecf44
Compare
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.
This is GREAT! I think it's a great step forward, so we should integrate sooner than later. I do have some comments we should address though.
components/eamxx/docs/developer/dev_testing/full_model_testing.md
Outdated
Show resolved
Hide resolved
components/eamxx/docs/developer/dev_testing/full_model_testing.md
Outdated
Show resolved
Hide resolved
For the purposes of this guide, we will employ the working example | ||
of adding a new [atmosphere processes](../processes.md) | ||
to the MAM4xx aerosol library, specifically | ||
the not-real, example process "**Ash-Injection**." |
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.
Yeah, I basically half-copied the pompei example here. Later, we may consider moving this into its own page, and adding the polished pompei example from the tutorial. For now, I think it's good.
--- model_configuration.md cleaned up and linted move, modify, clean up dev testing files major updates for current PR finished
rebasing/force-pushing... |
53af7d5
to
5348bf5
Compare
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.
🍏
Improve EAMxx documentation. Most notably, add a developer quick-start guide. [BFB]
Improve EAMxx documentation. Most notably, add a developer quick-start guide.
[BFB]
(Re-do of #7042 to switch branch to E3SM-Project rather than fork)
Putting this PR up as a draft to allow others to take a look and provide feedback.
Thus far, most of the work has been on the Developer Guide's Quick-start Guide. However, I've also made a mess of much of the rest of the pages with scatterbrained notes and partially-complete edits. So, consider it a ROUGH DRAFT at this point.
If we get to the point where The Dev QSG looks acceptable, I can submit a separate PR to get that merged quickly.
To Do
scream
eamxx
mkdocs.yml
@AaronDonahue @bartgol @mahf708 @singhbalwinder @odiazib @jaelynlitz @overfelt