<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?action=history&amp;feed=atom&amp;title=Cctbx.xfel_GUI%2FSettings</id>
	<title>Cctbx.xfel GUI/Settings - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?action=history&amp;feed=atom&amp;title=Cctbx.xfel_GUI%2FSettings"/>
	<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Cctbx.xfel_GUI/Settings&amp;action=history"/>
	<updated>2026-10-10T21:41:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Cctbx.xfel_GUI/Settings&amp;diff=1792&amp;oldid=prev</id>
		<title>Aaron: Created page with &quot;{{DISPLAYTITLE:cctbx.xfel GUI/Settings}} The &#039;&#039;&#039;Settings dialog&#039;&#039;&#039; is the first thing the GUI shows when it starts (titled &#039;&#039;CCTBX.XFEL Login&#039;&#039;) and is also opened by the &#039;&#039;&#039;Settings&#039;&#039;&#039; toolbar button. It collects everything the GUI needs to connect to an experiment: the database, the experiment tag, the facility, the output folder, and how jobs are submitted. All of it is saved as a project.  Back to cctbx.xfel GUI.  == T...&quot;</title>
		<link rel="alternate" type="text/html" href="http://viper.lbl.gov:8080/cctbx.xfel/index.php?title=Cctbx.xfel_GUI/Settings&amp;diff=1792&amp;oldid=prev"/>
		<updated>2026-10-09T20:58:36Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{DISPLAYTITLE:cctbx.xfel GUI/Settings}} The &amp;#039;&amp;#039;&amp;#039;Settings dialog&amp;#039;&amp;#039;&amp;#039; is the first thing the GUI shows when it starts (titled &amp;#039;&amp;#039;CCTBX.XFEL Login&amp;#039;&amp;#039;) and is also opened by the &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; toolbar button. It collects everything the GUI needs to connect to an experiment: the database, the experiment tag, the facility, the output folder, and how jobs are submitted. All of it is saved as a &lt;a href=&quot;/cctbx.xfel/index.php/Cctbx.xfel_GUI#Projects_(saved_settings)&quot; title=&quot;Cctbx.xfel GUI&quot;&gt;project&lt;/a&gt;.  Back to &lt;a href=&quot;/cctbx.xfel/index.php/Cctbx.xfel_GUI&quot; title=&quot;Cctbx.xfel GUI&quot;&gt;cctbx.xfel GUI&lt;/a&gt;.  == T...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:cctbx.xfel GUI/Settings}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Settings dialog&amp;#039;&amp;#039;&amp;#039; is the first thing the GUI shows when it starts (titled &amp;#039;&amp;#039;CCTBX.XFEL Login&amp;#039;&amp;#039;) and is also opened by the &amp;#039;&amp;#039;&amp;#039;Settings&amp;#039;&amp;#039;&amp;#039; toolbar button. It collects everything the GUI needs to connect to an experiment: the database, the experiment tag, the facility, the output folder, and how jobs are submitted. All of it is saved as a [[cctbx.xfel GUI#Projects (saved settings)|project]].&lt;br /&gt;
&lt;br /&gt;
Back to [[cctbx.xfel GUI]].&lt;br /&gt;
&lt;br /&gt;
== The Settings dialog ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Experiment Tag&amp;#039;&amp;#039;&amp;#039; || Prefix for every database table belonging to this experiment. Use a new tag for a new experiment, or for a clean restart of the same experiment. Locked while the GUI is connected.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DB Credentials...&amp;#039;&amp;#039;&amp;#039; || Opens the [[#Database credentials|Database credentials]] dialog. Locked while the GUI is connected.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Facility&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;LCLS&amp;#039;&amp;#039; uses the LCLS run database and XTC streams. &amp;#039;&amp;#039;Standalone&amp;#039;&amp;#039; monitors a folder for image files from any other source. &amp;#039;&amp;#039;&amp;#039;Options...&amp;#039;&amp;#039;&amp;#039; opens the facility-specific settings below.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Experiment&amp;#039;&amp;#039;&amp;#039; || LCLS experiment name, for example &amp;lt;code&amp;gt;cxid9114&amp;lt;/code&amp;gt;. Disabled for standalone.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Output&amp;#039;&amp;#039;&amp;#039; || Folder that will receive all processing results. &amp;#039;&amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039;&amp;#039; picks it with a folder chooser. See [[cctbx.xfel GUI#Where the results go|Where the results go]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Load Project...&amp;#039;&amp;#039;&amp;#039; || Choose a saved project from a list (sorted by last modified). Loading a project fills in every field. While the GUI is connected, a project whose database connection or experiment tag differs from the current one is refused, since applying it would require a restart.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Save Project As...&amp;#039;&amp;#039;&amp;#039; || Save the current settings under a name. The file is &amp;lt;code&amp;gt;~/.cctbx.xfel/settings_&amp;lt;name&amp;gt;.phil&amp;lt;/code&amp;gt;. The project most recently saved or loaded becomes the default for the next start.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Advanced Settings...&amp;#039;&amp;#039;&amp;#039; || Opens the [[#Advanced settings|Advanced settings]] dialog: multiprocessing, queue and processing back end.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; || At start-up: connects to the database, creates the tables if they do not exist, and opens the main window. If no project has been named yet, you are asked to name one first. From the running GUI: applies the changes and saves them to the current project.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Database credentials ==&lt;br /&gt;
Opened with &amp;#039;&amp;#039;&amp;#039;DB Credentials...&amp;#039;&amp;#039;&amp;#039;. The GUI needs a MySQL server it can create tables on.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DB Host name&amp;#039;&amp;#039;&amp;#039; || Server host. The default is the LCLS user database host, &amp;lt;code&amp;gt;psdb-user.slac.stanford.edu&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DB Port number&amp;#039;&amp;#039;&amp;#039; || Usually 3306.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DB name&amp;#039;&amp;#039;&amp;#039; || The database on that server.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DB user name&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;DB Password&amp;#039;&amp;#039;&amp;#039; || Account with rights to create and modify tables in that database. The password is cached in plain text in the project file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Delete and regenerate all tables&amp;#039;&amp;#039;&amp;#039; || Drops every table with the current experiment tag and recreates them empty when you press OK in the Settings dialog. This destroys all records of the experiment (not the files on disk). You are asked to confirm.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;XTC stream location&amp;#039;&amp;#039;&amp;#039; || LCLS only. Where the XTC files are: &amp;lt;code&amp;gt;SLAC&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SRCF_FFB&amp;lt;/code&amp;gt; (fast feedback, active experiment only), &amp;lt;code&amp;gt;SDF&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;NERSC&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Start DB Server&amp;#039;&amp;#039;&amp;#039; || Launches your own MySQL server if you do not have one. See below.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Starting a local database server ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Start DB Server&amp;#039;&amp;#039;&amp;#039; submits a job (&amp;lt;code&amp;gt;cctbx.xfel.ui_server&amp;lt;/code&amp;gt;) that runs a MySQL server using the queuing settings from Advanced settings. It asks for:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DB Base Directory&amp;#039;&amp;#039;&amp;#039;: where the server keeps its data files. Defaults to &amp;lt;code&amp;gt;MySql&amp;lt;/code&amp;gt; inside the output folder. If the directory already contains a database, the server reuses it.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;DB Root Password&amp;#039;&amp;#039;&amp;#039;: only needed when the base directory is new, to initialise the server. The database, user and password typed in the credentials dialog are created at that point, so fill those in first.&lt;br /&gt;
&lt;br /&gt;
With the &amp;#039;&amp;#039;local&amp;#039;&amp;#039; multiprocessing method the server runs on this machine and the host is set to &amp;lt;code&amp;gt;127.0.0.1&amp;lt;/code&amp;gt;. With Slurm or Shifter the job runs on a compute node and the GUI fills in that node&amp;#039;s host name once the job starts; the server lives as long as the job&amp;#039;s wall time. The GUI waits for the server to accept connections before continuing and reports the server&amp;#039;s error log if it fails. Make sure a server is not already running on the same base directory.&lt;br /&gt;
&lt;br /&gt;
== Facility options ==&lt;br /&gt;
&lt;br /&gt;
=== LCLS options ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Use ffb (fast feedback) file system&amp;#039;&amp;#039;&amp;#039; || Read XTC data from the fast feedback system. Only for the active experiment on the priority queues.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Dump all images to disk&amp;#039;&amp;#039;&amp;#039; || Write every image as CBF to the job&amp;#039;s &amp;lt;code&amp;gt;all/&amp;lt;/code&amp;gt; folder, whether or not it indexed. Needed for the &amp;#039;&amp;#039;Strong images that didn&amp;#039;t index&amp;#039;&amp;#039; feature of the [[cctbx.xfel GUI/Run Stats tab|Run Stats tab]] and useful when tuning spot finding. Uses a lot of disk space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Require stream 80 / 81 (FEE spectrometer) before processing&amp;#039;&amp;#039;&amp;#039; || Do not process a run until the FEE spectrometer stream is present, so that per-image wavelengths are available.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Standalone options ===&lt;br /&gt;
In standalone mode the run sentinel watches a folder for new data and turns each file or folder it finds into a run.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Folder to monitor&amp;#039;&amp;#039;&amp;#039; || The directory new data appear in.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Monitor for&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;files&amp;#039;&amp;#039;: every file in the folder matching the template is a run. &amp;#039;&amp;#039;folders&amp;#039;&amp;#039;: every sub-folder is a run (or, with composite files, each matching file in each sub-folder is a run).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Run complete criteria&amp;#039;&amp;#039;&amp;#039; || For folders. &amp;#039;&amp;#039;Status file&amp;#039;&amp;#039;: the folder is complete when it contains a Cheetah-style &amp;lt;code&amp;gt;status.txt&amp;lt;/code&amp;gt; whose &amp;lt;code&amp;gt;Status&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;Finished&amp;lt;/code&amp;gt;. &amp;#039;&amp;#039;Number of files&amp;#039;&amp;#039;: complete once it holds at least &amp;#039;&amp;#039;&amp;#039;Number of files per run&amp;#039;&amp;#039;&amp;#039; matching files.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Minimum time since last modified&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;Minimum file size&amp;#039;&amp;#039;&amp;#039; || For files. A file is only picked up once it has been untouched for this many seconds and is at least this many bytes, so that files still being written are not processed.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;File matching template&amp;#039;&amp;#039;&amp;#039; || Glob pattern for data files, for example &amp;lt;code&amp;gt;*.h5&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;*.cbf&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Files are composite&amp;#039;&amp;#039;&amp;#039; || Tick for formats where one file holds many images (HDF5, NeXus): each file becomes its own run. Untick for one-image-per-file formats, where the whole folder becomes a single run.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Run names in standalone mode are derived from the file or folder names (for example &amp;lt;code&amp;gt;run_0012_data&amp;lt;/code&amp;gt; for a composite file &amp;lt;code&amp;gt;data.h5&amp;lt;/code&amp;gt; in folder &amp;lt;code&amp;gt;run_0012&amp;lt;/code&amp;gt;). Run blocks in standalone mode therefore select runs by database id, in order of discovery, rather than by run number.&lt;br /&gt;
&lt;br /&gt;
== Advanced settings ==&lt;br /&gt;
Opened with &amp;#039;&amp;#039;&amp;#039;Advanced Settings...&amp;#039;&amp;#039;&amp;#039;. The controls shown depend on the chosen multiprocessing method.&lt;br /&gt;
&lt;br /&gt;
=== Multiprocessing options ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Multiprocessing&amp;#039;&amp;#039;&amp;#039; || How jobs are run: &amp;#039;&amp;#039;local&amp;#039;&amp;#039; (on this machine, one job at a time), &amp;#039;&amp;#039;lsf&amp;#039;&amp;#039;, &amp;#039;&amp;#039;slurm&amp;#039;&amp;#039;, &amp;#039;&amp;#039;shifter&amp;#039;&amp;#039; (Slurm with a Shifter container, for NERSC), &amp;#039;&amp;#039;sge&amp;#039;&amp;#039;, &amp;#039;&amp;#039;pbs&amp;#039;&amp;#039;, &amp;#039;&amp;#039;htcondor&amp;#039;&amp;#039; or &amp;#039;&amp;#039;custom&amp;#039;&amp;#039; (a user-supplied submission template, set in the settings file).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Queue&amp;#039;&amp;#039;&amp;#039; || Queue or partition to submit to. A drop-down of the LCLS queues for LSF at LCLS, a free text field otherwise.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total number of processors&amp;#039;&amp;#039;&amp;#039; || Processes per job (MPI ranks). With the LCLS queues this snaps to the core count of a node.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total number of nodes&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;Max Walltime&amp;#039;&amp;#039;&amp;#039; || Shifter only: nodes per job and the time limit in minutes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Number of processors per node&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;Auto&amp;#039;&amp;#039; lets the queuing system decide; otherwise an explicit count. Together with the total number of processors this determines the node count.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;MPI command&amp;#039;&amp;#039;&amp;#039; || The command that launches MPI programs, for example &amp;lt;code&amp;gt;mpirun&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;srun&amp;lt;/code&amp;gt;, with any extra arguments.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Environment setup script&amp;#039;&amp;#039;&amp;#039; || A script that is sourced at the start of each job to set up the cctbx environment, when the compute nodes do not inherit yours.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Phenix setup script&amp;#039;&amp;#039;&amp;#039; || Likewise for Phenix, used by Phenix tasks in datasets.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Nodes per job&amp;#039;&amp;#039;&amp;#039; || Slurm, PBS and Shifter: a separate node count for &amp;#039;&amp;#039;Indexing&amp;#039;&amp;#039;, &amp;#039;&amp;#039;TDER&amp;#039;&amp;#039; (time-dependent ensemble refinement), &amp;#039;&amp;#039;Scaling&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Merging&amp;#039;&amp;#039; jobs, since merging usually needs more nodes than indexing a single run.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Extra submission arguments&amp;#039;&amp;#039;&amp;#039; || One per line; appended to the submission command (&amp;lt;code&amp;gt;sbatch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bsub&amp;lt;/code&amp;gt;, ...). Use this for account names, memory requests and similar.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Shifter settings&amp;#039;&amp;#039;&amp;#039; || Shifter image name, the sbatch and srun script templates, job name, NERSC project (&amp;lt;code&amp;gt;-A&amp;lt;/code&amp;gt;), reservation, constraint, and whether to stage logs to the DataWarp burst buffer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;HTCondor settings&amp;#039;&amp;#039;&amp;#039; || Path to the MPI executable script (&amp;lt;code&amp;gt;openmpiscript&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;mp2script&amp;lt;/code&amp;gt;) and the shared file system domain.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
One further parameter has no control: &amp;lt;code&amp;gt;mp.max_queued&amp;lt;/code&amp;gt; in the settings file limits how many jobs may be running or queued at once; the job sentinel waits when the limit is reached.&lt;br /&gt;
&lt;br /&gt;
=== Data analysis options ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Processing back end&amp;#039;&amp;#039;&amp;#039; chooses the program each indexing job runs:&lt;br /&gt;
* &amp;#039;&amp;#039;cctbx.xfel&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;cctbx.xfel.process&amp;lt;/code&amp;gt;): DIALS spot finding, indexing, refinement and integration with stills-specific defaults. The usual choice.&lt;br /&gt;
* &amp;#039;&amp;#039;Small cell&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;cctbx.xfel.small_cell_process&amp;lt;/code&amp;gt;): small-cell indexing (Brewster 2015) followed by DIALS refinement and integration.&lt;br /&gt;
* &amp;#039;&amp;#039;custom&amp;#039;&amp;#039;: any other program name. Trial parameters are validated against the chosen program&amp;#039;s PHIL scope.&lt;br /&gt;
&lt;br /&gt;
Changing the back end after trials exist is not recommended, since the trials&amp;#039; parameters were written for the previous program.&lt;/div&gt;</summary>
		<author><name>Aaron</name></author>
	</entry>
</feed>