Skip to content

Check whether a run succeeded

Use three levels of technical checking, then do scientific quality control.

flowchart LR
    A["Slurm<br/>COMPLETED ยท 0:0"]
    B["WRF<br/>SUCCESS COMPLETE WRF"]
    C["Outputs<br/>expected wrfout files"]
    D["Science<br/>quality control"]

    A --> B --> C --> D

1. Did Slurm finish normally?

sacct -j YOUR_JOB_ID \
  --format=JobID,State,ExitCode,Elapsed,NodeList,AllocCPUS

For a normal batch job, look for:

State:    COMPLETED
ExitCode: 0:0

2. Did WRF reach normal completion?

CASE=my-case

LOG=$(find ".wrfkit/logs/$CASE" \
  -maxdepth 1 -type d -name '*_wrf' | sort | tail -1)

tar -xOf "$LOG/native-logs.tar" rsl.out.0000 |
  grep "SUCCESS COMPLETE WRF"

If the line appears, rank 0 reported normal WRF completion.

3. Are the expected output files present?

ls ".wrfkit/work/$CASE"/wrfout_d01_*

Also check timestamps and file sizes match the experiment you intended.

4. If WRF did not finish

List the archived logs:

tar -tf "$LOG/native-logs.tar" | head

Read rank 0 error output:

tar -xOf "$LOG/native-logs.tar" rsl.error.0000 | tail -80

Then use Troubleshooting.

Program success is only the first check

A completed WRF run still needs scientific quality control before its output is used in research.