Skip to content

Conversation

mjschmidt271
Copy link
Contributor

Adds TPLs page to Developer Guide and reorganizes Dev Quick-start.

[BFB]


This PR adds a page to the Developer Guide that describes the TPLs that are required for building and running EAMxx on a non-supported machine. It also provides some high-level instructions for what may be required to configure and install/build these TPLs.

Additionally, this PR reorganizes the Developer Quick-start Guide to first present information about target machines, before describing the build and test process.

@mjschmidt271 mjschmidt271 added Documentation BFB PR leaves answers BFB EAMxx Issues related to EAMxx labels Mar 21, 2025
Copy link

github-actions bot commented Mar 21, 2025

PR Preview Action v1.6.0

🚀 View preview at
https://E3SM-Project.github.io/E3SM/pr-preview/pr-7163/

Built to branch gh-pages at 2025-03-27 18:59 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

###############################################################################
```

#### Selected Useful Testing Options

Choose a reason for hiding this comment

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

I feel like I want this to be a bigger header so it doesn't get lost, my reaction was to ignore it since I wasn't running locally... Maybe that means adjusting the wording in L57 as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good call--moved it upward and like it better!

by modifying: environment variables, `PATH` or `[LD_]LIBRARY_PATH`
entries, configuration arguments, and compiler arguments as required.
As long as you do ***all of that*** perfectly, you should be just fine.
:sunglasses:

Choose a reason for hiding this comment

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

didn't render 😞

Copy link
Contributor

Choose a reason for hiding this comment

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

Need to add the emoji specs to the mkdocs.yaml in root

  - pymdownx.emoji:
      emoji_index: !!python/name:material.extensions.emoji.twemoji
      emoji_generator: !!python/name:material.extensions.emoji.to_svg

Copy link
Contributor

Choose a reason for hiding this comment

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

Not only in components/eamxx/mkdocs.yml

(Also note the yaml vs yml 🤷)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch, and thanks for the tip! I hadn't noticed since I'd only been building from the EAMxx-root mkdocs.yml 🙄

Comment on lines 91 to 92
- Hence, the final `configure [...]` command (calling autoconf) is run
one directory above the directory in which it resides.

Choose a reason for hiding this comment

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

is that ${TPL_ROOT}/<lib-name>/ then? or are you saying from the library's build dir, run ../configure?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, yes. I reworded in an attempt to clarify--let me know if it reads more clearly!

Copy link
Contributor

@mahf708 mahf708 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 to me! Thanks!!!

If you want 😎 to render, you've got to add the emoji lines to the root mkdocs.yaml file, but maybe you're extra cool and wanted the :sunglasses: only? 😉

@mahf708 mahf708 changed the title Update EAMxx Dev Docs EAMxx: Update Dev Docs Mar 22, 2025
(mostly) more information is better than less.

```{.shell .copy title="${eamxx_root}/scripts/machine_specs.py:[L58-L88]"}
from machines_specs import Machine
Copy link
Contributor

Choose a reason for hiding this comment

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

The import line belongs only in scream_mach_specs.py, not in the machine_specs.py file.

concrete = True
@classmethod
def setup(cls):
super().setup_base("local")
Copy link
Contributor

Choose a reason for hiding this comment

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

It may be useful to remind that the name HAS to be "local", since test-all-eamxx -l looks for a machine called local.

@mjschmidt271
Copy link
Contributor Author

mjschmidt271 commented Mar 27, 2025

Got the changes in--let me know if you'd like to see any further changes. Otherwise, I'll squash that final "PR comments" commit and then should be good to go!

@jaelynlitz @mahf708 @bartgol

address linter error

respond to PR comments
@mjschmidt271 mjschmidt271 force-pushed the mjs/eamxx/docs-dev-guide-update branch from a14f563 to af658cf Compare March 27, 2025 21:57
@bartgol
Copy link
Contributor

bartgol commented Apr 2, 2025

@mjschmidt271 are you planning more work or should I integrate?

@mjschmidt271
Copy link
Contributor Author

@bartgol I'm all set--go right ahead!

bartgol added a commit that referenced this pull request Apr 2, 2025
Adds TPLs page to Developer Guide and reorganizes Dev Quick-start.

[BFB]
@bartgol bartgol merged commit 88dc11e into master Apr 2, 2025
3 checks passed
@bartgol bartgol deleted the mjs/eamxx/docs-dev-guide-update branch April 2, 2025 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BFB PR leaves answers BFB Documentation EAMxx Issues related to EAMxx
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants