name: simulation_sweep
project: climate-modeling
metadata: '{"grant": "NSF-2024-1234", "pi": "Dr. Smith"}'
description: Molecular dynamics simulations across temperature and pressure ranges
jobs:
- name: generate_config
command: python scripts/generate_initial_config.py --output=/configs/initial_config.xyz
resource_requirements: minimal
output_files:
- initial_config
- name: simulate_T{temp}_P{pressure:03d}
command: |
./run_simulation \
--config=/configs/initial_config.xyz \
--temperature={temp} \
--pressure={pressure} \
--steps=1000000 \
--output=/data/simulation_T{temp}_P{pressure:03d}.xyz \
--log=/logs/simulation_T{temp}_P{pressure:03d}.log
resource_requirements: simulation
depends_on:
- generate_config
input_files:
- initial_config
output_files:
- simulation_T{temp}_P{pressure:03d}
- log_T{temp}_P{pressure:03d}
parameters:
temp: "250:400:50" pressure: "1:100:25"
- name: analyze_T{temp}_P{pressure:03d}
command: |
python scripts/analyze.py \
--input=/data/simulation_T{temp}_P{pressure:03d}.xyz \
--output=/analysis/analysis_T{temp}_P{pressure:03d}.json \
--temperature={temp} \
--pressure={pressure}
resource_requirements: analysis
depends_on:
- simulate_T{temp}_P{pressure:03d}
input_files:
- simulation_T{temp}_P{pressure:03d}
output_files:
- analysis_T{temp}_P{pressure:03d}
parameters:
temp: "250:400:50"
pressure: "1:100:25"
- name: generate_phase_diagram
command: python scripts/phase_diagram.py --input-dir=/analysis --output=/results/phase_diagram.png
resource_requirements: minimal
depends_on:
- analyze_T{temp}_P{pressure:03d}
input_files:
- analysis_T{temp}_P{pressure:03d}
parameters:
temp: "250:400:50"
pressure: "1:100:25"
files:
- name: initial_config
path: /configs/initial_config.xyz
- name: simulation_T{temp}_P{pressure:03d}
path: /data/simulation_T{temp}_P{pressure:03d}.xyz
parameters:
temp: "250:400:50"
pressure: "1:100:25"
- name: log_T{temp}_P{pressure:03d}
path: /logs/simulation_T{temp}_P{pressure:03d}.log
parameters:
temp: "250:400:50"
pressure: "1:100:25"
- name: analysis_T{temp}_P{pressure:03d}
path: /analysis/analysis_T{temp}_P{pressure:03d}.json
parameters:
temp: "250:400:50"
pressure: "1:100:25"
resource_requirements:
- name: minimal
num_cpus: 1
num_gpus: 0
num_nodes: 1
memory: 2g
runtime: PT10M
- name: simulation
num_cpus: 16
num_gpus: 0
num_nodes: 1
memory: 64g
runtime: PT4H
- name: analysis
num_cpus: 4
num_gpus: 0
num_nodes: 1
memory: 8g
runtime: PT30M