Command line interface

Carlo.startFunction
start(job::JobInfo, ARGS)

Call this from your job script to start the Carlo command line interface.

If for any reason you do not want to use job scripts, you can directly schedule a job using

start(Carlo.MPIScheduler, job)

A job script calling start(job, ARGS) (as shown in Usage) exposes the Carlo command line interface when executed.

./myjob --help

The command line interface allows (re)starting a job, merging preliminary results, and showing the completion status of a calculation.

Starting jobs

./myjob run

This will start a simulation on a single core. To use multiple cores, use MPI.

mpirun -n $num_cores ./myjob run

Once the simulation is started, a directory myjob.data will be created to store all simulation data. The name of the directory corresponds to the first argument of JobInfo. Usually that will be @__FILE__, but you could collect your simulation data in a different directory.

The data directory will contain hdf5 files for each task of the job that contain checkpointing snapshots and measurement results. Once the job is done, Carlo will average the measurement data for you and produce the file myjob.results.json in the same directory as the myjob.data directory. This file contains means and errorbars of all observables. See ResultTools for some tips on consuming this file back into julia for your plotting or other postprocessing.

Job status

./myjob status

Use this command to find out the state of the simulation. It will show a table with the number of completed measurement sweeps, the target number of sweeps, the numbers of runs, and the fraction of them that is thermalized.

The fraction is defined as thermalization sweeps completed/total thermalization sweeps needed.

Merging jobs

./myjob merge

Usually Carlo will automatically merge results once a job is complete, but when you are impatient and you want to check on results of a running or aborted job, this command is your friend. It will produce a myjob.results.json file containing the averages of the currently available data.

Deleting jobs

./myjob delete

This deletes myjob.data and myjob.results.json. Of course, you should archive your simulation data instead of deleting them. However, if you made an error in a previous simulation, keep in mind that by default Carlo will continue it from the checkpoints.

For that case of restarting a job there is a handy shortcut as well

./myjob run --restart

Shortcuts

All commands here have shortcut versions that you can view in the help.