SNOWPACK 20260609.1e92c933
Physically based, energy balance snow cover model
Loading...
Searching...
No Matches
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#include <string>
30
31class Saltation;
32
38class SnowDrift {
39
40 public:
41 SnowDrift(const SnowpackConfig& i_cfg);
42
43 void compSnowDrift_deprecated(const CurrentMeteo& Mdata, SnowStation& Xdata, SurfaceFluxes& Sdata, double& cumu_psum) const;
44 void compSnowDrift(const CurrentMeteo& Mdata, SnowStation& Xdata, SurfaceFluxes& Sdata, double& cumu_psum) const;
45
46 static const double schmidt_drift_fudge;
47
48 private:
49 double compMassFlux(const ElementData& Edata, const double& ustar, const double& slope_angle) const;
50
51 const Saltation saltation; // The saltation model used
52 const bool enforce_measured_snow_heights; // Will be read from cfg object
53 std::string snow_erosion, snow_redistribution;
54 double erosion_limit; // Erosion limit in kg m-2, read from cfg object. Density above this is not eroded;
55 const bool alpine3d;
56 const double sn_dt; //Calculation time step in seconds as derived from CALCULATION_STEP_LENGTH
57 static const bool msg_erosion;
58}; //End class SnowDrift
59
60#endif
61
Class of interpolated meteo data for the current calculation time step.
Definition DataClasses.h:895
The physical properties of an individual element used in snow layers (one or multiple elements are co...
Definition DataClasses.h:212
This module contains the saltation model of Judith.
Definition Saltation.h:31
This class contains the computation of local snow drift and the associated erosion.
Definition SnowDrift.h:38
static const double schmidt_drift_fudge
Deviation from geometrical factors defined by Schmidt.
Definition SnowDrift.h:46
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:262
void compSnowDrift_deprecated(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:126
Station data including all information on snowpack layers (elements and nodes) and on canopy.
Definition DataClasses.h:533
Definition SnowpackConfig.h:28
The surface fluxes data as computed by Snowpack.
Definition DataClasses.h:675