aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2024-01-11 17:05:29 +0100
committerThomas White <taw@physics.org>2024-01-11 17:05:29 +0100
commitc2ba0eb77f0da8ba825ede18eb1c6e6d5bee424a (patch)
tree8d69267534f49752965a79cae7cc1a9ff3e31f8c /src
parentee91037250512f7fad13411799633e7cda99ac15 (diff)
GUI: Write Millepede data into folder
Diffstat (limited to 'src')
-rw-r--r--src/gui_backend_local.c4
-rw-r--r--src/gui_backend_slurm.c4
-rw-r--r--src/gui_index.c8
-rw-r--r--src/gui_index.h1
4 files changed, 16 insertions, 1 deletions
diff --git a/src/gui_backend_local.c b/src/gui_backend_local.c
index 03761474..d2068250 100644
--- a/src/gui_backend_local.c
+++ b/src/gui_backend_local.c
@@ -534,6 +534,7 @@ static void *run_indexing(const char *job_title,
gchar *files_rel_filename;
gchar *stream_rel_filename;
gchar *harvest_rel_filename;
+ gchar *mille_rel_filename;
workdir = make_job_folder(job_title, job_notes);
if ( workdir == NULL ) return NULL;
@@ -555,6 +556,7 @@ static void *run_indexing(const char *job_title,
files_rel_filename = relative_to_cwd(workdir, "files.lst");
stream_rel_filename = relative_to_cwd(workdir, "crystfel.stream");
harvest_rel_filename = relative_to_cwd(workdir, "parameters.json");
+ mille_rel_filename = relative_to_cwd(workdir, "mille-data");
if ( !write_indexamajig_script(sc_rel_filename,
proj->geom_filename,
@@ -564,6 +566,7 @@ static void *run_indexing(const char *job_title,
stdout_rel_filename,
stderr_rel_filename,
harvest_rel_filename,
+ mille_rel_filename,
NULL,
&proj->peak_search_params,
&proj->indexing_params,
@@ -598,6 +601,7 @@ static void *run_indexing(const char *job_title,
free(stdout_rel_filename);
free(stderr_rel_filename);
free(harvest_rel_filename);
+ free(mille_rel_filename);
return job;
}
diff --git a/src/gui_backend_slurm.c b/src/gui_backend_slurm.c
index 3961a92d..f5ad31c5 100644
--- a/src/gui_backend_slurm.c
+++ b/src/gui_backend_slurm.c
@@ -797,6 +797,7 @@ static void *run_indexing(const char *job_title,
gchar *files_rel_filename;
gchar *stream_rel_filename;
gchar *harvest_rel_filename;
+ gchar *mille_rel_filename;
char *slurm_prologue;
workdir = make_job_folder(job_title, job_notes);
@@ -842,6 +843,7 @@ static void *run_indexing(const char *job_title,
stdout_rel_filename = relative_to_cwd(workdir, "stdout-%a.log");
stderr_rel_filename = relative_to_cwd(workdir, "stderr-%a.log");
harvest_rel_filename = relative_to_cwd(workdir, "parameters.json");
+ mille_rel_filename = relative_to_cwd(workdir, "mille-data");
slurm_prologue = sbatch_bits(&opts->common, job_title, array_inx,
stdout_rel_filename, stderr_rel_filename);
@@ -853,6 +855,7 @@ static void *run_indexing(const char *job_title,
stream_rel_filename,
NULL, NULL,
harvest_rel_filename,
+ mille_rel_filename,
serial_offs,
&proj->peak_search_params,
&proj->indexing_params,
@@ -888,6 +891,7 @@ static void *run_indexing(const char *job_title,
free(stdout_rel_filename);
free(stderr_rel_filename);
free(harvest_rel_filename);
+ free(mille_rel_filename);
g_object_unref(workdir);
return job;
diff --git a/src/gui_index.c b/src/gui_index.c
index 14f0906c..3241503c 100644
--- a/src/gui_index.c
+++ b/src/gui_index.c
@@ -851,6 +851,7 @@ static char **indexamajig_command_line(const char *geom_filename,
const char *files_list,
const char *stream_filename,
const char *harvest_filename,
+ const char *mille_filename,
const char *serial_start,
struct peak_params *peak_search_params,
struct index_params *indexing_params,
@@ -1002,7 +1003,10 @@ static char **indexamajig_command_line(const char *geom_filename,
if ( indexing_params->exclude_nonhits ) add_arg(args, n_args++, "--no-non-hits-in-stream");
if ( indexing_params->exclude_peaks ) add_arg(args, n_args++, "--no-peaks-in-stream");
if ( indexing_params->exclude_refls ) add_arg(args, n_args++, "--no-refls-in-stream");
- if ( indexing_params->millepede ) add_arg(args, n_args++, "--millepede");
+ if ( indexing_params->millepede ) {
+ add_arg(args, n_args++, "--mille");
+ add_arg_string(args, n_args++, "--mille-dir", mille_filename);
+ }
if ( indexing_params->max_mille_level ) add_arg(args, n_args++, "--max-mille-level");
for ( i=0; i<indexing_params->n_metadata; i++ ) {
add_arg_string(args, n_args++, "copy-header",
@@ -1086,6 +1090,7 @@ int write_indexamajig_script(const char *script_filename,
const char *stdout_filename,
const char *stderr_filename,
const char *harvest_filename,
+ const char *mille_filename,
const char *serial_start,
struct peak_params *peak_search_params,
struct index_params *indexing_params,
@@ -1102,6 +1107,7 @@ int write_indexamajig_script(const char *script_filename,
files_list,
stream_filename,
harvest_filename,
+ mille_filename,
serial_start,
peak_search_params,
indexing_params,
diff --git a/src/gui_index.h b/src/gui_index.h
index 2f5c1a56..33594e8e 100644
--- a/src/gui_index.h
+++ b/src/gui_index.h
@@ -51,6 +51,7 @@ extern int write_indexamajig_script(const char *script_filename,
const char *stdout_filename,
const char *stderr_filename,
const char *harvest_filename,
+ const char *mille_filename,
const char *serial_start,
struct peak_params *peak_search_params,
struct index_params *indexing_params,