the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
BoundaryLayerDynamics.jl v1.0: a modern codebase for atmospheric boundary-layer simulations
Marco G. Giometto
Gregory A. Lawrence
Marc B. Parlange
Abstract. We present BoundaryLayerDynamics.jl, a new code for turbulence-resolving simulations of atmospheric boundary-layer flows as well as canonical turbulent flows in channel geometries. The code performs direct numerical simulation as well as large-eddy simulation using a hybrid (pseudo)spectral and finite-difference approach with explicit time advancement. Written in Julia, the code strives to be flexible and adaptable without sacrificing performance, and extensive automated tests aim to ensure that the implementation is and remains correct. We show that the simulation results are in agreement with published results and that the performance is on par with an existing Fortran implementation of the same methods.
- Preprint
(1041 KB) - Metadata XML
- BibTeX
- EndNote
Manuel F. Schmid et al.
Status: open (until 14 Oct 2023)
-
CC1: 'Comment on egusphere-2023-1071', Zheng Gong, 20 Jun 2023
reply
Typo errors exist in the Eqs.(2) and (3) for the viscous term.
Citation: https://doi.org/10.5194/egusphere-2023-1071-CC1 -
AC1: 'Reply on CC1', Manuel F. Schmid, 20 Jun 2023
reply
Thank you for noticing this error. The second derivatives were indeed not correctly converted to the GMD formatting, resulting in erroneous diffusion terms in Eq. (1) and (2). This will be fixed in the submission of the revised manuscript.
Citation: https://doi.org/10.5194/egusphere-2023-1071-AC1
-
AC1: 'Reply on CC1', Manuel F. Schmid, 20 Jun 2023
reply
-
RC1: 'Comment on egusphere-2023-1071', Michael Schlottke-Lakemper, 02 Jul 2023
reply
# Review## General commentsThe paper introduces a novel simulation code "BoundaryLayerDynamics.jl" for the numerical prediction of boundary-layer flows and channel flows, which is written in the Julia programming language and parallelized using MPI. A key focus of the paper is on the description of the mathematical models and the numerical methods, and the authors present detailed validation results for LES and DNS results, where they compare their code against an existing Fortran code that uses similar methods. Weak and strong scaling results up to 1280 ranks demonstrate the good scalability of the new code, and show that the Julia implementation is at least as fast (or faster) as the existing Fortran-based solver.Overall, the paper is very well written. The authors describe the utilized models and methods clearly and in detail, allowing the reader to understand the capabilities and limitations of the new code. In terms of models or methods, however, there are no new developments discussed: This manuscript clearly aims to validate their implementation against an existing solver for future development and use. Parts of the model validation chapter are thus dedicated to describe the automated testing setup the authors use to ensure that the results remain correct under future code changes. In summary, the paper seems to fit well into the aims & scopes of GMD.## Specific comments* **Sec. 3**: It is not clear which tests are run automatically, the authors remain somewhat vague. Since they spent a good part of the section on CI testing, it would be good to give an overview of all tests (or at least the main test categories) and which are run automatically.* **Sec. 3**: It is not clear where and how the automated tests are run (e.g., GitHub Actions, Jenkins, and on which hardware). Also, the number of ranks used for testing is left unclear. Overall, this part of the manuscript reads more like a manual for users rather than a scientific paper. I thus recommend to either remove the more generic content or to be more specific and add details such that a reader can learn about how CI testing is implemented for the described code.* **Sec. 3, lines 236 ff.**: Are tests included that verify that the result of a simulation does not change with the number of MPI ranks? Either way, it would be good if the authors would comment on that since using different numbers of ranks to verify identical results is a commonly used practice in codes that support it.* **Code and data availability**: It is commendable that the authors provide reproducibility data for the results achieved in this paper, with a DOI-citable source. However, the reproducibility data would benefit from several improvements:1. The reproducibility data was clearly curated in a git repository (inferred from the presence of git-specific files). However, it is only available as a zip downloaded from Zenodo. This is both not very user friendly (there is no online code browsing) and makes it harder to find then necessary (ref. the F in FAIR). It would be good if the reproducibility data was available as, e.g., a public GitHub repository that is linked to from the DOI.2. The reproducibility data does not give any explanations on how to use it to reproduce the results in the manuscript. At the very least a README.md should be included that describes the contents of the data collection, states the Julia version that has/can be used to obtain the results in the paper, and information on how to re-run the experiments, post-process the data etc. As it is now, even though the reproducibility data seems to be fairly exhaustive, it is hard to use it without extensive effort (ref. the R in FAIR).## Technical corrections* p. 2, line 34: I think the reference to the new package BoundaryLayerDynamics.jl (Schmid 2023) should appear at its first use in this line.Citation: https://doi.org/
10.5194/egusphere-2023-1071-RC1
Manuel F. Schmid et al.
Manuel F. Schmid et al.
Viewed
HTML | XML | Total | BibTeX | EndNote | |
---|---|---|---|---|---|
324 | 142 | 14 | 480 | 6 | 6 |
- HTML: 324
- PDF: 142
- XML: 14
- Total: 480
- BibTeX: 6
- EndNote: 6
Viewed (geographical distribution)
Country | # | Views | % |
---|
Total: | 0 |
HTML: | 0 |
PDF: | 0 |
XML: | 0 |
- 1