diff --git a/joss.06838/10.21105.joss.06838.crossref.xml b/joss.06838/10.21105.joss.06838.crossref.xml new file mode 100644 index 0000000000..c8a443b6b5 --- /dev/null +++ b/joss.06838/10.21105.joss.06838.crossref.xml @@ -0,0 +1,168 @@ + + + + 20241024201721-845f753a2a2f11c7ded75dba34055b6aed22b2a0 + 20241024201721 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 10 + 2024 + + + 9 + + 102 + + + + DRDMannTurb: A Python package for scalable, data-driven +synthetic turbulence + + + + Alexey + Izmailov + + + Matthew + Meeker + + + Georgios + Deskos + + + Brendan + Keith + + + + 10 + 24 + 2024 + + + 6838 + + + 10.21105/joss.06838 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + https://dx.doi.org/10.5281/zenodo.13922330 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6838 + + + + 10.21105/joss.06838 + https://joss.theoj.org/papers/10.21105/joss.06838 + + + https://joss.theoj.org/papers/10.21105/joss.06838.pdf + + + + + + Learning the structure of wind: A data-driven +nonlocal turbulence model for the atmospheric boundary +layer + Keith + Physics of Fluids + 9 + 33 + 10.1063/5.0064394 + 2021 + Keith, B., Khristenko, U., & +Wohlmuth, B. (2021). Learning the structure of wind: A data-driven +nonlocal turbulence model for the atmospheric boundary layer. Physics of +Fluids, 33(9). https://doi.org/10.1063/5.0064394 + + + Mann.rs + Liew, J. + 10.5281/zenodo.7254149 + 2022 + Liew, J. (2022). Mann.rs (Version +1.0.0). https://doi.org/10.5281/zenodo.7254149 + + + Implementation of the blade element momentum +model on a polar grid and its aeroelastic load impact + Madsen + Wind Energy Science + 5 + 10.5194/wes-5-1-2020 + 2020 + Madsen, H. A., Larsen, T. J., +Pirrung, G. R., Li, A., & Zahle, F. (2020). Implementation of the +blade element momentum model on a polar grid and its aeroelastic load +impact. Wind Energy Science, 5, 1–27. +https://doi.org/10.5194/wes-5-1-2020 + + + The spatial structure of neutral atmospheric +surface-layer turbulence + Mann + Journal of Fluid Mechanics + 273 + 10.1017/S0022112094001886 + 1994 + Mann, J. (1994). The spatial +structure of neutral atmospheric surface-layer turbulence. Journal of +Fluid Mechanics, 273, 141–168. +https://doi.org/10.1017/S0022112094001886 + + + Wind field simulation + Mann + Probabilistic Engineering +Mechanics + 4 + 13 + 10.1016/S0266-8920(97)00036-2 + 0266-8920 + 1998 + Mann, J. (1998). Wind field +simulation. Probabilistic Engineering Mechanics, 13(4), 269–282. +https://doi.org/10.1016/S0266-8920(97)00036-2 + + + + + + diff --git a/joss.06838/10.21105.joss.06838.pdf b/joss.06838/10.21105.joss.06838.pdf new file mode 100644 index 0000000000..12d9873a5c Binary files /dev/null and b/joss.06838/10.21105.joss.06838.pdf differ diff --git a/joss.06838/paper.jats/10.21105.joss.06838.jats b/joss.06838/paper.jats/10.21105.joss.06838.jats new file mode 100644 index 0000000000..d40f454211 --- /dev/null +++ b/joss.06838/paper.jats/10.21105.joss.06838.jats @@ -0,0 +1,321 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6838 +10.21105/joss.06838 + +DRDMannTurb: A Python package for scalable, data-driven +synthetic turbulence + + + + +Izmailov +Alexey + + + + + +Meeker +Matthew + + + + + +Deskos +Georgios + + + + + +Keith +Brendan + + + + + +Division of Applied Mathematics, Brown University, +Providence, RI, 02912, USA + + + + +National Wind Technology Center, National Renewable Energy +Laboratory, Golden, CO, 80401, USA + + + + +12 +7 +2024 + +9 +102 +6838 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Python +Torch +Mann-model +wind-engineering + + + + + + Summary +

Synthetic turbulence models (STMs) are used in wind engineering to + generate realistic flow fields and are employed as inputs to + industrial wind simulations. Examples include prescribing inlet + conditions in large eddy simulations that model loads on wind turbines + and tall buildings. We are interested in STMs capable of generating + fluctuations based on prescribed second-moment statistics since such + models can simulate environmental conditions that closely resemble + on-site observations. To this end, the widely used Mann model (see + Mann, + 1994, + 1998) + is the inspiration for DRDMannTurb. The Mann + model is described by three physical parameters: a magnitude parameter + influencing the global variance of the wind field and corresponding to + the Kolmogorov constant multiplied by the rate of viscous dissipation + of the turbulent kinetic energy to the two-thirds, + + + αϵ2/3, + a turbulence length scale parameter + + L, + and a non-dimensional parameter + + Γ + related to the lifetime of the eddies. A number of studies, as well as + international standards (e.g., those by the International + Electrotechnical Commission (IEC)), include recommended values for + these three parameters with the goal of standardizing wind simulations + according to observed energy spectra. Yet, having only three + parameters, the Mann model faces limitations in accurately + representing the diversity of observable spectra. This Python package + enables users to extend the Mann model and more accurately fit field + measurements through flexible neural network models of the eddy + lifetime function. Following Keith et al. + (2021), + we refer to this class of models as Deep Rapid Distortion (DRD) + models. DRDMannTurb also includes a general + module implementing an efficient method for synthetic turbulence + generation based on a domain decomposition technique. This technique + is also described in Keith et al. + (2021).

+
+ + Statement of need +

DRDMannTurb aims to provide an easy-to-use + framework to (1) fit one-point spectra from data using the DRD model + introduced in Keith et al. + (2021) + and (2) efficiently generate synthetic turbulence velocity fields to + be used by scientists and engineers in downstream tasks. Existing + methodologies for generating synthetic turbulence frequently incur a + large computational overhead and lack DRD models’ flexibility to + represent the diverse spectral properties of real-world observations, + cf. + (Liew, + J., 2022). DRDMannTurb addresses these + two issues by introducing (1) a module for fitting DRD models to + observed one-point spectra data, as well as (2) a module for + efficiently generating synthetic turbulence boxes. Rather than + generating turbulence over an entire domain at once, which can end up + being a highly memory-intensive practice, + DRDMannTurb uses a domain decomposition + approach to generate smaller sub-boxes sequentially.

+

DRDMannTurb is written in Python and + leverages computationally powerful backend packages like + NumPy and PyTorch. The + implementation makes DRD models easily portable to GPU and other + backends via PyTorch. This is an additional + advantage compared to other software packages that implement the Mann + model, but for which the source code may not be public or freely + available (e.g., HAWC2 + (Madsen + et al., 2020)). Finally, DRDMannTurb is + designed to be more general-purpose, allowing it to be applied to a + broader range of scenarios and to be very accessible, with clear + documentation and examples spanning a variety of tasks that + researchers may be interested in.

+
+ + Results +

The output of the fitting component of + DRDMannTurb consists of two parts: the spectra + fit by a DRD model and the learned eddy lifetime function. For + example, in the case of the Kaimal spectra, the DRD spectra fit is + more accurate than the Mann uniform shear model while providing an + estimate of the same three physical parameters.

+ +

DRD model fit to the Kaimal spectra.

+ +
+

After fitting to the spectra, the resulting models can also be used + to generate 3D wind fields with spectra more closely resembling the + same observations used in training.

+ +

Synthetic wind field.

+ +
+

For more detailed discussions of results, including a variety of + utilities for interpolating and filtering noisy real-world data and + generating wind turbulence; please see the + official + examples.

+
+ + Package Features + + +

Calibrate the Mann model parameters using reference “textbook” + or in situ spectra and co-spectra

+
+ +

Calibrate the DRD model using a flexible suite of neural + network architectures for the eddy lifetime functions

+
+ +

Generate synthetic turbulence fields using the classical Mann + model

+
+ +

Use a state-of-the-art domain decomposition approach for fast + synthetic turbulence generation

+
+
+
+ + Acknowledgements +

This work was authored in part by the National Renewable Energy + Laboratory, operated by Alliance for Sustainable Energy, LLC, for the + U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. + Funding provided by the U.S. Department of Energy Office of Energy + Efficiency and Renewable Energy Wind Energy Technologies Office. The + views expressed in the article do not necessarily represent the views + of the DOE or the U.S. Government. The U.S. Government retains and the + publisher, by accepting the article for publication, acknowledges that + the U.S. Government retains a nonexclusive, paid-up, irrevocable, + worldwide license to publish or reproduce the published form of this + work, or allow others to do so, for U.S. Government purposes. BK was + supported in part by the U.S. Department of Energy Office of Science, + Early Career Research Program under Award Number DE-SC0024335.

+
+ + + + + + + + KeithB. + KhristenkoU. + WohlmuthB. + + Learning the structure of wind: A data-driven nonlocal turbulence model for the atmospheric boundary layer + Physics of Fluids + AIP Publishing + 202109 + 33 + 9 + https://doi.org/10.1063%2F5.0064394 + 10.1063/5.0064394 + + + + + + Liew, J. + + Mann.rs + 2022 + https://github.com/jaimeliew1/Mann.rs + 10.5281/zenodo.7254149 + + + + + + MadsenH. A. + LarsenT. J. + PirrungG. R. + LiA. + ZahleF. + + Implementation of the blade element momentum model on a polar grid and its aeroelastic load impact + Wind Energy Science + 2020 + 5 + https://wes.copernicus.org/articles/5/1/2020/ + 10.5194/wes-5-1-2020 + 1 + 27 + + + + + + MannJakob + + The spatial structure of neutral atmospheric surface-layer turbulence + Journal of Fluid Mechanics + 1994 + 273 + 10.1017/S0022112094001886 + 141 + 168 + + + + + + MannJakob + + Wind field simulation + Probabilistic Engineering Mechanics + 1998 + 13 + 4 + 0266-8920 + 10.1016/S0266-8920(97)00036-2 + 269 + 282 + + + + +
diff --git a/joss.06838/paper.jats/synthetic_fit.png b/joss.06838/paper.jats/synthetic_fit.png new file mode 100644 index 0000000000..27bb54f1a1 Binary files /dev/null and b/joss.06838/paper.jats/synthetic_fit.png differ diff --git a/joss.06838/paper.jats/wind.png b/joss.06838/paper.jats/wind.png new file mode 100644 index 0000000000..e4addb757f Binary files /dev/null and b/joss.06838/paper.jats/wind.png differ