NuGrid

Logo

NuGrid website

View My GitHub Profile

Essential Skills for NuGrid Members and Users

Unix command line

NuGrid users need to have a basic grasp of the Linux command line.

General programming

NuGrid is about nuclear astrophysics simulations which requires building codes which requires programming. The following is a list of possible places to start learning about programming:

  1. Newman: Computational Physics with Python (Some chapters are online)
  2. Stickler & Schachinger: Basic Concepts in Computational Physics (available as ebook from the UVic library)
  3. Langtangen: A Primer on Scientific Programming with Python (available as ebook from the UVic library)
  4. Roundy: Introduction to Computational Physics (free ebook)
  5. Cunningham: Python in 24 hours (available as ebook from the UVic library)
  6. Pierro: Annotated Algorithms in Python
  7. Specifically for numerical work there is the classic text Press et al.: Numerical Recipes

Python

We recommend the Anaconda python distribution. It comes with its own package manager conda which makes setting up virtual environments very easy. These virtual environment allow you to load different versions of packages. This is especially useful if you would like to try your code with both python 2.7 and 3.5.

If you have used pip and virtualenv in the past, then conda does the job of both of these.

Common commands

Here are some examples how to used conda, go to the original conda documentation for up-to-date and detailed info:

command comment
source activate snowflakes activate environment snowflakes
conda info --envs list all environments
conda env export Export environment, list packages available in this environment
conda create -n myenv python=2 numpy create python 2 environment with name myenv and install the numpy packages