Base classes for stability tests

This module gathers the classes to handle data from stability tests. These classes are designed to be used in the SnowProfile class.

class snowprofile.stability_tests.CTStabilityTest[source]

Bases: _StabilityTest

Class for CT (Compression test) stability test.

Fields:
field results: List[CTStabilityTestResult] = []

Successive results of a single CT test. No results mean CT31.

field type: Literal['CT'] = 'CT'
field id: Optional[str] = None
field name: Optional[str] = None

Name/short description of the profile

field related_profiles: List[str] = []

id of related profiles

field comment: Optional[str] = None

A comment associated to the profile

field test_nr: Optional[int] = None

Test number (the lower is the higher priority)

Constraints:
  • ge = 0

field additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.CTStabilityTestResult[source]

Bases: _StabilityTestResult

Class for CT (Comprerssion test) stability test results.

Fields:
field test_score: int [Required]

CT result [0-30]

Constraints:
  • ge = 0

  • le = 30

field fracture_character: Literal['SDN', 'SP', 'SC', 'RES', 'RP', 'PC', 'BRK', 'Clean', 'Rough', 'Irregular', 'Q1', 'Q2', 'Q3'] | None = None

Fracture characteristic among:

  • SP: Sudden planar

  • SC: Sudden collapse

  • SDN: Sudden (both)

  • RP: Resistant planar

  • PC: Progressive compression

  • RES: Resistant (both)

  • BRK or B: Break

  • Clean

  • Rough

  • Irregular

  • Q1

  • Q2

  • Q3

field height: Optional[float] = None

Height of the failed layer (with zero at bottom of the snowpack (m)

field layer_thickness: Optional[float] = None

Thickness of the failed layer (m)

field grain_1: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Primary grain shape of the failed layer

field grain_2: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Secondary grain shape of the failed layer

field grain_size: Optional[float] = None

Snow grain size of the failed layer (m)

field grain_size_max: Optional[float] = None

Maximum snow grain size of the failed layer (m)

field layer_formation_time: Optional[datetime_with_tz] = None

The formation time of the failed layer.

field layer_formation_period: Optional[datetime_tuple_with_tz] = (None, None)

The formation period (begin, end) of the failed layer.

field layer_comment: Optional[str] = None

Comment associated to layer description (for CAAML compatibility only, do not fill).

field layer_additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.ECTStabilityTest[source]

Bases: _StabilityTest

Class for ECT (Extended column test) stability test.

Fields:
field results: List[ECTStabilityTestResult] = []

Successive results of a single ECT test. No results mean ECTN.

field type: Literal['ECT'] = 'ECT'
field id: Optional[str] = None
field name: Optional[str] = None

Name/short description of the profile

field related_profiles: List[str] = []

id of related profiles

field comment: Optional[str] = None

A comment associated to the profile

field test_nr: Optional[int] = None

Test number (the lower is the higher priority)

Constraints:
  • ge = 0

field additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.ECTStabilityTestResult[source]

Bases: _StabilityTestResult

Class for ECT (extended column test) stability test result.

Set score=0 for ECTPV.

Fields:
field test_score: int [Required]

CT result [0-30]

Constraints:
  • ge = 0

  • le = 30

field propagation: bool = False
field height: Optional[float] = None

Height of the failed layer (with zero at bottom of the snowpack (m)

field layer_thickness: Optional[float] = None

Thickness of the failed layer (m)

field grain_1: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Primary grain shape of the failed layer

field grain_2: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Secondary grain shape of the failed layer

field grain_size: Optional[float] = None

Snow grain size of the failed layer (m)

field grain_size_max: Optional[float] = None

Maximum snow grain size of the failed layer (m)

field layer_formation_time: Optional[datetime_with_tz] = None

The formation time of the failed layer.

field layer_formation_period: Optional[datetime_tuple_with_tz] = (None, None)

The formation period (begin, end) of the failed layer.

field layer_comment: Optional[str] = None

Comment associated to layer description (for CAAML compatibility only, do not fill).

field layer_additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.PSTStabilityTest[source]

Bases: _StabilityTest, _StabilityTestResult

Class for PST (Propagation Saw test) stability test.

Fields:
field column_length: float | None = None

Length of the column used for stability test (m).

field cut_length: float [Required]

The cut length necessary to start the propagation.

field propagation: Literal['End', 'SF', 'Arr'] [Required]

Propagation type:

  • End means the fracture propagate through the end of the column,

  • SF means slab fracture,

  • Arr means arrest of the propagation before the end of the column.

field type: Literal['PST'] = 'PST'
field id: Optional[str] = None
field name: Optional[str] = None

Name/short description of the profile

field related_profiles: List[str] = []

id of related profiles

field comment: Optional[str] = None

A comment associated to the profile

field test_nr: Optional[int] = None

Test number (the lower is the higher priority)

Constraints:
  • ge = 0

field additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

field height: Optional[float] = None

Height of the failed layer (with zero at bottom of the snowpack (m)

field layer_thickness: Optional[float] = None

Thickness of the failed layer (m)

field grain_1: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Primary grain shape of the failed layer

field grain_2: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Secondary grain shape of the failed layer

field grain_size: Optional[float] = None

Snow grain size of the failed layer (m)

field grain_size_max: Optional[float] = None

Maximum snow grain size of the failed layer (m)

field layer_formation_time: Optional[datetime_with_tz] = None

The formation time of the failed layer.

field layer_formation_period: Optional[datetime_tuple_with_tz] = (None, None)

The formation period (begin, end) of the failed layer.

field layer_comment: Optional[str] = None

Comment associated to layer description (for CAAML compatibility only, do not fill).

field layer_additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.RBStabilityTest[source]

Bases: _StabilityTest

Class for RB (Rutschblock) stability test.

Fields:
field results: List[RBStabilityTestResult] = []

Successive results of a single RB test. No results mean RB7.

field type: Literal['Rutschblock'] = 'Rutschblock'
field id: Optional[str] = None
field name: Optional[str] = None

Name/short description of the profile

field related_profiles: List[str] = []

id of related profiles

field comment: Optional[str] = None

A comment associated to the profile

field test_nr: Optional[int] = None

Test number (the lower is the higher priority)

Constraints:
  • ge = 0

field additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.RBStabilityTestResult[source]

Bases: _StabilityTestResult

Class for RB (Rutschblock) stability test results.

Fields:
field test_score: int [Required]

RB result [1-7], 7 meaning no fracture

Constraints:
  • ge = 1

  • le = 7

field release_type: Literal['WB', 'MB', 'EB'] | None = None

Release type among:

  • WB: Whole block

  • MB: Most of the block

  • EB: Edge of the block

field fracture_character: Literal['SDN', 'SP', 'SC', 'RES', 'RP', 'PC', 'BRK', 'Clean', 'Rough', 'Irregular', 'Q1', 'Q2', 'Q3'] | None = None

Fracture characteristic among:

  • SP: Sudden planar

  • SC: Sudden collapse

  • SDN: Sudden (both)

  • RP: Resistant planar

  • PC: Progressive compression

  • RES: Resistant (both)

  • BRK or B: Break

  • Clean

  • Rough

  • Irregular

  • Q1

  • Q2

  • Q3

field height: Optional[float] = None

Height of the failed layer (with zero at bottom of the snowpack (m)

field layer_thickness: Optional[float] = None

Thickness of the failed layer (m)

field grain_1: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Primary grain shape of the failed layer

field grain_2: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Secondary grain shape of the failed layer

field grain_size: Optional[float] = None

Snow grain size of the failed layer (m)

field grain_size_max: Optional[float] = None

Maximum snow grain size of the failed layer (m)

field layer_formation_time: Optional[datetime_with_tz] = None

The formation time of the failed layer.

field layer_formation_period: Optional[datetime_tuple_with_tz] = (None, None)

The formation period (begin, end) of the failed layer.

field layer_comment: Optional[str] = None

Comment associated to layer description (for CAAML compatibility only, do not fill).

field layer_additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

class snowprofile.stability_tests.ShearFrameStabilityTest[source]

Bases: _StabilityTest

Class for Shear frame stability test.

Fields:
field results: List[ShearFrameStabilityTestResult] = []

Successive results of a single SF test. No results mean no failure.

field id: Optional[str] = None
field name: Optional[str] = None

Name/short description of the profile

field related_profiles: List[str] = []

id of related profiles

field comment: Optional[str] = None

A comment associated to the profile

field test_nr: Optional[int] = None

Test number (the lower is the higher priority)

Constraints:
  • ge = 0

field additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.

field type: Literal['Shear Frame'] = 'Shear Frame'
class snowprofile.stability_tests.ShearFrameStabilityTestResult[source]

Bases: _StabilityTestResult

Class for shear frame stability test results.

Fields:
field force: float [Required]

Failure force (N).

Constraints:
  • ge = 0

field fracture_character: Literal['SDN', 'SP', 'SC', 'RES', 'RP', 'PC', 'BRK', 'Clean', 'Rough', 'Irregular', 'Q1', 'Q2', 'Q3'] | None = None

Fracture characteristic among:

  • SP: Sudden planar

  • SC: Sudden collapse

  • SDN: Sudden (both)

  • RP: Resistant planar

  • PC: Progressive compression

  • RES: Resistant (both)

  • BRK or B: Break

  • Clean

  • Rough

  • Irregular

  • Q1

  • Q2

  • Q3

field height: Optional[float] = None

Height of the failed layer (with zero at bottom of the snowpack (m)

field layer_thickness: Optional[float] = None

Thickness of the failed layer (m)

field grain_1: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Primary grain shape of the failed layer

field grain_2: Optional[Literal[tuple(GRAIN_SHAPES)]] = None

Secondary grain shape of the failed layer

field grain_size: Optional[float] = None

Snow grain size of the failed layer (m)

field grain_size_max: Optional[float] = None

Maximum snow grain size of the failed layer (m)

field layer_formation_time: Optional[datetime_with_tz] = None

The formation time of the failed layer.

field layer_formation_period: Optional[datetime_tuple_with_tz] = (None, None)

The formation period (begin, end) of the failed layer.

field layer_comment: Optional[str] = None

Comment associated to layer description (for CAAML compatibility only, do not fill).

field layer_additional_data: Optional[AdditionalData] = None

Field to store additional data for CAAML compatibility (customData), do not use.