Summary and Setup
Pomona College HPC Workshop Series
This workshop is part of the Pomona College Research Computing Workshop Series, adapted from Plotting and Programming in Python by Software Carpentry.
Cluster: sagehen.hpc.pomona.edu Web Portal: OnDemand Support: its-hpc@pomona.edu
Python and its scientific libraries (NumPy, Pandas, Matplotlib) are
available on Sagehen HPC via module load miniconda3.
Practice interactively through Jupyter on OnDemand.
Adapted for Pomona College by Andrew Wilson, ITS Research Computing. Licensed under CC-BY 4.0.
This lesson is an introduction to programming in Python 3 for people with little or no previous programming experience. It uses plotting as its motivating example and is designed to be used in both Data Carpentry and Software Carpentry workshops. This lesson references JupyterLab but can be taught using alternative Python 3 interpreters as well (e.g., repl.it, Anaconda).
Prerequisites
- Learners need to understand what files and directories are, what a working directory is, and how to start a Python interpreter.
- Learners must install Python 3 before the class starts.
- Learners must get the gapminder data before class starts: please download and unzip the file python-novice-gapminder-data.zip.
Please see the setup instructions for more details.
Acknowledgments
Developed by Andrew Wilson, Director of Research Computing and Digital Scholarship at Pomona College, with Andrei Motchenko, who tested, edited and produced screenshots for the workshop series.
Pre-Workshop Requirements
Before the workshop, please ensure you have the following set up and working.
1. Active Sagehen HPC Account
You must have a valid Pomona College HPC account with access to the Sagehen cluster.
To verify your access:
If you don’t have an account or can’t log in, contact its-hpc@pomona.edu.
2. Accessing Python via OnDemand
The recommended way to access Python for this workshop is through the OnDemand web interface:
https://ondemand.hpc.pomona.edu/
Steps to access Jupyter Notebook: 1. Go to https://ondemand.hpc.pomona.edu/ 2. Log in with your
Pomona credentials (with DUO MFA) 3. Click on “Interactive Apps” menu 4.
Select “Jupyter Notebook” or “RStudio Server” 5. Configure your session:
- Partition: amd (default) - Number of hours: 2-4 hours -
Number of cores: 4 - Memory: 8GB 6. Click “Launch” 7. Wait for the
session to start, then click “Connect to Jupyter”
4. Required Python Packages
This workshop requires the following Python packages. They may already be installed in the base conda environment. Test them by:
If you see an error, install the packages:
Package list: - numpy: Numerical computing library - pandas: Data manipulation and analysis - matplotlib: Plotting and visualization
5. Download Gapminder Dataset
The workshop uses the Gapminder dataset. Download it before the workshop:
BASH
# Create a workshop directory
mkdir -p ~/workshops/python-gapminder
cd ~/workshops/python-gapminder
# Download the dataset
wget https://raw.githubusercontent.com/swcarpentry/python-novice-gapminder/gh-pages/data/gapminder_gdp_oceania.csv
wget https://raw.githubusercontent.com/swcarpentry/python-novice-gapminder/gh-pages/data/gapminder_gdp_africa.csv
wget https://raw.githubusercontent.com/swcarpentry/python-novice-gapminder/gh-pages/data/gapminder_gdp_americas.csv
wget https://raw.githubusercontent.com/swcarpentry/python-novice-gapminder/gh-pages/data/gapminder_gdp_asia.csv
wget https://raw.githubusercontent.com/swcarpentry/python-novice-gapminder/gh-pages/data/gapminder_gdp_europe.csv
# Verify the files were downloaded
ls -lh gapminder*.csv
6. Test Your Python Environment
Create a test script to verify everything works:
BASH
cat > test_env.py << 'EOF'
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Test numpy
arr = np.array([1, 2, 3, 4, 5])
print(f"NumPy test: {arr.mean()}")
# Test pandas
df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
print(f"Pandas test:\n{df}")
# Test matplotlib
plt.figure(figsize=(6, 4))
plt.plot([1, 2, 3], [1, 4, 9])
plt.title("Simple Test Plot")
plt.savefig("test_plot.png")
print("Matplotlib test: plot saved as test_plot.png")
print("\nAll tests passed!")
EOF
python test_env.py
8. Sagehen Cluster Access Methods
You can access Sagehen three ways:
OnDemand Web Interface (recommended for this workshop) https://ondemand.hpc.pomona.edu/
-
SSH Command Line (for terminal work)
Local Development + Remote Submission Develop locally, submit scripts to Sagehen via SSH
9. Cluster Resources Available
Sagehen has the following resources available during the workshop:
- Compute Nodes: 12 nodes with 128 cores each, 512GB RAM
-
GPU Nodes (10 GPUs total, confirmed May 2026):
- 4× NVIDIA A100 80 GB
- 4× NVIDIA L40S 48 GB
- 2× NVIDIA RTX PRO 6000 Blackwell 96 GB
-
Storage:
-
/rhome(100GB personal) -
/bigdata(1TB lab, shared) -
/scratch(SSD temp) -
/tmpfs(RAM temp)
-
-
Partitions:
amd(default),gpu,short(1 hour max)
10. Getting Help
- HPC Support: its-hpc@pomona.edu
- Instructor: Andrew Wilson
- OnDemand Docs: https://ondemand.hpc.pomona.edu/
Once you’ve verified items 1-6 above, you’re ready for the workshop!