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

Add some material on environment variables? #428

Closed
SJaffa opened this issue Nov 15, 2022 · 1 comment · Fixed by #446
Closed

Add some material on environment variables? #428

SJaffa opened this issue Nov 15, 2022 · 1 comment · Fixed by #446

Comments

@SJaffa
Copy link

SJaffa commented Nov 15, 2022

We had a comment in the feedback from our recent workshop that some material on environment variables would have been useful. I think that could be relevant to lots of learners as (in my experience in astronomy) documentation for installing scientific software often mentions "set these environment variables" without much explanation of how or where to set them.

We mention variables in job scripts but maybe could add something about setting them just once on the command line, and setting them in .bashrc or similar to have them persist between sessions (although introducing .bashrc might be overload?)

@ocaisa
Copy link
Contributor

ocaisa commented Nov 21, 2022

When I saw this I thought "Isn't that already covered under the Environment Modules episode?", and it turns out that it is used, but not really explained. Then I went looking around as I was sure I'd seen that content somewhere and I found more detailed content in our (now archived) HPC Shell lesson and also in the Shell Extras lesson.

We decided a while ago to archive the HPC Shell lesson and just use the Carpentries Shell lesson as a prereq, and transcribe in the additional valuable content from HPC Shell. We overlooked the content on environment variables at that point.

Looking at things now. I think the right place to do this is still in the episode on accessing software. The issue I have with that section is that there are multiple commonly used ways to access software: environment modules, conda, spack environments, containers,...). It's another place where the lesson may diverge for different sites, and it would be nice if we did our best to minimise that.

The nice thing is that most of these (except containers) are using environment variables to modify the users environment, so we may be better off focusing (at least initially) on environment variables at the start of this episode as the common ground. I'd also see it as an opportunity to show how you can potentially influence the behaviour of a program by using environment variables (this is true for Slurm so it will be easy to show an example of this).

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 a pull request may close this issue.

2 participants