SNOWPACK 20260312.9ea114d3
Physically based, energy balance snow cover model
Loading...
Searching...
No Matches
Saltation.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#ifndef SALTATION_H
21#define SALTATION_H
22
23#include <meteoio/MeteoIO.h>
24
26
31class Saltation {
32 public:
33 Saltation(const SnowpackConfig& i_cfg);
34
35 bool compSaltation(const double& tauS, const double& tau_th, const double& slope_angle, const double& dg,
36 double& massflux, double& c_salt) const;
37
38 static const double karman;
39 static const double z0_salt;
40
41 private:
42 static double sa_vw(const double& z, const double& tauA, const double& tauS, const double& z0,
43 const double& u_start, const double& slope_angle);
44 static double sa_vw2(const double& z, const double& tauA, const double& tauS, const double& z0,
45 const double& u_start, const double& slope_angle);
46
47 static bool sa_Traject(const double& u0, const double& angle_e_rad, const double& slope_angle, const double& dg,
48 const double& tauA, const double& tauS, const double& z0,
49 double& ubar, double& u_i, double& angle_i_rad, double& t_i, double& z_max);
50
51 static double sa_MassFlux(const double& z0, const double& tauS, const double& tauA, const double& slope_angle,
52 const double& dg, const double& tau_th, double& z_max, double& ubar, double& cs);
53
54 static double sa_AeroEntrain(const double& z0, const double& tauS, const double& slope_angle, const double& dg,
55 const double& tau_th, double& flux, double& z_max, double& ubar, double& cs);
56
57 static int sa_TestSaltation(const double& z0, const double& tauS, const double& tauA, const double& slope_angle,
58 const double& dg, const double& tau_th, double& z_max, double& ubar);
59
60 const std::string saltation_model;
61 static const double hs_frac, elas, angle_ej, ratio_ve_ustar, salt_height;
62 static const int strong, weak;
63};
64
65#endif
66
This module contains the saltation model of Judith.
Definition Saltation.h:31
static const double karman
Von Karman constant.
Definition Saltation.h:38
static const double z0_salt
Saltation Z0 Preliminary values will be changed later Judith original: 0.00098.
Definition Saltation.h:39
bool compSaltation(const double &tauS, const double &tau_th, const double &slope_angle, const double &dg, double &massflux, double &c_salt) const
Computes the saltation flux.
Definition Saltation.cc:397
Definition SnowpackConfig.h:28