Thursday, June 30, 2022

A simple evolutionary model for fragile geologic features

The fragility of geologic features, such as precariously balanced rocks (PBRs), can be measured by a simple parameter like α. For the case of a PBR is the smallest of the angles between the vertical from the center of mass and its rocking points. In a landscape, each object will have a fragility and so the ensemble will be a fragility distribution. The controls on the initial distribution and its long term evolution will be from the environment and its history (material properties, landscape evolution (lowering), weathering, shaking, etc.). The distribution can be disturbed by an earthquake (or other loading like windstorm, human impacts, etc.) which abruptly removes features with fragility below a threshold α.

Example of PBRs in Granite Dells, Arizona

I started to think an analogy with a fruit tree. I am not sure this is an original idea maybe I heard it somewhere. The progressive ripening of the fruit can be interrupted by a shake which will remove completely a subset of the most ripe fruit. For the case of the rocks, the ripening is a gradual decrease in fragility over time and then a fragility reset of a subset rather than removal after they are toppled in a shaking event. Ripening continues and the processes repeat over time. This simple model does not account for changing ripening rates or much variation in shaking effects other than threshold α. The basic idea then for seismic hazard is that the fragility distribution at a location reflects the history of the long term ripening and episodic shaking and reset. Therefore, if we can produce fragility distributions for landscapes that otherwise comparible (ripening and threshold α), we might be able to say which has seen more recent shaking and of what severity. This does not directly address the age control for the history and this remains a significant problem.

I wrote a simple code to explore this problem with the hope that it helps us explain and isolate the basic controls on fragility distributions. See the figure below which presents the fragility distributions through the experiment.The algorithm is simple:

  • Set up: Specify number of objects, the initial α distribution (assume normal), the ripening rate distribution (also normal; this is the loss of fragility per year), the timing of the earthquake, the threshold α, and the max time
  • Interseismic period 1: ripen α until the earthquake (begin and end are the upper two plots below)
  • Earthquake: remove α < threshold α (third plot below) and reset those α drawing from the same initial distribution (fourth plot below)
  • Interseismic period 2: ripen α until the end of the model time (final plot below)

Fragility distributions through the experiment. Upper plot is initial α. 2nd plot is α and the end of interseismic period 1. 3rd plot shows removed objects with α < threshold α. 4th plot is reset distribution of < threshold α Note that some α results below threshold α. Lowest plot shows continued ripening until the end of the model.

The additional two figures show the evolution of fragility with time of a subset of the objects and a spatial view of the randomly positioned features, their fragility at the time of the earthquake, and the circled objects that failed. The evolutionary diagram helps illustrate the interruption of the more fragile features by the event while the others do not notice. The map provides an idea of the search challenge that this scenario presents.

Evolution of fragility of a subset of the objects. The red star indicates the time of the earthquake and the threshold α.
Map view randomly positioned features, their fragility at the time of the earthquake, and the circled objects that failed.
Maybe more realistic with a more sparse set of features and a lower threshold α (0.3 as opposed to 0.4 above).

This is just a sketch of the problem, but it is a toy model in which we can explore the importance of the distribution widths, timing of earthquake, etc.

The MATLAB code is in this repository:; make sure to get the script PBRevolution.m and functions ripenPBR.m and shakePBRs.