SNOWPACK 20240328.2d1c245
Hazard Class Reference

#include <Hazard.h>

Public Member Functions

 Hazard (const SnowpackConfig &cfg, const double duration)
 
void initializeHazard (std::vector< double > &vecDrift, double slope_angle, std::vector< ProcessDat > &Hdata, std::vector< ProcessInd > &Hdata_ind)
 Allocates and initializes Hazard data. More...
 
void getHazardDataMainStation (ProcessDat &Hdata, ProcessInd &Hdata_ind, ZwischenData &Zdata, const double &newDrift, const bool stationDriftIndex, const SnowStation &Xdata, const CurrentMeteo &Mdata, const SurfaceFluxes &Sdata)
 Compute the Hdata from main station data. More...
 
void getHazardDataSlope (ProcessDat &Hdata, ProcessInd &Hdata_ind, std::vector< double > &drift24, const double &newDrift, const SnowStation &Xdata, const bool luvDriftIndex, const bool north, const bool south)
 Compute Hdata from virtual slope data. More...
 

Static Public Attributes

static const double typical_slope_length = 70.0
 
static const double wind_slab_density = 77.0
 
static const double minimum_drift = 0.0
 
static const double maximum_drift = 5.0
 

Constructor & Destructor Documentation

◆ Hazard()

Hazard::Hazard ( const SnowpackConfig cfg,
const double  duration 
)

Defines how the height of snow is going to be handled

  • false: Depth of snowfall is determined from the water equivalent of snowfall (PSUM)
  • true: The measured height of snow is used to determine whether new snow has been deposited. This setting MUST be chosen in operational mode.
    This procedure has the disadvantage that if the snowpack settles too strongly extra mass is added to the snowpack.
    New snow density is needed in both cases, either parameterized, measured, or fixed.

Member Function Documentation

◆ getHazardDataMainStation()

void Hazard::getHazardDataMainStation ( ProcessDat Hdata,
ProcessInd Hdata_ind,
ZwischenData Zdata,
const double &  newDrift,
const bool  stationDriftIndex,
const SnowStation Xdata,
const CurrentMeteo Mdata,
const SurfaceFluxes Sdata 
)

Compute the Hdata from main station data.

  • depths of snowfall hn({0.5, 3., 6., 12., 24., 72.}h) including water equivalents (psum)
  • 3 days sum of 24h depths of snowfall
  • surface hoar size and hoar index for 6 and 24 hours
  • dewpoint deficit, SWE and total liquid water content, runoff, Profile type, Stability classes and indices, energy balance, and snow temperatures
    Note
    If there are no virtual slopes available, drifting snow index and thickness of surface crust may be computed from the main station if SNOW_EROSION is set
    Parameters
    Hdata
    Hdata_ind
    Zdata
    newDrift
    stationDriftIndexneeds to be computed
    Xdata
    Mdata
    Sdata

◆ getHazardDataSlope()

void Hazard::getHazardDataSlope ( ProcessDat Hdata,
ProcessInd Hdata_ind,
std::vector< double > &  drift24,
const double &  newDrift,
const SnowStation Xdata,
const bool  luvDriftIndex,
const bool  north,
const bool  south 
)

Compute Hdata from virtual slope data.

  • drifting snow index for last 6 and 24 h
  • liquid water index for north and south slope
  • vertical thickness of melt-freeze crust, not buried deeper than 3 cm
    Note
    these values are only available for virtual slopes
    Parameters
    Hdata
    Hdata_ind
    drift24vector of 48 previous driting snow values
    newDriftvalue
    Xdata
    luvDriftIndexneeds to be computed
    northis slope aspect
    southis slope aspect

◆ initializeHazard()

void Hazard::initializeHazard ( std::vector< double > &  old_drift,
double  slope_angle,
std::vector< ProcessDat > &  Hdata,
std::vector< ProcessInd > &  Hdata_ind 
)

Allocates and initializes Hazard data.

  • Computes a zeroth order drift index for the first time step w/o shifting old_drift!
    Parameters
    *old_drift
    slope_angle(degree)
    Hdata
    Hdata_ind

Member Data Documentation

◆ maximum_drift

const double Hazard::maximum_drift = 5.0
static

◆ minimum_drift

const double Hazard::minimum_drift = 0.0
static

◆ typical_slope_length

const double Hazard::typical_slope_length = 70.0
static

◆ wind_slab_density

const double Hazard::wind_slab_density = 77.0
static

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