ProcMT
ProcMT main GUI
Basic application video:
(click video to full screen)
Tab dirs
drag & drop the toplevel directory on “survey base dir” or use the select button
For emap, local & center and remote reference prefer the select button, which open sites belonging to this “survey base dir”.
Tab settings
cut upper f, cut lower f
Determins the usable part of the FFT.
If too small less frequencies for each band will be used; overlapping bewteen bands is reduced
ProcMT preference
smooth takes in general shorter FFTs and bigger parzening
medium takes most common settings
sharp takes longer FFTs and smaller parzening
auto bandwidth, auto Parzen
You can tune the “ProcMT preference” by changing these values.
I happens that - for example “sharp” is selected, a bigger parzen radius gives the desired result
skip marked parts
If a selection in the timerseries has been made, respect this and exclude these parts from beeing read.
Tab MT
THE WORKFLOW is
calculate Z tensor
perform a quadrant check
check the coherency
range check by median of rho and phi for xy, yx
statistical evaluation of the selected data
if “stddev limit active”, take all values with standard deviation less than “x std dev”
if stddev limit active AND stddev auto is active, take all values with standard deviation less than and iterative lower the limit to “x std dev min”; breaks if less than 32 stacks automatically
again a final statistical evaluation of the selected data follows
quadrant check
In most cases you expect the relation that real and imaginary part of Zxy (Ex, Hy) are positive and Zyx (Ey, Hx) are negative.
There may be complex 3D cases where this is not the case. So this option is not “fail safe”.
However in the spectral editor you can look at this distribution. Normally if Zxy is mostly positive the negative elements represent outliers which appear as “wrong phase”. If checked negative Zxy will be treated as outliers. This tensor will be removed from the statistics.
ProcMT RR with an AMT Site
Especially when using the MFS-06e coils you can enhance the data above 1 kHz by doing remote referencing (RR) with a station nearby.
Here the dominating effect is the self noise reduction by using Hx*Hxrinstead of Hx*Hxand so on
(so cross spectra instead of auto spectra)
RR with AMT Site:
(click video to full screen)
ProcMT Join AMT RR Site and MT Site
This procedure applies for any type of processing; you can merge / edit / delete any combination. In the later case we mix the LF part of and EDI with the HF part (processed with RR)
RR AMT and MT Site:
(click video to full screen)
ProcMT Export to SQLite, Matlab, Octave, R and Python
All the above programming languages can read SQL databases, including the SQLite database.
ProcMT can write and read SQLite files. File size is around 20 x smaller compared to single ASCII files and all is together in one file.
So if you focus on mathematics only, your Matlab experiments may be included in our processing if you find it valuable.
ProcMT spectra export and import:
(click video to full screen)
Cal2SQL
get calibration
Fetch a coil from the database for plotting
OpenCreate
You may want to create your output directory first, like allcoils and click that directory.
Give a name like coils.sql3
You will be prompted for an output directory - cal2sql will later immediately write without prompting.
Drag & drop yout txt file onto the window and the database will be filled.
Stats
FIRST select coil type and press “get calibration”.
AFTER this you can press Stats.
Additionally a CSV table with the statistical results will be written on the fly.
FAQ ProcMT
I do not get all frequencies
At the lower end: you FTT / window length is too short.
The time series is too short, and ProcMT does not find a reasonable solution. Hence that this also applies to stack all.
In settings you can a) tick “sharp” in order to get a longer FFT or b) manually by ticking “off” and select the window length manually. If you don’t want to re-process all data, go to the “Freqs” tab and select/deselect the frequencies to be processed.
The above changes may give more frequencies in th EDI result - if the data is good or medium quality.
In case the recording was long enough it may also work with “smooth” and/or “off” & shorter FFT. In this case ProcMT has rejected too many stacks with the longer FFT and can not make a statistics. Using a shorter FFT leads to more stacks and possibly to a reasonable statistics.
If the data quality is not so good, you may want to find out, what a “stack all” may give you.
In the “MT” Tab you can uncheck quadrant check.
Additionally you can lower the “coherency threshold” to 0.4 or uncheck “ct active”.
Press “reset tensor” and “re-calculate tensor”.
The result may look awkward - but contains more / all frequencies.
For all these problems read again the chapter below.
See also Why do I need to stack timeseries
On the upper end: FFT too short.
Calibration stops at 10 kHZ and you want to see 30 kHz
Can’t see 10 kHz: parzening needs some upper frequencies, so e.g. you get 8 kHz for the MFS-06e.
Short FFT and small parzening causes the same problem.
Change the Target Frequencies
The default setting is 8 frequencies per decade. Since MT has a smooth transfer function a higher resolution does not add information.
However it may be necessary to change the list in order to fit with other projects.
Inside the ProcMT directory you find “info.sql3” - that is a SQLite database. On Mac/Linux/Windows you can (after making a copy) edit this file with SQLiteBrowser
You find 6 tables user[123]_mt_frequencies and user[123]_csem_frequencies which are reserved for editing. You can put a descending frequency list inside.
The procmt_mini will be able to load them. Hint : procmt_mini can be called with two parameters: -basedir /survey/mining
and/or -target_frequencies_table user1_mt_frequencies
… and so on
That way you fasten the GUI operation; create a desktop icon for example, containing these parameters.
@superuser create a file called user1_mt_frequencies.csv; put “frequencies” in line 1, then your frequencies; delete user1_mt_frequencies in info.sql3; import your csv
The csv file will be a single column file like below.
frequencies
8.00000000000000E+05
5.99600000000000E+05
…
@programmer’s note: procmt has to handle data on four different OS; SQLite is a stable solution. Text files not.
Survey Folder Structure
ProcMT and other programs rely on a certain directory structure.
survey name |
subdirectory |
site |
Northern mining |
||
cal |
||
config |
||
db |
||
dump |
||
edi |
||
filters |
||
jle |
||
jobs |
||
log |
||
processings |
||
shell |
||
tmp |
||
ts |
||
… inside ts: |
||
EW 12 L2 |
||
EW 14 L2 |
||
EW 17 L2 |
||
Remote Green Valley |
||
大仏山 |
… and so on
structure
If you don’t have and do not work with ProcMT, you may want to create it temporarily in order to work
with all modules which rely on the structure.
A litte PHP script can do that:
#!/usr/bin/php
<?php
$subdirs = array("cal", "config", "db", "dump", "edi", "filters", "jle", "jobs", "log", "processings", "shell", "tmp", "ts");
#
#
if ($argc < 2 ) {
exit( "Usage: $argv[0] folder_name" . PHP_EOL );
}
else {
if (!is_dir("$argv[1]") ) mkdir("$argv[1]");
}
#
if (is_dir("$argv[1]")) {
foreach ($subdirs as $subdir) {
$cdir = "$argv[1]" . "/" . "$subdir";
echo "creating " . $cdir . PHP_EOL;
if (!is_dir("$cdir") ) mkdir("$cdir");
}
}
#
?>
cal
Inside the cal directory you copy your calibration files in case.
If you have a ADU-07e, ADU-08e AND MFS-0Xe coils (or sensors ending with “e”) you do not need to do that.
In the measdoc.xml you will find the calibration data of the connected sensors:
<channel id="2">
<calibration>
<cal_version>1.0</cal_version>
<creator>software chcal 1.3</creator>
<user>metronix</user>
<calibrated_item>
<ci identifier="coil">MFS06e</ci>
<ci_serial_number>4774</ci_serial_number>
.....
<caldata chopper="on" gain_2="0" gain_3="0" gain_1="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">1.87380000e-01</c1>
<c2 unit="V/(nT*Hz)">1.99940000e-01</c2>
<c3 unit="deg">8.72760000e+01</c3>
</caldata>
...
which indicates the calibration was loaded.
OTHERWISE you copy the delivered calibration file into the cal directory.
A typical calibration file has the name MFS06026.TXT and contains:
Calibration measurement with Solartron
Metronix GmbH, Kocherstr. 3, 38120 Braunschweig
Magnetometer: 026 Date: 06/12/01 Time: 11:23:02
FREQUENCY MAGNITUDE PHASE
Hz deg
Chopper On
+1.0000E-01 +2.0027E-01 +8.8566E+01
+1.2589E-01 +1.9994E-01 +8.8187E+01
+1.5849E-01 +2.0034E-01 +8.7711E+01
+1.9953E-01 +1.9996E-01 +8.7177E+01
.....
+7.9430E+03 +6.9484E-05 -4.0999E+01
+9.9995E+03 +5.1712E-05 -5.1017E+01
+1.0000E+04 +5.1707E-05 -5.1019E+01
FREQUENCY MAGNITUDE PHASE
Hz deg
Chopper Off
+1.0000E+00 +1.8154E-01 +1.1703E+02
+1.2589E+00 +1.9576E-01 +1.0632E+02
+1.5849E+00 +2.0317E-01 +9.5114E+01
+1.9953E+00 +2.0268E-01 +8.3716E+01
+2.5119E+00 +1.9471E-01 +7.2457E+01
....
config
In case onfiguration files for special processings
db
Databases - e.g. coil calibration databases, EDI databases
dump
dump files (spectra, applied calibration) in case dump mode activated
filters
empty
jle
Job List Editor - for putting your xml joblists for this survey here
jobs
actual xml jobs running or xml jobs to be run in the future
for example: create 100 jobs and run them over night
log
log files in case created
processings
pre-defined processings to submit
shell
shell scripts or PHP scripts
tmp
temporary files
ts
contains your sites and your timeseries
HINT even if you have downloaded a single folder like “meas_2018-10-20_09-50-00”, you MUST create a site first
say test and copy meas_2018-10-20_09-50-00 into test.