11# Quick Start
22
3- ` mache ` (Machines for E3SM) is a package for providing configuration data
3+ ` mache ` (Machines for E3SM) is a package for providing configuration data
44related to E3SM supported machines.
55
66(dev-installing-mache)=
@@ -38,33 +38,33 @@ python -m pip install --no-deps --no-build-isolation -e .
3838
3939## Code styling and linting
4040
41- ` mache ` uses ` pre-commit ` to lint incoming code when you make a commit (as
41+ ` mache ` uses ` pre-commit ` to lint incoming code when you make a commit (as
4242long as you have your environment set up correctly), and on GitHub whenever you
43- make a pull request to the ` mache ` repository. Linting makes sure your code
43+ make a pull request to the ` mache ` repository. Linting makes sure your code
4444follows the formatting guidelines of PEP8, and cleans up additional things like
4545whitespace at the end of files.
4646
47- The first time you set up the ` mache_dev ` environment, you will need to set up
47+ The first time you set up the ` mache_dev ` environment, you will need to set up
4848` pre-commit ` . This is done by running:
4949
5050``` bash
5151pre-commit install
5252```
5353
54- You only need to do this once when you create the ` mache_dev ` environment. If
54+ You only need to do this once when you create the ` mache_dev ` environment. If
5555you create a new version of ` mache_dev ` , then you will need to run it again.
5656
5757When you run ` git commit <filename> ` , ` pre-commit ` will automatically lint your
58- code before committing. Some formatting will be updated by ` pre-commit `
58+ code before committing. Some formatting will be updated by ` pre-commit `
5959automatically, in which case it will terminate the commit and inform you of the
6060change. Then you can run ` git commit <filename> ` again to continue the linting
6161process until your commit is successful. Some changes need to be made manually,
62- such as inconsistent variable types. When this happens, you must update the
62+ such as inconsistent variable types. When this happens, you must update the
6363file to ` pre-commit ` 's standards, and then attempt to re-commit the file.
6464
6565Internally, ` pre-commit ` uses [ flake8] ( https://flake8.pycqa.org/en/latest/ ) to
66- check PEP8 compliance, [ isort] ( https://pycqa.github.io/isort/ ) to sort, check
67- and format imports, [ flynt] ( https://github.com/ikamensh/flynt ) to change any
66+ check PEP8 compliance, [ isort] ( https://pycqa.github.io/isort/ ) to sort, check
67+ and format imports, [ flynt] ( https://github.com/ikamensh/flynt ) to change any
6868format strings to f-strings, and [ mypy] ( https://mypy-lang.org/ ) to check for
6969consistent variable types. An example error might be:
7070
@@ -172,7 +172,7 @@ config : configparser.ConfigParser
172172
173173e3sm_supported : bool
174174
175- : Whether this machine supports running E3SM itself, and therefore has a list
175+ : Whether this machine supports running E3SM itself, and therefore has a list
176176of compilers, MPI libraries, and the modules needed to load them
177177
178178compilers : list
@@ -193,12 +193,12 @@ e3sm_unified_mpi : {'nompi', 'system', None}
193193
194194e3sm_unified_base : str
195195
196- : The base path where E3SM-Unified and its activation scripts are installed if
196+ : The base path where E3SM-Unified and its activation scripts are installed if
197197` e3sm_unified ` is not ` None `
198198
199199e3sm_unified_activation : str
200200
201- : The activation script used to activate E3SM-Unified if ` e3sm_unified ` is not
201+ : The activation script used to activate E3SM-Unified if ` e3sm_unified ` is not
202202` None `
203203
204204diagnostics_base : str
@@ -215,8 +215,8 @@ web_portal_url : str
215215
216216username : str
217217
218- : The name of the current user, for use in web-portal directories. This value
219- is also added to the ` web_portal ` and ` username ` option of the ` config `
218+ : The name of the current user, for use in web-portal directories. This value
219+ is also added to the ` web_portal ` and ` username ` option of the ` config `
220220attribute.
221221
222222## Syncing diagnostics
@@ -246,7 +246,8 @@ data with a shared diagnostics directory on each supported machine.
246246Whenever possible, we log on to the E3SM machine and download the data
247247from LCRC because this allows the synchronization tool to also update
248248permissions once the data has been synchronized. This is the approach
249- for all machines except for Los Alamos National Laboratory's Badger,
249+ for all machines except for Frontier and Andes, which doesn't allow connections
250+ to LCRC because of Duo Mobile, and Los Alamos National Laboratory's Chicoma,
250251which is behind a firewall that prevents this approach.
251252
252253### One-time setup
@@ -265,20 +266,6 @@ This is the same procedure as for creating an SSH key for GitHub so if
265266you have already done that process, you will not need a new SSH key for
266267LCRC.
267268
268- ### Setup on Andes
269-
270- Andes at OLCF requires special treatment. You need to create or edit the
271- file ` ~/.ssh/config ` with the following:
272-
273- ```
274- Host blues.lcrc.anl.gov
275- User <ac.user>
276- PreferredAuthentications publickey
277- IdentityFile ~/.ssh/id_ed25519
278- ```
279-
280- where, again ` <ac.user> ` is your username on LCRC.
281-
282269### Syncing from LCRC
283270
284271To synchronize diagnostics data from LCRC, simply run:
0 commit comments