Workflow and Project Management with NOMAD¶
🧭 What You Will Learn¶
- Organize and manage complex research workflows using NOMAD
- Integrate diverse data sources into a single, reproducible project
- Track data provenance and metadata
- Interface with the NOMAD repository programmatically for automation and high-throughput use
📌 Prerequisites¶
This tutorial supports both graphical (GUI) and programmatic (Python/CLI) workflows.
Required¶
- 🌐 NOMAD account Free registration is required to upload and manage data
Recommended (for efficiency and automation)¶
-
💻 Terminal environment Install the workflow utility module via Bash (Linux/macOS) or PowerShell (Windows)
-
🐍 Basic Python knowledge Utilize workflow utility tools using provided Jupyter notebooks
Can't code? No problem.
You can complete the tutorial entirely using the :
- Use provided templates to create input files manually
- Upload and manage workflows via NOMAD's web interface
- Skip all Python- and Jupyter-related steps
⚠️ Some tasks may be more manual and time-consuming, but all core functionality is accessible without programming.
⚙️ Tutorial Preparation¶
1. Create a NOMAD account at NOMAD Test Deployment¶
Click LOGIN/REGISTER
at the top right.
Attention
This entire tutorial will us the test deployment. When you are ready to upload and share your real data with the public, use the NOMAD Central Deployment.
2. Install the nomad-utility-workflows module¶
Open a terminal and create a virtual environment with python==3.11 (It may be possible to use python>=3.9, but the module has only been fully tested with 3.11):
Install missing Python 3.11 interpreter
To install Python 3.11 interpreter:
Download the installer from the official Python website and run it. Make sure to check the box that says "Add Python 3.11 to PATH" during installation.
Activate the Python virtual environment:
Upgrade pip and install uv (recommended):
Install the latest pypi version of the plugin using pip:
Install python-dotenv
package.
In order to use a Jupyter notebook in the following, install ipython and then create a Jupyter kernel for this venv (this kernel can then be be identified and loaded into your IDE):
uv pip install python-dotenv
uv pip install --upgrade ipython
uv pip install --upgrade ipykernel
ipython kernel install --user --name=nomad-tutorial-workflows
Now you should be able to simply launch a Jupyter notebook browser with jupyter notebook
in the terminal.
Open a (new) .ipynb
file, and then select nomad-tutorial-workflows
from the kernel list.