Introduction
Introduction Statistics Contact Development Disclaimer Help
tfile_scanner_mcmc_starter.m - cosmo - front and backend for Markov-Chain Monte…
git clone git://src.adamsgaard.dk/cosmo
Log
Files
Refs
README
LICENSE
---
tfile_scanner_mcmc_starter.m (5983B)
---
1 %% file_scanner_mcmc_starter.m
2 % This file is started by run.sh.
3 % The script watches an input folder (infolder) for input files generat…
4 % by the web interface. The content of the input files is used to start
5 % calls to the MCMC functions.
6 %
7
8 %% folder and file configuration
9
10 % folder containing input files from web interface ("uploadhistory.php")
11 % and status file
12 infolder = '~/cosmo/input';
13
14 % folder containing input files from web interface while their contents …
15 % being used by matlab
16 waitfolder = '~/cosmo/wait';
17
18 % outfolder: folder for generated plots
19 outfolder = '/var/www/html/output/';
20
21 [status, hostname] = system('hostname');
22 if ~isempty(strfind(hostname, 'flaptop')) || ...
23 ~isempty(strfind(hostname, 'adc-server')) % laptop or desktop
24 infolder = '~/src/cosmo/input';
25 outfolder = 'output/';
26 end
27
28 % uniquely identifying file name prefix for input files
29 prefix = 'cosmo_';
30
31 % archivefolder: folder where completed input files are archived. This
32 % folder should be outside of the webserver document root so others cann…
33 % access this information
34 archivefolder = '~/cosmo/archive';
35
36 % folder containing matlab scripts to path
37 matlab_scripts_folder = 'm_pakke2014maj11/';
38
39 %% general settings
40 debug = true; % show debugging output to matlab console
41
42 % output graphics formats
43 graphics_formats = {'fig', 'png', 'pdf'};
44
45 % show figures after they are generated in addition to saving them,
46 % values: 'on' or 'off'
47 %show_figures = 'on';
48 show_figures = 'off';
49
50 % number of MCMC walkers
51 %n_walkers = 2;
52
53 %% initialization
54 addpath(matlab_scripts_folder);
55
56 % make sure multiple matlab processes to not launch at the exact same ti…
57 pause(rand()*4.0);
58
59 disp('Entering main loop, waiting for input from web interface...');
60
61 %% main loop
62 while 1
63
64 try
65
66 % detect all files in infolder starting with prefix
67 infiles = dir(strcat(infolder, '/', prefix, '*'));
68
69 % sort files according to modification time
70 [sorteddates, sortidx] = sort([infiles.datenum]);
71 infiles = infiles(sortidx);
72
73 % process files sequentially
74 for i = 1:length(infiles);
75
76 % read full file name and path
77 infile = strcat(infolder, '/', infiles(i).name);
78
79 % move to waitfolder
80 movefile(infile, waitfolder);
81 waitfile = strcat(waitfolder, '/', infiles(i).name);
82
83 idstring = strsplit(infile, '_');
84 id = idstring(2);
85 statusfile = char(strcat(infolder, '/status_', id));
86 diary(char(strcat(infolder, '/log_', id)));
87
88 if debug
89 disp(infile);
90 disp(strcat('Simulation id: ', id));
91 end
92
93 % read file and save data to local scope
94 [sample_id, name, email, lat, long, ...
95 be_conc, al_conc, c_conc, ne_conc, ...
96 be_uncer, al_uncer, c_uncer, ne_uncer, ...
97 zobs, ...
98 be_prod_spall, al_prod_spall, c_prod_spall, ne_prod_spal…
99 be_prod_muons, al_prod_muons, c_prod_muons, ne_prod_muon…
100 rock_density, ...
101 epsilon_gla_min, epsilon_gla_max, ...
102 epsilon_int_min, epsilon_int_max, ...
103 t_degla_min, t_degla_max, ...
104 record, ...
105 record_threshold_min, record_threshold_max, ...
106 nwalkers] ...
107 = import_php_file(waitfile, 1, 1); % only read first line
108
109 % run inversion
110 [Ss, save_file] = mcmc_inversion(matlab_scripts_folder, debu…
111 nwalkers, outfolder, ...
112 be_conc, al_conc, c_conc, ne_conc, ...
113 be_uncer, al_uncer, c_uncer, ne_uncer, ...
114 zobs, ...
115 be_prod_spall, al_prod_spall, c_prod_spall, ne_prod_spal…
116 be_prod_muons, al_prod_muons, c_prod_muons, ne_prod_muon…
117 rock_density, ...
118 epsilon_gla_min, epsilon_gla_max, ...
119 epsilon_int_min, epsilon_int_max, ...
120 t_degla_min, t_degla_max, ...
121 record, ...
122 record_threshold_min, record_threshold_max, ...
123 statusfile, id);
124
125 fid = fopen(statusfile, 'w');
126 fprintf(fid, 'Generating plots and output files');
127 fclose(fid);
128
129 % generate plots
130 %CompareWalks2(Ss, save_file)
131 generate_plots(Ss, matlab_scripts_folder, ...
132 save_file, graphics_formats, show_figures, ...
133 sample_id, name, email, lat, long, ...
134 be_conc, al_conc, c_conc, ne_conc, ...
135 be_uncer, al_uncer, c_uncer, ne_uncer, ...
136 zobs, ...
137 be_prod_spall, al_prod_spall, c_prod_spall, ne_prod_spal…
138 be_prod_muons, al_prod_muons, c_prod_muons, ne_prod_muon…
139 rock_density, ...
140 epsilon_gla_min, epsilon_gla_max, ...
141 epsilon_int_min, epsilon_int_max, ...
142 t_degla_min, t_degla_max, ...
143 record, ...
144 record_threshold_min, record_threshold_max, ...
145 nwalkers);
146
147 % close all figures
148 close all;
149
150 % delete or archive the file so it is not processed again
151 %delete(infile)
152 %movefile(infile, archivefolder);
153 movefile(char(strcat(waitfolder, '/cosmo_', id)), archivefol…
154
155 fid = fopen(statusfile, 'w');
156 fprintf(fid, 'Computations complete');
157 fclose(fid);
158
159 disp(['Computations complete, id = ' id]);
160
161 diary off;
162
163 %keyboard
164 end
165
166 catch E
167 disp(E.message)
168 exit(1) % quit matlab on error
169 end
170
171 % sleep in order to reduce system load
172 pause(5)
173
174 % for debugging purposes; ends loop after first iteration
175 %break
176
177 end
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.