SNOWPACK 20241221.26c8720
StabilityAlgorithms Class Reference

Detailed Description

Implementations of various algorithms useful for evaluating the stability. These algorithms fall within the following categories:

  • the structural stability, that selects the potential weak layer, for example the SK38, SSI or Relative Threshold;
  • the stability index, based on a strength/stress relation, such as the natural stability index. This evaluates the stability of a selected layer;
  • the critical crack length that also evaluates the stability of a selected layer, for example the critical cut length or the anti-crack model.

These methods will then be used by the Stability class to effectively compute the stability for a given profile, according to the user's configuration.

#include <StabilityAlgorithms.h>

Static Public Member Functions

static void classifyStability_SchweizerBellaire (const double &Swl_ssi, const double &Swl_Sk38, SnowStation &Xdata)
 Returns the Profile Stability Classification based on re-analysis by Schweizer/Bellaire, see Schweizer, J., Bellaire, S., Fierz, C., Lehning, M. and Pielmeier, C., "Evaluating and improving the stability predictions of the snow cover model SNOWPACK", Cold Regions Science and Technology, 2006, 46(1), pp.52-59. More...
 
static void classifyStability_Bellaire (const double &Swl_ssi, SnowStation &Xdata)
 Returns the Profile Stability Classification based on the master thesis of S. Bellaire (September 2005) More...
 
static void classifyStability_SchweizerBellaire2 (const double &Swl_ssi, const size_t &Swl_lemon, const double &Swl_Sk38, SnowStation &Xdata)
 Returns the Profile Stability Classification based on re-analysis after recalibration of settling (Nov. 2007) This is based on Schweizer, J., Bellaire, S., Fierz, C., Lehning, M. and Pielmeier, C., "Evaluating and improving the stability predictions of the snow cover model SNOWPACK", Cold Regions Science and Technology, 2006, 46(1), pp.52-59. More...
 
static bool classifyStability_SchweizerWiesinger (SnowStation &Xdata)
 Returns the Profile Stability Classification (Schweizer-Wiesinger Method) More...
 
static bool classifyType_SchweizerLuetschg (SnowStation &Xdata)
 "Pattern recognition" of 10 profile types according to Schweizer, J. and M. Luetschg (2001). Schweizer, J. and M. Luetschg, Characteristics of human-triggered avalanches, 2001, Cold Reg. Sci. Technol. 33(2-3): 147-162. Note that analysis is done on vertical snow height. More...
 
static bool setShearStrengthDEFAULT (const double &cH, const double &cos_sl, const mio::Date &date, ElementData &Edata, NodeData &Ndata, StabilityData &STpar)
 DEFAULT: Estimates the critical shear stress based on appropriate parameterisations. More...
 
static bool setShearStrength_NIED (const double &cH, const double &cos_sl, const mio::Date &date, ElementData &Edata, NodeData &Ndata, StabilityData &STpar)
 STRENGTH_NIED: Estimates the critical shear stress based on appropriate parameterisations adapted for Japan. More...
 
static double getHandHardnessBELLAIRE (const ElementData &Edata, const double &buried_hoar_density)
 Assign hardness to snow types according to density, Swiss version by Sascha Bellaire. More...
 
static double getHandHardnessASARC (const ElementData &Edata, const double &buried_hoar_density)
 Assign hand hardness to snow types according to density and grain size, original Canadian version. More...
 
static double getHandHardnessMONTI (const ElementData &Edata, const double &buried_hoar_density)
 Assign hardness to snow types according to density Implementation according to Fabiano Monti's work, June 2012 (all types except MFcr). More...
 
static double getHandHardnessMONTI (const int &F, const double &rho, const double &water_content, const double &buried_hoar_density)
 Compute hand hardness for a given grain type and density All the information about hardness parameterizations for PP DF RG FC DH MF FCxf are published in Monti et al. (in progress) More...
 
static double compCriticalStress (const double &epDotn, const double &T_s)
 Returns the critical stress state of a layer given the temperature and plastic strain rate. More...
 
static double setDeformationRateIndex (ElementData &Edata)
 Returns the layer stability index The intra-layer stability criteria is given by the ratio S_f = S_c/S_n where S_n is the neck stress and S_c is the critical stress. The critical stress is determined in the function st_CriticalStress. This function might get a little more involved as time goes on. More...
 
static double compPenetrationDepth (const SnowStation &Xdata)
 Returns the skier's penetration depth Pk Adapted from Jamieson & Johnston, Ann. Glaciol., 26, 296-302 (1998) More...
 
static void compReducedStresses (const double &stress, const double &cos_sl, StabilityData &STpar)
 Computes normal and shear stresses (kPa) reduced to psi_ref. More...
 
static double getNaturalStability (const StabilityData &STpar)
 Returns the natural stability index Sn The classic natural stability index Sn, that is, the ratio of shear stress to shear strength (static) More...
 
static double getLayerSkierStability (const double &penetrationDepth, const double &depth_lay, const StabilityData &STpar)
 Returns the skier stability index Sk reduced to psi_ref (usually 38 deg => Sk_38) The classic skier stability index Sk(psi_ref), using P. Foehn's formula (IAHS No162, 1987, p201) for the skier (load of 85 kg on 1.7 m long skis) induced shear stress. More...
 
static bool getRelativeThresholdSum (SnowStation &Xdata)
 Returns the Relative Threshold Sum approach (RTA) weak layer. This is according to Monti, Fabiano, and Jürg Schweizer, "A relative difference approach to detect potential weak layers within a snow profile", 2013, Proceedings ISSW. More...
 
static double CriticalCutLength (const double &H_slab, const double &rho_slab, const double &cos_sl, const ElementData &Edata, const StabilityData &STpar, const double &stress)
 Critical cut length: Estimates the critical cut length. More...
 

Member Function Documentation

◆ classifyStability_Bellaire()

void StabilityAlgorithms::classifyStability_Bellaire ( const double &  Swl_ssi,
SnowStation Xdata 
)
static

Returns the Profile Stability Classification based on the master thesis of S. Bellaire (September 2005)

Parameters
Swl_ssi
Xdata

◆ classifyStability_SchweizerBellaire()

void StabilityAlgorithms::classifyStability_SchweizerBellaire ( const double &  Swl_ssi,
const double &  Swl_Sk38,
SnowStation Xdata 
)
static

Returns the Profile Stability Classification based on re-analysis by Schweizer/Bellaire, see Schweizer, J., Bellaire, S., Fierz, C., Lehning, M. and Pielmeier, C., "Evaluating and improving the stability predictions of the snow cover model SNOWPACK", Cold Regions Science and Technology, 2006, 46(1), pp.52-59.

Parameters
Swl_ssi
Swl_Sk38
Xdata

◆ classifyStability_SchweizerBellaire2()

void StabilityAlgorithms::classifyStability_SchweizerBellaire2 ( const double &  Swl_ssi,
const size_t &  Swl_lemon,
const double &  Swl_Sk38,
SnowStation Xdata 
)
static

Returns the Profile Stability Classification based on re-analysis after recalibration of settling (Nov. 2007) This is based on Schweizer, J., Bellaire, S., Fierz, C., Lehning, M. and Pielmeier, C., "Evaluating and improving the stability predictions of the snow cover model SNOWPACK", Cold Regions Science and Technology, 2006, 46(1), pp.52-59.

Parameters
Swl_ssi
Swl_lemon
Swl_Sk38
Xdata

◆ classifyStability_SchweizerWiesinger()

bool StabilityAlgorithms::classifyStability_SchweizerWiesinger ( SnowStation Xdata)
static

Returns the Profile Stability Classification (Schweizer-Wiesinger Method)

Parameters
Xdata
Returns
false if error, true otherwise

◆ classifyType_SchweizerLuetschg()

bool StabilityAlgorithms::classifyType_SchweizerLuetschg ( SnowStation Xdata)
static

"Pattern recognition" of 10 profile types according to Schweizer, J. and M. Luetschg (2001). Schweizer, J. and M. Luetschg, Characteristics of human-triggered avalanches, 2001, Cold Reg. Sci. Technol. 33(2-3): 147-162. Note that analysis is done on vertical snow height.

Parameters
*Xdata
Returns
false on error, true otherwise

◆ compCriticalStress()

double StabilityAlgorithms::compCriticalStress ( const double &  epsNeckDot,
const double &  Ts 
)
static

Returns the critical stress state of a layer given the temperature and plastic strain rate.

Parameters
epsNeckDotNeck strain rate (s-1)
TsTemperature of layer (K)
Returns
Critical stress (Pa)

◆ compPenetrationDepth()

double StabilityAlgorithms::compPenetrationDepth ( const SnowStation Xdata)
static

Returns the skier's penetration depth Pk Adapted from Jamieson & Johnston, Ann. Glaciol., 26, 296-302 (1998)

Parameters
*Xdata

◆ compReducedStresses()

void StabilityAlgorithms::compReducedStresses ( const double &  stress,
const double &  cos_sl,
StabilityData STpar 
)
static

Computes normal and shear stresses (kPa) reduced to psi_ref.

Parameters
stressOverload perpendicular to slope (Pa)
cos_slCosine of slope angle (1)
STpar

◆ CriticalCutLength()

double StabilityAlgorithms::CriticalCutLength ( const double &  H_slab,
const double &  rho_slab,
const double &  cos_sl,
const ElementData Edata,
const StabilityData STpar,
const double &  stress 
)
static

Critical cut length: Estimates the critical cut length.

Author
Johan Gaume, Nander Wever
Date
2016-20-01
Parameters
H_slabSlab depth (m)
rho_slabSlab density (kg/m^3)
*EdataXdata->Edata[e-1]
cos_slcosinus of the simulated slope angle
STpar
stressstress to apply to the current slab, usually the sum of all layers above
Returns
return critical cut length (m)

◆ getHandHardnessASARC()

double StabilityAlgorithms::getHandHardnessASARC ( const ElementData Edata,
const double &  buried_hoar_density 
)
static

Assign hand hardness to snow types according to density and grain size, original Canadian version.

Author
Implemented by C. Fierz: Regression from ASARC database by Bruce Jamieson on 2002-08-14
Parameters
Edata
buried_hoar_densitydensity of the burried hoar (kg m-3)
Returns
hand hardness index (1)

◆ getHandHardnessBELLAIRE()

double StabilityAlgorithms::getHandHardnessBELLAIRE ( const ElementData Edata,
const double &  buried_hoar_density 
)
static

Assign hardness to snow types according to density, Swiss version by Sascha Bellaire.

Author
Implemented by C. Fierz: Regression by Sascha Bellaire January 2005 (all types except MFcr). The original Swiss regression has been modified for PP, RG and FC to get a better agreement to observed hardness. If there is a new settlement formulation in future, and therefore a better agreement to observed density,it must be checked whether the new or the original regression is the better choice. (18 September 2005; Fierz / S. Bellaire) Original regression values are added as comments where needed.
Parameters
Edata
buried_hoar_densitydensity of the burried hoar (kg m-3)
Returns
hand hardness index (1)

◆ getHandHardnessMONTI() [1/2]

double StabilityAlgorithms::getHandHardnessMONTI ( const ElementData Edata,
const double &  buried_hoar_density 
)
static

Assign hardness to snow types according to density Implementation according to Fabiano Monti's work, June 2012 (all types except MFcr).

Author
Fabiano Monti
Date
2012-06-27
Parameters
Edata
buried_hoar_densitydensity of the burried hoar (kg m-3)
Returns
hand hardness index (1)

◆ getHandHardnessMONTI() [2/2]

double StabilityAlgorithms::getHandHardnessMONTI ( const int &  F,
const double &  rho,
const double &  water_content,
const double &  buried_hoar_density 
)
static

Compute hand hardness for a given grain type and density All the information about hardness parameterizations for PP DF RG FC DH MF FCxf are published in Monti et al. (in progress)

Author
Fabiano Monti
Date
2012-06-27
Parameters
Fgrain type
rhosnow density
water_content
buried_hoar_densitydensity of the burried hoar (kg m-3)
Returns
hand hardness index (1)

◆ getLayerSkierStability()

double StabilityAlgorithms::getLayerSkierStability ( const double &  Pk,
const double &  depth_lay,
const StabilityData STpar 
)
static

Returns the skier stability index Sk reduced to psi_ref (usually 38 deg => Sk_38) The classic skier stability index Sk(psi_ref), using P. Foehn's formula (IAHS No162, 1987, p201) for the skier (load of 85 kg on 1.7 m long skis) induced shear stress.

This represents the skier contribution to shear stress at psi_ref and is around 0.1523 kPa / layer_depth at psi_ref = 38 deg and Alpha_max = 54.3 deg.

Parameters
PkSkier penetration depth (m)
depth_layDepth of layer to investigate (m)
STpar

◆ getNaturalStability()

double StabilityAlgorithms::getNaturalStability ( const StabilityData STpar)
static

Returns the natural stability index Sn The classic natural stability index Sn, that is, the ratio of shear stress to shear strength (static)

Parameters
STpar

◆ getRelativeThresholdSum()

bool StabilityAlgorithms::getRelativeThresholdSum ( SnowStation Xdata)
static

Returns the Relative Threshold Sum approach (RTA) weak layer. This is according to Monti, Fabiano, and Jürg Schweizer, "A relative difference approach to detect potential weak layers within a snow profile", 2013, Proceedings ISSW.

Parameters
Xdataall the element and node data for all the layers
Returns
false if error, true otherwise

◆ setDeformationRateIndex()

double StabilityAlgorithms::setDeformationRateIndex ( ElementData Edata)
static

Returns the layer stability index The intra-layer stability criteria is given by the ratio S_f = S_c/S_n where S_n is the neck stress and S_c is the critical stress. The critical stress is determined in the function st_CriticalStress. This function might get a little more involved as time goes on.

Parameters
*Edata
Returns
Deformation rate index

◆ setShearStrength_NIED()

bool StabilityAlgorithms::setShearStrength_NIED ( const double &  cH,
const double &  cos_sl,
const mio::Date &  date,
ElementData Edata,
NodeData Ndata,
StabilityData STpar 
)
static

STRENGTH_NIED: Estimates the critical shear stress based on appropriate parameterisations adapted for Japan.

Parameters
*EdataXdata->Edata[e+1]
*NdataXdata->Ndata[e+1]
STpar
cHComputed height of snow (m)
cos_slCosine of slope angle (1)
date
Returns
return false on error, true otherwise

◆ setShearStrengthDEFAULT()

bool StabilityAlgorithms::setShearStrengthDEFAULT ( const double &  cH,
const double &  cos_sl,
const mio::Date &  date,
ElementData Edata,
NodeData Ndata,
StabilityData STpar 
)
static

DEFAULT: Estimates the critical shear stress based on appropriate parameterisations.

Parameters
*EdataXdata->Edata[e+1]
*NdataXdata->Ndata[e+1]
STpar
cHComputed height of snow (m)
cos_slCosine of slope angle (1)
date
Returns
return false on error, true otherwise

The documentation for this class was generated from the following files: