Now we modify the inversion code to include two parameters that are estimated simultaneously: total eruption mass and "alpha". Many tephra scientists seek to estimate total eruption mass (or volume) and estimate eruption column propoerties, especially the maximum eruption column height. Instead of estimating the eruption column height, we are going to estimate alpha, which is a parameter that controls the distribution of tephra within the eruption column. Alpha is a parameter in an equation called the Beta distribution (confusing enough!), the Beta distribution has two parameters, $\alpha$ and $\beta$. By fixing $\beta$ we can vary $\alpha$ to have more or less tephra distributed from high in the eruption column compared to from lower in the eruption column. The effect of changing $\alpha$ with fixed values of $\beta$ is shown in this figure:
Whatever the eruption column height, a large value of $\alpha$ compared to $\beta$ will tend to release most tephra toward the top of the eruptin column (like a so-called top-hat model of the eruption plume). In contrast if $\alpha$ is nearly equal to $\beta$, most tephra will be released in the mid-column. This might be appropriate for an eruption column that reaches its maximum height briefly, but spends most of its time with shorter, or pulsing, columns.
The basic structure of this inversion is illustrated in the flowchart. Two bits of information are needed:
With these inputs the main() code calls the function to perform the search for the optimal eruption total mass and alpha simulated annealing (SA) algorithm. Using SA, the parameters are updated, the new expected tephra mass loading at each location is calculated and root-mean-square-error is calculated comparing the observed and calculated tephra mass loading values.
Just like before, the RMSE is minimized within some tolerance, the optimal total eruption mass and RMSE value are printed.
Other eruption soure parameters specified in the configuration file are fixed in this example. Only two parameters, the total eruption volume and the value of alpha are allowed to vary in the inversion procedure.
This function, simulated_annealing, is an implementation of the Simulated Annealing (SA) optimization algorithm for finding the optimal total eruption mass and alpha parameters that minimizes the root mean square error (RMSE) between observed and calculated tephra mass loadings.
The key steps are the same as before, just with an additional parameter to be estimated:
You need a bunch of files to compile and run this code. These files are contained in a compressed file called tephra2-inversion2-victor.zip.
Download this compressed file and unzip. To compile the code, on the command line type: make
To run the code type: ./tephra2_2025 tephra2.conf cerro_negro_92.dat wind1 > cn_out.dat
If all goes well, the first lines of your output file should look like:
Optimized mass: 30718717835.014091
Optimized alpha: 4.096587
Best RMSE: 232.923827
526774 1381087 100 509.00 554.681
526028 1380972 100 256.00 435.878
525477 1380291 100 476.00 317.361
524516 1379866 100 249.00 229.531
523595 1379462 100 244.94 173.98
522674 1379481 100 227.00 156.622
521642 1379304 100 171.60 130.694
In this case the RMSE is 233kg m$^{-2}$ for a total eruption mass of approximately $3.1 \times 10^{10}$ kg. Alpha has a best-fit value of about 4, indicating that most mass is release from relatively high in the eruption column, consistent with an energetic eruption (high mass flow). NOTE: when you run the code you will get a slightly different answer. This is because the simulated annealing algorithm uses a random number to select the neighbor parameter values. In fact, running the code over and over with the same parameters provides some sense of the parameter uncertainty.
As before, it is helpful to plot an equiline plot of the observed vs. calculated mass at each sample location, based on the estimate of the optimal total eruption mass and alpha. For this solution, the equiline plot looks like:
Note that based on RMSE, the solution for the previous example (only inverting on total eruption mass) and this one (inverting on total eruption mass and alpha) are similar, although the total eruption masses estimated are different. It looks like a range of total eruption masses fit the data equally well. That is, there is uncertainty in the value of this eruption source parameter.