File size: 2,130 Bytes
eb725f8
1f3e7a2
eb725f8
 
 
 
 
 
1f3e7a2
eb725f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f3e7a2
eb725f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
#SBATCH --account=<your-slurm-account>
#SBATCH --partition=l40s
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --gres=gpu:l40s:1
#SBATCH --time=12:00:00
#SBATCH --job-name=ddpm_triangle
#SBATCH --mail-user=<your-email>   # replace before submitting
#SBATCH --output=slurm-ddpm-triangle-%j.out
#SBATCH --error=slurm-ddpm-triangle-%j.err

# Run surrogate Ωm–σ8 chain export for DDPM-2 and DDPM-6, then a joint triangle plot.
# If you have your own copies of ddpm_triangle_integration.py / triangle_plot_posterior.py
# under $ROOT/scripts (e.g. copied from ~/Downloads), they override the repo versions.
#
#   sbatch .../run_triangle_ddpm_both.sh
#
#   sbatch --export=OUTPUT_DIR=/path/to/out,TEST_INDEX=56 .../run_triangle_ddpm_both.sh
#
# Interactive:
#   module load python/miniconda3-py3.12-usr
#   bash .../run_triangle_ddpm_both.sh

set -euo pipefail

ROOT="<DDPM_ROOT>/Models"
cd "$ROOT"

module load python/miniconda3-py3.12-usr

OUT="${OUTPUT_DIR:-${ROOT}/ddpm_triangle_out}"
TEST_IX="${TEST_INDEX:-56}"
GRID="${GRID_POINTS:-14}"

mkdir -p "${OUT}"

INTEG="${DDPM_TRIANGLE_INTEGRATION_PY:-${ROOT}/scripts/ddpm_triangle_integration.py}"
PLOT="${DDPM_TRIANGLE_POSTERIOR_PY:-${ROOT}/scripts/triangle_plot_posterior.py}"

for f in "$INTEG" "$PLOT"; do
  if [[ ! -f "$f" ]]; then
    echo "Missing: $f"
    exit 1
  fi
done

CHAIN2="${OUT}/chain_surrogate_ix${TEST_IX}_ddpm2.npz"
CHAIN6="${OUT}/chain_surrogate_ix${TEST_IX}_ddpm6_truth_tail.npz"

echo "==============================================="
echo "Job: ${SLURM_JOB_ID:-local}  OUT=${OUT}  test_ix=${TEST_IX}"
echo "==============================================="

python "$INTEG" \
  --label-dim 2 \
  --test-index "${TEST_IX}" \
  --grid "${GRID}" \
  -o "${CHAIN2}"

python "$INTEG" \
  --label-dim 6 \
  --test-index "${TEST_IX}" \
  --six-tail-mode truth \
  --grid "${GRID}" \
  -o "${CHAIN6}"

python "$PLOT" \
  -i "${CHAIN2}" "${CHAIN6}" \
  --labels "DDPM-2" "DDPM-6" \
  -o "${OUT}/triangle_ddpm2_ddpm6_ix${TEST_IX}.png"

echo "Chains: ${CHAIN2} ${CHAIN6}"
echo "Triangle: ${OUT}/triangle_ddpm2_ddpm6_ix${TEST_IX}.png"
echo "Finished: $(date)"