Skip to content
Denis Cohen-Corticchiato edited this page Dec 4, 2020 · 5 revisions

This page is just to gather some notes about the PRIMULA software package. These notes are not meant to be a Wiki page yet!

Overview of PRIMULA

PRIMULA computes a probability of landslide failure at each cell of a DEM (Digital Elevation Model). This probability of failure is calculated as the average probability of failure of N potential landslides at each cell. Each one of the N potential landslide has certain characteristics that are randomly generated from probability distribution functions like landslide width and length, soil friction angle and cohesion, root reinforcement, land use, etc. For each potential landslide, the factor of safety (FS or FoS or SF for Safety Factor) is calculated based on DEM and landslide characteristics, forest cover and land use, and also on rainfall data. If FS < 1 then the slope is unstable and a landslide occurs. FS >= 1 means a stable slope. The probability of landslide failure at each cell of the DEM depends on the sum of the FS of the N landslides. The output is a raster of probability of landslide failure (a number between 0 and 1).

PRIMULA was originally written in Matlab (see resources/) and was transformed to a C++ code.

General code organization

  1. Read input rasters
  • slope (for use in TopModel_v3)
  • twi (topographic wetness index, needed in TopModel_v3)
  • soiltype
  • soildepth
  • dusaf (land use?)
  • probslope (another slope variable used in MD-Stab_v2)
  1. Generate random properties for each landslide
  • landslide size
  • soil properties
  • forest properties (for computing root reinforcement)
  1. Loop over each landslide i
  • Calculate FS for each cell for landslide i
  1. Compute probability of failure at each cell

Changes to PRIMULA

Items to move to KiLib

Some calculations that are done in PRIMULA now should be moved to KiLib because they could be used in other software packages. For example, PRIMULA uses the MD-STAB model to compute the factor of safety (FS) which could be used in SOSlope (as an alternative to what's already in SOSLOPE). Another example is the calculation of the parameter m in PRIMULA using TopModel. That should be also be moved to KiLib.

Just some suggestions/ideas (to be discussed further)

  • In KiLib Create a new subdirectory Stability. This is a class with options to compute the factor of safety. One possible calculation is MDSTAB and variants. We can add more options later (perhaps moving the calculations from SOSlope into KiLib at some point).
  • Another new KiLib subdirectory could be Hydrology that would contain TopModel. Also the hydrological model of SOSlope could later be moved there

Using KiLib

  • Soil properties should now use KiLib soiltypes with primula data (already in the data files) in KiLib/resources/soiltypes

Renaming variables

  • soil depth (presently z_) should be called soilDepth

  • etc etc etc

Improvements

  • The RASTER class in PRIMULA should now use the Raster class in KiLib. The Raster class in KiLib may need to be upgraded

Still to figure out

  • Land surface use
  • Root reinforcement (will need to move model to KiLib/KiLib/Trees/Roots/Reinforcements)

Some references

  • MDSTAB (to compute the factor of safety) uses the model of Milledge et al 2014