SNOWPACK 20240419.9b8fae6
SnowDrift.h
Go to the documentation of this file.
1/*
2 * SNOWPACK stand-alone
3 *
4 * Copyright WSL Institute for Snow and Avalanche Research SLF, DAVOS, SWITZERLAND
5*/
6/* This file is part of Snowpack.
7 Snowpack is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Snowpack is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Snowpack. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef SNOWDRIFT_H
22#define SNOWDRIFT_H
23
24#include <meteoio/MeteoIO.h>
25
26#include <snowpack/Saltation.h>
29
30class Saltation;
31
37class SnowDrift {
38
39 public:
40 SnowDrift(const SnowpackConfig& i_cfg);
41
42 void compSnowDrift(const CurrentMeteo& Mdata, SnowStation& Xdata, SurfaceFluxes& Sdata, double& cumu_psum) const;
43
44 static const double schmidt_drift_fudge;
45
46 private:
47 double compMassFlux(const ElementData& Edata, const double& ustar, const double& slope_angle) const;
48
49 const Saltation saltation; // The saltation model used
50 const bool enforce_measured_snow_heights, snow_redistribution, snow_erosion; // Will be read from cfg object
51 const bool alpine3d;
52 const double sn_dt; //Calculation time step in seconds as derived from CALCULATION_STEP_LENGTH
53 static const bool msg_erosion;
54}; //End class SnowDrift
55
56#endif
57
CurrentMeteo is the class of interpolated meteo data for the current calculation time step It contai...
Definition: DataClasses.h:83
ELEMENT DATA used as a pointer in the SnowStation structure NOTE on M below: this is the mass of an e...
Definition: DataClasses.h:285
This module contains the saltation model of Judith.
Definition: Saltation.h:32
This class contains the computation of local snow drift and the associated erosion.
Definition: SnowDrift.h:37
static const double schmidt_drift_fudge
Deviation from geometrical factors defined by Schmidt.
Definition: SnowDrift.h:44
SnowDrift(const SnowpackConfig &i_cfg)
Definition: SnowDrift.cc:74
void compSnowDrift(const CurrentMeteo &Mdata, SnowStation &Xdata, SurfaceFluxes &Sdata, double &cumu_psum) const
Erodes Elements from the top and computes the associated mass flux Even so the code is quite obscure,...
Definition: SnowDrift.cc:134
Definition: DataClasses.h:604
Definition: SnowpackConfig.h:28
Definition: DataClasses.h:733