Skip to main content

Development of a snowdrift model with the lattice Boltzmann method


We developed a snowdrift model to evaluate the snowdrift height around snow fences, which are often installed along roads in snowy, windy locations. The model consisted of the conventional computational fluid dynamics solver that used the lattice Boltzmann method and a module for calculating the snow particles’ motion and accumulation. The calculation domain was a half channel with a flat free-slip boundary on the top and a non-slip boundary on the bottom, and an inflow with artificially generated turbulence from one side to the outlet side was imposed. In addition to the reference experiment with no fence, experiments were set up with a two-dimensional and a three-dimensional fence normal to the dominant wind direction in the channel center. The estimated wind flow over the two-dimensional fence was characterized by a swirling eddy in the cross section, whereas the wind flow in the three-dimensional fence experiment was horizontally diffluent with a dipole vortex pair on the leeward side of the fence. Almost all the snowdrift formed on the windward side of the two-dimensional and three-dimensional fences, although the snowdrift also formed along the split streaks on the leeward side of the three-dimensional fence. Our results suggested that the fence should be as long as possible to avoid snowdrifts on roads.


Snowdrifts are patchy accumulations of snow resulting mainly from the redistribution of snow particles on the ground by drifting snow, which is the horizontal movement of snow particles by creep and saltation on the surface. Snowdrifts can severely affect human activities; for example, snowdrifts in mountainous terrain can trigger avalanches and affect the mass balance of water (Lehning et al. 2006, 2008; Mott et al. 2010; Vionnet et al. 2017). Moreover, snowdrifts cause traffic disruption because vehicles tend to stack and stagnate on roads with a snow depth of 15 cm (Kaneko et al. 2011). Snow fences are one of the solutions to mitigate the problems caused by snowdrifts, especially on roads in snowy, windy locations. Snowdrift distribution around snow fences depends strongly on their design parameters, such as height, thickness, bottom gap, space between panels, penetration rate of porous fences, and distance from the road (Tabler 1986; Uematsu et al. 1991; Alhajraf 2004). Some studies have examined the onset of drifting snow and snow accumulation in wind tunnel experiments (Delpech et al. 1998; Okaze et al. 2012; Zhou et al. 2014). Other studies have reported the effect of snow fence design on the size of snowdrifts on roads based on field observations (Tabler 1980, 1994; Takeuchi 1980; Takeuchi et al. 1986). However, field observations provide limited opportunities to sample drifting snow events at a certain site, and wind tunnel experiments do not always correspond to real situations owing to scaling effects. Moreover, it is generally costly to obtain sufficient data to design snow fences using these methods. However, the advancement of computer technology has enabled numerical simulations of snowdrift development to be performed to search for an optimal snow-fence design at a target site.

Numerical simulations of drifting snow require computational fluid dynamics (CFD) and the estimation of snowdrift distribution. Numerical simulations of drifting snow were pioneered in the 1990s by Uematsu et al. (1991) and Liston et al. (1993). These studies used a wind simulation based on the Reynolds-averaged Navier–Stokes equations model with turbulence parameterizations, such as K-theory and the \(k\)-\(\varepsilon\) model. These models reproduced the snowdrift distribution around a simple snow fence. Some studies extended these models to include drifting snow processes due to multiple snow events that were more complicated (Beyers et al. 2004; Tominaga et al. 2011a, 2011b). The large-eddy simulation (LES) has been applied to snow transport simulations to describe turbulence more accurately (Okaze et al. 2018; Wang and Jia 2018). For example, Zwaaftink et al. (2014) combined the LES and a Lagrangian stochastic model and described the temporal and spatial variability of drifting snow with their model. Some studies have considered the momentum exchange between particles and background wind (Elghobashi 1994). Moreover, turbulent wind is strongly affected not only by the fixed boundaries, including topography and artificial obstacles, but also by snow surfaces that vary temporally due to snowdrifts.

The lattice Boltzmann method (LBM) is a CFD algorithm for quick calculations [see McNamara and Zanetti (1988) for an introduction and Benzi et al. (1992), Qian et al. (1995), and Chen and Doolen (1998) for comprehensive reviews]. In the LBM, the Navier–Stokes equations are replaced with a distribution function equation called the lattice Boltzmann equation that treats the fluid flow as microscopic fictitious particles in the space lattice (Chen et al. 1992; Qian et al. 1992). The lattice Boltzmann equation can be numerically solved by the translation of the distribution function and the relaxation to the equilibrium state. The LBM algorithm is characterized by simpler implementation and higher efficiency in parallel computation than the conventional CFD algorithm (Chen and Doolen 1998). Han et al. (2019) demonstrated that the LBM was three-fold faster than the finite volume method in 16-core parallel processing. The LBM has been applied to various fields, such as wind flow in the urban environment with 1 m resolution (Onodera et al. 2013), canopy turbulence in neutrally stratified conditions (Watanabe et al. 2020), flow in porous media (Liu et al. 2016a; b), and flow in blood vessels (Zhang et al. 2008; Bernasch et al. 2009). In cryology, Wang et al. (2006) simulated dynamic snowing scenes for various weather conditions and snow crystal types with LBM. Lu et al. (2009) also used the LBM to reproduce dendric snow crystal growth in clouds. These studies suggest that the LBM is appropriate for modeling blowing snow and snowdrift distribution; however, no such studies have been performed.

In this paper, we develop an LBM model for snowdrift distribution around an artificial snow fence. The model consists of the CFD module based on the LBM and a module for calculating the snow particles’ motion and accumulation following Nishimura and Hunt (2000). The present work focuses on checking the feasibility of applying the LBM to blowing snow and snowdrift modeling in typical experiments. Because the computational efficiency of the LBM has been demonstrated (King et al. 2017; Han et al. 2019), we did not compare the LBM with other CFD modeling methods. The remaining part of this paper is organized as follows: in Sects. 2 and 3, we describe the model and experiments in detail; in Sect. 4, we show the results of the model simulation, compare them with previous observation and numerical simulation studies, and discuss the effect of snow fences on snowdrift distribution; and in Sect. 5 we conclude the paper.


CFD module

The CFD module in the model we developed was based on a three-dimensional LBM model that delivered microscopic fictitious particles to 19 neighbor nodes, usually referred to as a D3Q19 configuration with the single-relaxation time collision operator (Fig. 1). This LBM configuration has been established in a sufficiently accurate turbulent simulation (Onodera et al. 2013; King et al. 2017; Deiterding and Wood 2016; Noh 2019), although other sophisticated methods have been proposed to reduce the error (Geier et al. 2009, 2015; Suga et al. 2015). The discretized lattice Boltzmann equation is a prognostic equation of the distribution function for particles in the \(i\)th direction, \({f}_{i}\),

$${f}_{i}\left({\varvec{r}}+{{\varvec{c}}}_{i}\Delta t,t+\Delta t\right)={f}_{i}\left({\varvec{r}},t\right)+{\Omega }_{\mathrm{i}}\Delta t,$$

where \({\varvec{r}}\) is the particle position vector, \(\Delta t\) is the time increment, \({\Omega }_{i}\) is the collision term, and \({{\varvec{c}}}_{i}\) is the particle velocity vector.

Fig. 1
figure 1

Schematic of the particle velocity vector, \({{\varvec{c}}}_{{\varvec{i}}}\), in the D3Q19 configuration of the lattice Boltzmann model

The Bhatnagar–Gross–Krook approximation reduced collision term \({\Omega }_{\mathrm{i}}\) to the relaxation to the equilibrium state of the distribution function (Chen et al. 1992; Qian et al. 1992),

$${\Omega }_{\mathrm{i}}=-\frac{1}{\tau }\left({f}_{i}-\widehat{{f}_{i}}\right).$$

Here, \(\tau\) is the relaxation time as a function of viscosity \({\upnu }_{*}\),

$$\tau =\frac{1}{2}+\frac{3{\nu }_{*}}{{c}^{2}\Delta t}$$

where \(c\) is the discrete speed, defined as \(\frac{\Delta x}{\Delta t}\), with spatial increment \(\Delta x\). \({\nu }_{*}\) is defined as \({\nu }_{*}={\nu }_{0n}+{\nu }_{t}\), where \({\nu }_{0n}\) is the non-dimensional viscosity of the air (\({4.0\times 10}^{-6}\)) and \({\nu }_{t}\) is the eddy viscosity, given in Eq. (7). \(\widehat{{f}_{i}}\) is the equilibrium distribution function for particles in the \(i\)th direction, calculated in the D3Q19 configuration as

$$\widehat{{f}_{i}}={w}_{i}\rho \lceil1+\frac{\left({{\varvec{c}}}_{{\varvec{i}}}\bullet {\varvec{u}}\right)}{{c}_{s}^{2}}+\frac{{\left({{\varvec{c}}}_{{\varvec{i}}}\bullet {\varvec{u}}\right)}^{2}}{2{c}_{s}^{4}}-\frac{{\left|{\varvec{u}}\right|}^{2}}{2{c}_{s}^{2}}\rceil,$$


$${w}_{i}=\left\{\begin{array}{c}\frac{1}{3} (i=0)\\ \frac{1}{18} (i=1, 2, \dots , 6)\\ \frac{1}{36} (i=7, 8, \dots , 18)\end{array}\right.,$$

the lattice speed of sound \({c}_{s}=1/\sqrt{3}\), and \(\rho\) and \({\varvec{u}}\) are the macroscopic density and velocity, respectively, calculated in the D3Q19 configuration as

$$\rho =\sum_{i=0}^{18}{f}_{i}, \mathrm{and} {\varvec{u}}=\frac{1}{\rho }\sum_{i=0}^{18}{f}_{i}{{\varvec{c}}}_{i}.$$

The dimensional variables are transferred from the non-dimensional distribution function by multiplying the non-dimensional value by 50.0 to give the same Reynold numbers.

The sub-grid scale parameterization (Feng et al. 2007; Onodera et al. 2013; Wang et al. 2014; Suga et al. 2015) was implemented to estimate the eddy kinematic viscosity, \({\nu }_{t}\). We used the Smagorinsky model (Smagorinsky 1963), in which \({\nu }_{t}\) is related to velocity gradient tensor \(\mathbf{S}\) by

$${\nu }_{t}=C{\Delta }^{2}\left|\overline{\mathbf{S} }\right|,$$

where Smagorinsky coefficient \(C=0.12\) (Tominaga et al. 2008; Okaze et al. 2021) and \(C=60\) in the damping zone, which consists of 15 grids from the outlet boundary to damp the numerical oscillation near the outlet (Inagaki et al. 2017). \(\Delta\) is the cubic root of the local mesh volume. \(\left|\overline{\mathbf{S} }\right|\) was estimated in the D3Q19 configuration as

$$\left|\overline{\mathbf{S} }\right|=\frac{3}{2\rho \tau }\sqrt{2\sum_{k=1}^{3}\sum_{j=1}^{3}\sum_{i=0}^{18}\left({f}_{i}-\widehat{{f}_{i}}\right){c}_{ij}{c}_{ik}} ,$$

where \({c}_{ij}\) and \({c}_{ik}\) are the \(j\)th and \(k\)th components of \({{\varvec{c}}}_{{\varvec{i}}}\), respectively.

The model domain was a finite channel in the three-dimensional space spanned by the wind direction, \(x\), the horizontal direction normal to \(x\) (or fence direction), \(y\), and the vertical direction, \(z\). Hereafter, for convenience, the negative and positive ends of \(x\) in the domain are called the western and eastern boundaries, those of \(y\) are called the southern and northern boundaries, and those of \(z\) are called the bottom and top boundaries, respectively. The horizontal direction is rotationally invariant in this system.

The LBM represents the western boundary condition with inflow \({u}_{0}(x,y,z)=({u}_{0}\left(y,z\right),{v}_{0}\left(y,z\right),{w}_{0}(y,z))\) (Sect. 2.2) as

$$\begin{aligned} f_{1} & = f_{2} + \frac{{\rho u_{0} }}{3}, \\ f_{7} & = f_{10} + \frac{{f_{4} + f_{17} + f_{18} - f_{3} - f_{15} - f_{16} }}{2} + \frac{{\rho (u_{0} + v_{0} )}}{6} + \frac{{\rho v_{0} }}{3}, \\ f_{8} & = f_{9} + \frac{{f_{3} + f_{15} + f_{16} - f_{4} - f_{17} - f_{18} }}{2} + \frac{{\rho (u_{0} - v_{0} )}}{6} - \frac{{\rho v_{0} }}{3}, \\ f_{11} & = f_{14} + \frac{{f_{6} + f_{16} + f_{18} - f_{5} - f_{15} - f_{17} }}{2} + \frac{{\rho (u_{0} + w_{0} )}}{6} + \frac{{\rho w_{0} }}{3},\;{\text{and}} \\ f_{13} & = f_{12} + \frac{{f_{5} + f_{15} + f_{17} - f_{6} - f_{16} - f_{18} }}{2} + \frac{{\rho (u_{0} - w_{0} )}}{6} - \frac{{\rho w_{0} }}{3}. \\ \end{aligned}$$

On the other side, the LBM represents the free-flow condition at the eastern boundary (Hecht and Harting 2010) as

$$\begin{aligned} f_{2} & = f_{1} - \frac{{u_{e} }}{3}, \\ f_{10} & = f_{7} - \frac{{f_{4} + f_{17} + f_{18} - f_{3} - f_{15} - f_{16} }}{4} - \frac{{u_{e} }}{6}, \\ f_{9} & = f_{8} - \frac{{f_{3} + f_{15} + f_{16} - f_{4} - f_{17} - f_{18} }}{4} - \frac{{u_{e} }}{6}, \\ f_{14} & = f_{11} - \frac{{f_{6} + f_{16} + f_{18} - f_{5} - f_{15} - f_{17} }}{4} - \frac{{u_{e} }}{6},\;{\text{and}} \\ f_{12} & = f_{13} - \frac{{f_{5} + f_{15} + f_{17} - f_{6} - f_{16} - f_{18} }}{2} - \frac{{u_{e} }}{6}, \\ \end{aligned}$$



The southern and northern boundaries are periodic. Distribution functions \({f}_{3},\) \({f}_{7}\), \({f}_{9}\), \({f}_{15}\), and \({f}_{16}\) at the southern boundary are equal to those at the northern boundary; and distribution functions \({f}_{4}\), \({f}_{8}\), \({f}_{10}\), \({f}_{17}\), and \({f}_{18}\) at the northern boundary are equal to those at the southern boundary. The top boundary was a free-slip boundary (i.e., \(\frac{{\text{d}}{\varvec{u}}}{{\rm{d}}z}=0\)). The LBM representation was

$${f}_{6}={f}_{5}, {f}_{13}={f}_{11}, {f}_{14}={f}_{12}, {f}_{16}={f}_{15},\, {\mathrm{and}}\, {f}_{18}={f}_{17}.$$

The bottom boundary was no-slip (i.e., \({\varvec{u}}=0\)), so that the LBM represented it as bounce-back,

$${f}_{5}={f}_{6}, {f}_{11}={f}_{14}, {f}_{12}={f}_{13}, {f}_{15}={f}_{18}, {\text{ and }} {f}_{17}={f}_{16}.$$

The boundary on the fence was also no-slip as bounce-back and was written similarly to Eq. (13).

Inflow turbulence generation

We generated the artificial inflow turbulence and imposed it as the inflow on the western boundary. The inflow turbulence was generated as two-dimensional digital-filtered random data by controlling the time and spatial autocorrelations of the resultant inflow turbulence (Okaze and Mochida 2017; Xie and Castro 2008). The total inflow, \({{\varvec{u}}}_{0}(y,z,t)\), from the western boundary was divided into the time average, \(\langle {{\varvec{u}}}_{0}\rangle\), and the deviation from the time average, \({{\varvec{u}}}_{0}^{\boldsymbol{^{\prime}}}\). We assumed that the model domain was the constant flux layer. The wind direction of the time-averaged vector was only eastward, and the wind speed followed the logarithmic profile of

$$\langle {u}_{0}(z)\rangle =\frac{{u}_{*}}{\kappa }\mathrm{ln}\left(\frac{z}{{z}_{0}}\right),$$

where \({u}_{*}\) is the friction velocity (a parameter to be given), \({z}_{0}\) is the roughness length for flat snow surface (0.1 mm; Hiroo and Ishida 1973), and \(\kappa\) is von Karman’s constant (0.4). Using other common assumptions (Okaze and Mochida 2018), Reynolds stress tensor \(\mathbf{R}\) for the inflow turbulence was parameterized as

$$\mathbf{R}= \left(\begin{array}{ccc}\langle {u}_{0}^{^{\prime}}{u}_{0}^{^{\prime}}\rangle & \langle {u}_{0}^{^{\prime}}{v}_{0}^{^{\prime}}\rangle & \langle {u}_{0}^{^{\prime}}{w}_{0}^{^{\prime}}\rangle \\ \langle {v}_{0}^{^{\prime}}{u}_{0}^{^{\prime}}\rangle & \langle {v}_{0}^{^{\prime}}{v}_{0}^{^{\prime}}\rangle & \langle {v}_{0}^{^{\prime}}{w}_{0}^{^{\prime}}\rangle \\ \langle {w}_{0}^{^{\prime}}{u}_{0}^{^{\prime}}\rangle & \langle {w}_{0}^{^{\prime}}{v}_{0}^{^{\prime}}\rangle & \langle {w}_{0}^{^{\prime}}{w}_{0}^{^{\prime}}\rangle \end{array}\right)={u}_{*}^{2}\left(\begin{array}{ccc}10/3& 0& -1\\ 0& 5/3& 0\\ -1& 0& 5/3\end{array}\right).$$

The deviation from the time average was computed as \({{\varvec{u}}}_{0}^{\boldsymbol{^{\prime}}}\left(y,z,t\right)=\stackrel{\sim }{\mathbf{R}}\boldsymbol{\Psi }(y,z,t)\), where \(\stackrel{\sim }{\mathbf{R}}\) is the Cholesky decomposition of \(\mathbf{R}\) and \(\boldsymbol{\Psi }\) is the numerical solution of the stochastic equation (Xie and Castro 2008) of

$$\boldsymbol{\Psi }\left(y,z,t+\Delta t\right)=\boldsymbol{\Psi }\left(y,z,t\right)\mathrm{exp}\left(-\frac{\Delta t}{T}\right)+{\varvec{\psi}}\left(y,z,t+\Delta t\right){\left\{1-\mathrm{exp}\left(-\frac{2\Delta t}{T}\right)\right\}}^{1/2},$$

from the initial condition of \(\boldsymbol{\Psi }\left(y,z,0\right)={\varvec{\psi}}\left(y,z,0\right)\). Here, \(T\) is the characteristic timescale and \({\varvec{\psi}}\) is the digital-filtered normal random numbers that satisfy a spatial autocorrelation with characteristic length \(L\) (Klein et al. 2003).\({\varvec{\psi}}\left(y,z,t\right)\) was generated at each time step with a different random number. Following the modified Prandtl theory (Okuma et al. 1996), \(L\) was parameterized as

$$L=\frac{1}{3}\kappa z.$$

Then, by assuming Taylor’s hypothesis of frozen turbulence, characteristic timescale \(T\) was parameterized as

$$T=\frac{1}{3}\kappa z\langle {u}_{0}(z)\rangle .$$

The inflow was numerically generated with the same grid spacing and the same time interval as the CFD module.

Snow particle module

The snow particle module in the model followed Nishimura and Hunt (2000) and Nemoto and Nishimura (2004). Assuming that drifting snow particles were spherical, made of ice, electrically neutral, and not driven by the lift force, the equation of motion for the particles is written as

$$\frac{\mathrm{d}{{\varvec{u}}}_{{\varvec{p}}}}{\mathrm{d}t}=-\frac{3}{4}\left(\frac{{\rho }_{a}}{{\rho }_{p}d}\right){C}_{\mathrm{d}}{V}_{R}\left({{\varvec{u}}}_{{\varvec{p}}}-{\varvec{u}}\right)-g{\varvec{k}},$$

where \({{\varvec{u}}}_{{\varvec{p}}}\) (m s−1) is the particle velocity vector, \({\varvec{u}}\) (m s−1) is the wind vector, \({V}_{R}=\left|{{\varvec{u}}}_{{\varvec{p}}}-{\varvec{u}}\right|\)\(g\) is gravity (9.8 m s−2), \({\rho }_{a}\) and \({\rho }_{p}\) are the densities of air (1.34 kg m−3) and the particle (910 kg m−3), respectively, and \(d\) is the particle diameter (100 \(\mathrm{\mu m}\); Nishimura et al. 2014). \({C}_{\mathrm{d}}\) is the drag coefficient for the particle (White 1974), calculated as

$${C}_{\mathrm{d}}=\frac{24{\nu }_{0}}{{V}_{R}d}+\frac{6}{1+{V}_{R}d/{\nu }_{0}}+0.4,$$

where \({\nu }_{0}\) is the viscosity of the air (\({10}^{-5}\) \({\text{m}}^{2} \,{\text{s}}^{-1}\)). The terminal fall velocity of a snow particle was estimated from the vertical component of Eqs. (19) and (20) as 0.30 m s−1.

Observation results indicated that accumulated snow particles jumped out of the snow surface when the friction velocity was high enough to lift them (Shao and Li 1999; Nemoto and Nishimura 2004). Based on this result, we assumed that a snow particle fell on the bottommost level and occupied the first grid-cell when the friction velocity on the snow surface was below the threshold. The friction velocity, \({u}_{*}\) (m s−1), on the snow surface was estimated with a wall function by a two-layer model in Werner and Wenglem (1991) as

$$u_{*} = \left\{ {\begin{array}{*{20}l} {\sqrt {\frac{{2\nu_{0} \left| {{\varvec{u}}\left( {z_{b} } \right)} \right|}}{{z_{b} }}} } \hfill & {{\text{for}}\;{ }\left| {{\varvec{u}}\left( {z_{b} } \right)} \right| \le \frac{{\nu_{0} }}{{2z_{b} }}A^{{\frac{2}{1 - B}}} } \hfill \\ {\left\{ {\frac{1 - B}{2}A^{{\frac{1 + B}{{1 - B}}}} \left( {\frac{{\nu_{0} }}{{z_{b} }}} \right)^{1 + B} + \frac{1 + B}{A}\left( {\frac{{\nu_{0} }}{{z_{b} }}} \right)^{B} \left| {{\varvec{u}}\left( {z_{b} } \right)} \right|} \right\}^{{\frac{1}{1 + B}}} ,} \hfill & {{\text{for}}\;{ }\left| {{\varvec{u}}\left( {z_{b} } \right)} \right| \ge \frac{{\nu_{0} }}{{2z_{b} }}A^{{\frac{2}{1 - B}}} } \hfill \\ \end{array} } \right.$$

where \({z}_{b}\) is the height of the bottommost grid just above the snow surface, \(A=8.3\), and \(B=1/7\). This is a different definition of the friction velocity from the inflow generation. The wind velocity at the first grid point varied in time, and then the wall unit in the first grid point was also changed. This approach automatically considered the linear and power law distributions with an instantaneous wall unit calculated with the wind speed in the first grid point. The threshold of the friction velocity, \({u}_{*t}\) was computed following Bagnold (1941) and Clifton et al. (2006) as

$${u}_{*t}=0.2\sqrt{\frac{{\rho }_{p}-{\rho }_{a}}{{\rho }_{a}}gd} \sim 0.163 \,{\text{m s}}^{-1}.$$

We assumed that no snow particles accumulated when the friction velocity was larger than this threshold. The aerodynamic entrainment, rebound, splash, mass loss by sublimation and disruption, the drag force on the fluid, and coalescence of snow particles by the collision were all neglected.


We performed three experiments: with no fence, with a two-dimensional fence, and with a three-dimensional fence of 1.5 m in width (Fig. 2). The fence was set 4 m from the western boundary and was centered in the channel. The fence was non-porous, solid, and the thickness was 0.1 m and the height was 1 m. The following model settings were independent of the presence of the fence. The channel size was 15.75 \(\times\) 5 \(\times\) 5 m, with the grid spacing at 0.05 m. The origin of the \(x\)-coordinate was 4 m from the western boundary, at the position of the fence. In the CFD calculation, the integration time was 30 s and the time interval was 1 ms; the results were sampled every 0.02 s from the initial time. In the generation of the inflow turbulence, the 40 s data was stored with an interval of 4 ms. The inflow turbulence was generated with the friction velocity, such that the time-averaged wind speed was 6 m s−1 westerly at 10 m aloft in the log profile and the initial wind profile over the calculation domain was imposed as the same value. We used 30 s data for the generated inflow turbulence after the spin-up as the western boundary condition after linear interpolation as every 1 ms.

Fig. 2
figure 2

Schematic of the calculation domain and initial wind vectors in the experiment with a no fence, b a two-dimensional fence, and c a three-dimensional fence

We numerically integrated the equation of motion of snow particles (Eq. 19) with a time interval of 1 ms. The particles were uniformly distributed on the western boundary plane per 5.0 cm horizontally and per 2.5 cm vertically at the initial time, but we assumed that a single particle in the snow module represented snow mass corresponding to snow volume flux depending on the height (Fig. 3b) as

Fig. 3
figure 3

Vertical profiles of a snow concentration and b snow volume flux of the initial condition on the western boundary plane of the snow particle module

$${v}_{f}\left(z\right)=\alpha \frac{n\left(z\right)\langle {u}_{0}\left(z\right)\rangle }{{\rho }_{p}}.$$

Here, \(\alpha =1500\) to accelerate the snow accumulation, and snow concentration \(n\left(z\right)\) (g m−3) is given (Fig. 3a; Shiotani 1953; Matsuzawa and Takeuchi 2002) by

$$n\left(z\right)=\mathrm{min}\left(30, 30{\left(\frac{z}{0.15}\right)}^{-\frac{0.30}{\kappa {u}_{*}}}\right),$$

where the friction velocity \({u}_{*}\) was estimated by Eq. (14). The snow particles’ motion was driven by the sampled time segments of wind data obtained from each experiment with or without a fence; several snow particle integrations were conducted with the CFD output starting from a different time. The initial wind profile based on the CFD module was given to the snow module every 0.1 s and the wind profile in the snow module was renewed every 0.02 s. The integration ended when all snow particles had fallen or flowed out of the calculation domain. Accumulated snow particles gave a height on the grid corresponding to the snow volume per grid area. Snow particles within the snowdrift did not move, collapse, melt, or sublimate. The estimated snowdrift was spatially smoothed by averaging data with their neighbors.


Artificial inflow turbulence

First, we checked whether the inflow turbulence followed the target wind profile (Eq. 14) and its corresponding Reynolds stress tensor (Eq. 15). The time-averaged inflow turbulence had a vertical profile quite similar to the target log profile with 6 m s−1 westerly at 10 m height (not shown). The Reynolds stresses also agreed with the prescribed values of \(\langle {u}^{^{\prime}}{u}^{^{\prime}}\rangle \sim 10/3{u}_{*}^{2}\),\(\langle {v}^{^{\prime}}{v}^{^{\prime}}\rangle \sim \langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle \sim 5/3{u}_{*}^{2}\), \(\langle {u}^{^{\prime}}{w}^{^{\prime}}\rangle \sim -{u}_{*}^{2}\), and \(\langle {v}^{^{\prime}}{u}^{^{\prime}}\rangle \sim \langle {v}^{^{\prime}}{w}^{^{\prime}}\rangle \sim 0\) (Fig. 5a).

No-fence experiment

A reference experiment without a fence was performed to demonstrate the validity of the model and to check the spin-up time. Figure 4a displays the time series of the wind speed at the center of the calculation domain over the integration period. The calculation was computationally stable during the period. Moreover, because the initial profile occupied the whole calculation domain, it almost took 2.6 s to run the information from the western boundary to the eastern end. This time span was the spin-up period of the model. The effect of the inflow turbulence was observed at the central position after half of the period (Fig. 4a). The wind data calculated in the CFD module was discarded before 10 s, and the data segment selected after 10 s was input into the snow module. Therefore, we used 201 ensemble members to calculate a snowdrift amount and the snow particles’ trajectories. The vertical profile of the wind speed at the final time step is shown in Fig. 4b. The instantaneous westerly wind fluctuated around the logarithmic low imposed as the mean value at the inflow boundary. Figure 5 shows the second-order turbulent statistics at the inflow boundary in Fig. 5a and the center of the calculation domain (x = 3.5 m, y = 2.5 m) in Fig. 5b. Although \(\langle {u}^{^{\prime}}{u}^{^{\prime}}\rangle\) decreased slightly and \(\langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle\) increased above z = 1.0 m at the center of the domain, the turbulent kinetic energy, defined as \(\frac{1}{2}\left(\langle {u}^{^{\prime}}{u}^{^{\prime}}\rangle +\langle {v}^{^{\prime}}{v}^{^{\prime}}\rangle +\langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle \right)\), was comparable with that at the inflow boundary. The distribution of the three components of the normal stress assumed at the inflow boundary was only slightly modified. Due to the effect of the no-slip condition at the ground surface, \(\langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle\) was decreased near the surface, which could decrease \(\langle {u}^{^{\prime}}{w}^{^{\prime}}\rangle\), especially near the surface at the center of the domain. However, \(\langle {u}^{^{\prime}}{w}^{^{\prime}}\rangle\) at the center was still half the prescribed value at the inflow boundary.

Fig. 4
figure 4

a Time series of wind speed for the no-fence experiment at the center of the calculation domain from 0 to 30 s. b Vertical wind speed profile for the no fence experiment at (x, y, t) = (3.5 m, 2.5 m, 0 s) (dotted line) and at (x, y, t) = (3.5 m, 2.5 m, 30 s) (solid line)

Fig. 5
figure 5

Vertical profile of six components of Reynolds stress a in the artificial inflow turbulence at the center of the y-axis and b in the no-fence experiment at (x, y) = (3.5 m, 2.5 m). Solid lines are \(\langle {u}^{^{\prime}}{u}^{^{\prime}}\rangle\) (black), \(\langle {v}^{^{\prime}}{v}^{^{\prime}}\rangle\) (blue), and \(\langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle\) (pink). Broken lines are \(\langle {u}^{^{\prime}}{w}^{^{\prime}}\rangle\) (black), \(\langle {u}^{^{\prime}}{v}^{^{\prime}}\rangle\) (blue), and \(\langle {v}^{^{\prime}}{w}^{^{\prime}}\rangle\) (pink). The grey dotted line indicates the target values of \(\langle {u}^{^{\prime}}{w}^{^{\prime}}\rangle\), \(\langle {u}^{^{\prime}}{v}^{^{\prime}}\rangle\) and \(\langle {v}^{^{\prime}}{w}^{^{\prime}}\rangle\), \(\langle {v}^{^{\prime}}{v}^{^{\prime}}\rangle\) and \(\langle {w}^{^{\prime}}{w}^{^{\prime}}\rangle\), and \(\langle {u}^{^{\prime}}{u}^{^{\prime}}\rangle\) from left to right

Figure 6 shows the snowdrift distribution as the sum of the amount of snow accumulation in each trajectory calculation. According to Eqs. (19) and (24), the terminal fall velocity of snow particles was 0.3 m s−1, and snow particles below a height of 0.5 m at the initial position had a large volume flux. Snow particles were advected by the background flow of ~ 4 m s−1 until deposition. Hence, most of the snow particles fell within 7 m of the western boundary (Fig. 6). The horizontal distribution of the snowdrift depended on the vertical distribution of the snow volume flux. The height of the snowdrift was expected to be about 0.2 m in the calculation domain if the snow volume flux exceeded \(6.0\times {10}^{-7}\) \({\mathrm{m}}^{3}\, {\mathrm{m}}^{-2}\, {\mathrm{s}}^{-1}\), corresponding to the flux at a height of 0.6 m. No more snow accumulation was possible after the friction velocity exceeded the threshold (Eq. 22). The results indicated that we could test the blocking effect of a fence at \(x=0\) because a snowdrift was formed beyond the point without the fence.

Fig. 6
figure 6

Snowdrift profile for the no-fence experiment in the cross section along y = 2.5 m, as the sum of the amount of snow accumulation for each trajectory calculation

Two-dimensional fence experiment

The horizontal wind observed in the no-fence experiment was distorted by the two-dimensional fence normal to the dominant wind direction, which created an ascending motion on the windward side and a swirling eddy in the cross section on the leeward side (two snapshots in Fig. 7). The upper-level wind was intensified around the top of the fence. These wind profile features were consistent with previous studies (Uematsu et al. 1991; Liu et al. 2016a, b). However, the eddies were generated successively from the leeward side of the fence and flowed downstream following the dominant wind flow, and the size and position of the eddies in the cross section varied irregularly over time (Fig. 7). At 10 s, a single eddy extended 1 m from the fence and there was another larger eddy from \(x=6\) to \(8\) m (Fig. 7a). The large eddy flowed in the eastern direction and left the domain after 11 s (not shown). At 26 s, there were large eddies just to the east of the fence and further downstream from \(x=3\) to \(6\) m (Fig. 7b). These larger eddies had a strong reverse flow near the surface because the intensified wind at the top of the fence was separated behind the fence. Eddies successively separated from the east side of the fence. The eddies caused by the fence augmented the fluctuations with a larger scale and a lager timescale.

Fig. 7
figure 7

Snapshots of the wind vectors (vectors) and vorticity (shading) around the two-dimensional fence in the cross section along y = 2.5 m at a 10 and b 26 s. The solid line at x = 0 shows the two-dimensional fence

The snowdrift distribution in the two-dimensional fence experiment (Fig. 8a) was different from that in the no-fence experiment (Fig. 6). Almost all of the snowdrift was distributed on the windward side of the fence because the surface wind speed was attenuated just to the west of the fence. The highest snowdrift was about 0.5 m high at \(x=- 1.3\mathrm{ m}\). These results were consistent with previous studies using a conventional numerical simulation (Uematsu et al. 1991; Alhajraf 2004) and observations (Tabler 1994). On the leeward side of the fence, few snowdrifts formed except for from \(x=5\) to \(7\) m. This distribution was consistent with the first snowdrift development regime in Tabler (1994), which is explained in detail in Sect. 5. There were three reasons for this result. First, most of the snow particles that went over the fence did not accumulate just east of the fence because the strong wind above the fence accelerated the snow particles. Figure 8b–d show the trajectories of three initial positions of the snow particles driven by all the wind profile data segments. Most of the particles starting from higher heights went over the fence and were blown through the calculation domain, such as the particles that started from a height of 1.4 m (Fig. 8d). However, most of the particles starting from a height of 0.3 m did not get over the fence (Fig. 8b) because these particles reached the grid on the windward side of the fence that had a friction velocity below the threshold (Eq. 22). Second, the eddies that were successively generated on the leeward side of the fence disturbed the snowdrift development at a certain point because these transient eddies were generated by inflow turbulence and the snow accumulation in a single trajectory calculation depended on the transient eddies. For example, some particles starting from a height of 0.4 m subsequently followed the streamlines of the swirling eddies and fell to the east of the fence (Fig. 8c), but these particles fell on different grids in each wind profile data segment. Third, most of the snow particles accumulating on the leeward side of the fence had a small snow volume flux, such as the particles starting from a height of 1.4 m. The snowdrift at the point where these particles fell was less than 5 cm high (Fig. 8a) because these particles had a small snow volume flux. In contrast, most of the snow particles starting at a height of 0.3 m with a large snow volume flux fell on the surface of the windward side. Thus, the two-dimensional snow fence was an effective obstacle to snowdrift development on the leeward side compared with the snowdrift distribution in the no-fence experiment (Fig. 6).

Fig. 8
figure 8

a Snowdrift profile around the two-dimensional fence in the cross section along y = 2.5 m, as the sum of the amount of snow accumulation of each trajectory calculation. bd Ensemble trajectories of snow particles at the center of the y-axis around the two-dimensional fence driven by all the wind data segments. The initial heights of the particles are b 0.3, c 0.4, and d 1.4 m. The position of the fence is shown by a solid line

Three-dimensional fence experiment

The three-dimensional fence greatly changed the wind flow around the fence (Figs. 9, 10). In contrast to the two-dimensional fence experiment, the wind flow vector was three-dimensional in the three-dimensional fence experiment. The reverse flow along the center of the fence was weaker than that in the two-dimensional fence experiment around the surface on the leeward side around \(x=2\) m at 10 s (Fig. 9a). The low-level wind flow was horizontally diffluent and went round the fence, and there was a dipole pattern on the leeward side, with a weak wake flow toward the center of the fence on the horizontal plane at \(z=0.5\) m (Fig. 10a). The wind flow at 26 s had a weak eddy from \(x=1\) to \(3\,{\text{m}}\) on the vertical plane (Fig. 9b). These features were consistent with a previous study that simulated wind flow around a three-dimensional obstacle with the LBM (Han et al. 2021). On the horizontal plane, there was still a dipole pattern, but the turbulent flow 4 m east of the fence was more intense after a while due to the spread of turbulence generated by eddies on the horizontal plane on the leeward side (Fig. 10b).

Fig. 9
figure 9

Snapshots of wind vectors (vectors) and vorticity (shading) around the three-dimensional fence in the cross section along y = 2.5 m at a 10 and b 26 s. The position of the fence is shown by a solid line

Fig. 10
figure 10

Snapshots of wind vectors (vectors) and vorticity (shading) around the three-dimensional fence on the horizontal plane along z = 0.5 m at a 10 and b 26 s. The position of the fence is shown by a solid line

In the three-dimensional fence experiment, the snowdrift had a two-dimensional distribution (Fig. 11a). The snowdrift along the center of the y-axis on the windward side was similar to that in the two-dimensional fence experiment (Fig. 11b). On the leeward side, snowdrift was not formed behind the fence along the center of the y-axis, but it was formed in the no-fence zone (Fig. 11c). This snowdrift developed ahead of the split flow because there were weak flow lines around the surface (Fig. 10). This snowdrift profile associated with the split flow was consistent with previous studies of snowdrifts around cubes (Beyers et al. 2004; Okaze et al. 2013). The snow particles clarified the three-dimensional trajectories for snow deposition. All of the particles starting from heights of 0.3 (not shown) and 0.4 m (Fig. 12a) fell on the windward side of the fence, whereas some particles from the same heights went over the fence in the two-dimensional fence experiment. This difference was probably caused by the lower wind speed just above the three-dimensional fence due to the energy loss accompanied by the horizontal diffluent flow (Fig. 10). The snow particles’ trajectories on a horizontal plane indicated the snowdrift formation process along the split streaks on the leeward side. For example, some snow particles from \((y, z)=(2.5{\text{ m}}, 0.5{\text{ m}})\) did not flow over the fence because they collided with the fence, whereas most of the snow particles from \((y, z)=(1.5{\text{ m}}, 0.5{\text{ m}})\) did not collide with the fence and fell along the stream of the horizontal diffluent flow (Fig. 12c, d). These low-level particles formed the forking snowdrift on the leeward side.

Fig. 11
figure 11

a Snowdrift height around the three-dimensional fence in the cross section along b y = 2.5 m and c x = 2.5 m. The snowdrift is the sum of the amount of snow accumulation of each trajectory calculation. The position of the fence is shown by a solid line in a and b

Fig. 12
figure 12

Ensemble trajectories of snow particles at a, b the center of the y-axis and c, d along z = 0.5 m around the three-dimensional fence driven by all the wind data segments. The initial positions of the particles are (y, z) = a (2.5 m, 0.4 m), b (2.5 m, 1.4 m), c (1.5 m, 0.5 m), and d (2.5 m, 0.5 m). The position of the fence is shown by a solid line

Snowdrift potential

We introduced the snowdrift potential, based on 201 pieces of the snowdrift simulation using the different initial background flow sampled from the CFD calculation from 10 to 30 s. For example, a 50% snowdrift potential meant that about 100 initial wind profiles satisfied the condition of the development of a snowdrift with a height of > 5 cm, corresponding to a single vertical grid interval, when an infinite number of snow particles flowed in from the western boundary. Figure 13 shows the snowdrift potential for the three experiments. Snowdrift potential in the no-fence experiment was more than 80% over the calculation area because the friction velocity under a height of about 0.3 m was below the threshold. This result indicated that the snowdrift could form anywhere in the calculation domain from accumulating snow particles blowing from the western boundary. In contrast, snowdrift potential around the two-dimensional fence decreased greatly on the leeward side of the fence, to less than 40% just 4 m to the right of the fence. The snowdrift potential was low just behind the three-dimensional fence but high elsewhere. The higher probability region extended along two arcs from the borders of the fence to the downstream area. In addition, most of the snowdrift potential over 4 m behind the fence was more than 80%. These results showed that snow fences could prevent snowdrift formation on the leeward side of the fences even if a large number of snow particles were blown by a strong drifting snow event. However, the two-dimensional fence was more effective than the three-dimensional fence. The three-dimensional fence used in this study was not sufficiently long, with a width of 1.5 m compared with a height of 1 m. Therefore, the separation of eddies near the sides of the fence induced a flow behind the fence, which led to a more region of low wind speed behind the fence compared with that for the two-dimensional fence. As a consequence, the small snowdrift potential region for the three-dimensional fence was shorter than that of the two-dimensional fence, but the region with a potential of less than 20% extended up to 3 m behind the fence.

Fig. 13
figure 13

Snowdrift potential a for no fence, b around the two-dimensional fence, and c around the three-dimensional fence. The position of the fence is shown by a solid line

Conclusions and discussion

We developed the CFD and snow particle modules to evaluate the snow accumulation around snow fences. The snow particles were driven by the wind flow in the channel sampled from the CFD model experiment with the LBM. The snow particles’ motion was modeled following Nishimura and Hunt (2000) and Nemoto and Nishimura (2004) and the accumulation was computed as a function of the friction velocity in the viscosity layer. We designed an experiment with no fence, and experiments with a two-dimensional fence or a three-dimensional fence, both installed normal to the dominant wind direction. The snowdrift distributions in both the two-dimensional fence and the three-dimensional fence experiments were high on the windward side of the fence because most snow particles from lower levels did not go over the fence due to the weak wind, and a varying, strong swirling eddy on the east of the fence often blew snow particles from higher levels to out of the domain. However, around the three-dimensional fence, the snow accumulation was found on the leeward side along the horizontally diffluent wind flow. The CFD integration in the three-dimensional fence experiment increased the vorticity activity of the vertical component, whereas that in the two-dimensional fence experiment increased the vorticity activity of the horizontal component. The three-dimensional fence experiment was designed with the fence blocking 30% of the channel width, but the ratio of the fence length to channel width probably affected which horizontal or vertical vorticity was dominant in the downward energy cascade.

The snowdrift model in this paper has two main advantages compared with previous models. First, the ensemble simulation in our model is useful for evaluating the effect of the fence; it enables us to estimate not only the quantitative snowdrift distribution (Figs. 8a, 11), but also the probability of the snowdrift development (Fig. 13). This kind of information helps us to warn drivers by capturing low-probability snowdrift formation events that can cause traffic disruption. Second, temporal variation of the boundary conditions of the CFD module due to snowdrift formation can be added easily to our model. Most previous studies did not update the snow surface boundary in the calculation because of the high computational cost of conventional CFD algorithms and the technical complexity of updating boundary conditions during the simulation.

Even though this paper focused on model development, we discuss the feasibility of our model on a qualitative reproduction by our model of three regimes of snowdrift formation around a solid fence described by Tabler (1994). In Regime I, the snowdrift developed on the windward side of the fence with cavity between the fence and the snowdrift, and the snowdrift was 0.6 times the height of the fence. Our simulation result for the two-dimensional fence was consistent with the characteristics of Regime I (Fig. 8a). However, the simulation results did not reproduce the other regimes of filling the cavity (Regime II) and snowdrift development on the leeward side of the fence (Regime III). Our model should be parallelized to enable a longer integration time to reproduce these regimes in a reasonable computational time. Moreover, the boundary condition in the CFD module must be updated successively, so as to include a possible change of flow due to a change in snowdrift surface. Furthermore, the resuspension and redeposition of the particles should be included in the snow particle module to estimate snowdrifts more accurately.

To achieve a more accurate snowdrift simulation, other snow motion and accumulation processes must be included. For example, resuspension of snow particles from the surface is an important process in drifting snow. In the present model, this process was implicitly included in the prohibition of snow accumulation on the surface by strong wind. However, we did not consider the trajectories and redeposition of resuspended snow particles. The resuspension processes are aerodynamic entrainment, rebound and splash (Shao and Li 1999; Ammi et al. 2009). Moreover, the initial condition of the snow surface should be prescribed because snow particles on the surface drift when the friction velocity exceeds the threshold velocity.

This paper was limited to experiments with no interactions between snow and wind. In this study, snow particles were affected by the wind, but the wind was not affected by the snow particles; thus, the coupling was one-way. By considering the interaction between snow and wind as a two-way coupling, the wind velocity is slightly reduced by the momentum exchange between snow particles and wind. This modification may change the trajectory of snow particles (Figs. 8b–d, 12) so that they fall short on the windward side of the fence. Moreover, there is an interaction between the snow surface and wind flow. The snow accumulation changes the bottom boundary condition in the CFD calculation. Our model can be extended easily to allow temporal variation of the boundary conditions because the LBM is simpler than other algorithms and more suitable for complicated boundary conditions. Because the snow particles generally accumulated where the wind speed was low on the windward side of the three-dimensional fence (Fig. 11), we can easily presume that the snow surface on the windward side is asymptotic to a streamline that crosses the top of the fence. We can readily implement this interaction process simply by combining the CFD and the snow particle modules, but this will be addressed in future work.

Although this paper is limited to examining the feasibility of applying the LBM to drifting snow and snowdrift modeling, we can still compare the simulation results with observations. An Observation of drifting snow around a long, wide, solid fence in Teshikaga, a small town in eastern Hokkaido, on February 18, 2019 were recorded over several hours (Okaze et al. 2019). The height and width of the fence were 1 and 6 m, respectively. The snow depth was measured along a line orthogonal to the center of the fence. The wind direction did not change much and was orthogonal to the fence. The fence setting was quite similar to that in the two-dimensional numerical experiment shown in Sect. 4.3. Comparing the observation with our results (Fig. 14) indicated that the snowdrift distribution in the numerical experiment and the peak location of the snowdrift at about \(x=-1\) m were consistent with the observation However, we cannot compare these results further because of the lack of high-resolution spatiotemporal observation data. Moreover, a fairer comparison is needed to improve the experiment design and improve the model components to represent realistically the inflow and surface boundary conditions and their interactions with drifting snow particles, such as rebounding and resuspension.

Fig. 14
figure 14

Snowdrift profile around the two-dimensional fence in the cross section along y = 2.5 m (line) (as shown in Fig. 8a) and the snowdrift profile observed in Okaze et al. (2019) (blue circles)

Availability of data and materials

The datasets used during the current study are available from the corresponding author on reasonable request.



Computational fluid dynamics


Lattice Boltzmann method


Large-eddy simulation


Download references


We thank Dr. Yousuke Sato for providing insightful comments in the early stage of this study, and Drs. Masaru Matsuzawa, Yusuke Harada, and Satoshi Omiya for organizing the blowing-snow observations that encouraged us to perform this study.


This work is supported by the Environment Research and Technology Development Fund JPMEERF20192005 of the Environmental Restoration and Conservation Agency of Japan, the Integrated Research Program for Advancing Climate Models (TOUGOU) Grand number JPMXD0717935457 from the Ministry of Education, Culture, Sports, Science, and Technology (MEXT), by JSPS KAKENHI Grants (18K03734, 18H03819, and 19H00963), and by the Research Field of Hokkaido Weather Forecast and Technology Development (endowed by Hokkaido Weather Technology Center Co., Ltd.).

Author information

Authors and Affiliations



ST proposed the topic, conceived and designed the study, developed the main source code of the snowdrift model, analyzed the results, and wrote the manuscript. MI helped in the development of the snowdrift model, interpretation of the results, and writing the manuscript. TO made the artificial inflow turbulent and helped in the development of the snowdrift model. All authors discussed the results and read and approved the final manuscript.

Corresponding author

Correspondence to Seika Tanji.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Tanji, S., Inatsu, M. & Okaze, T. Development of a snowdrift model with the lattice Boltzmann method. Prog Earth Planet Sci 8, 57 (2021).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • Drifting snow
  • Blowing snow
  • Snow fence
  • Lattice Boltzmann method