the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
JAX-SCM v1.0: a modern atmospheric single-column model for boundary layer research
Abstract. We present JAX-SCM v1.0, an open-source atmospheric single-column model for boundary layer research, implemented in Python using the JAX computing library. The model solves for horizontal wind, potential temperature, and specific humidity, combined with prognostic turbulent kinetic energy and turbulent statistics parameterized by the Mellor-Yamada-Nakanishi-Niino level~2.5 (MYNN-2.5) turbulence closure. We verify the implementation against three well-established benchmark cases covering neutral (turbulent Ekman layer), stable (GABLS1), and convective (Wangara Day~33) conditions. Close agreement with reference solutions is demonstrated across all regimes. By building on JAX, the model benefits from just-in-time compilation and native GPU support. While JAX-SCM is not yet fully differentiable, basing it on JAX also lays the foundation for future integration with machine learning components. The model is designed for simplicity and modularity, lowering the barrier to entry for users and developers alike.
- Preprint
(942 KB) - Metadata XML
- BibTeX
- EndNote
Status: open (until 11 Sep 2026)
-
CEC1: 'Comment on egusphere-2026-2916', Astrid Kerkweg, 26 Jun 2026
reply
-
AC1: 'Reply on CEC1', Maximilian Pierzyna, 26 Jun 2026
reply
Dear Dr. Kerkweg,Â
Thank you for your comment, and I apologise for the confusion. The validation data are in the "validation" directories of my Github repository (Zenodo is a frozen copy of that). Each test case lives in its own folder under "validation", with the exact model configuration used to produce the figures in my manuscript. The digitized reference data are located alongside the model configuration in a "ref" sub directory.
In the revised manuscript, I will clarify this in the "data availability" section, and I will improve the README files on Github.Â
Best regards
Maximilian Pierzyna
Citation: https://doi.org/10.5194/egusphere-2026-2916-AC1
-
AC1: 'Reply on CEC1', Maximilian Pierzyna, 26 Jun 2026
reply
-
RC1: 'Comment on egusphere-2026-2916', Marten Klein, 06 Aug 2026
reply
The paper reports on a single-column model (SCM) formulation for atmospheric boundary layers and provides further remarks on its implementation in Python using the machine-learning (ML) oriented JAX library. JAX provides accelerated computing capabilities for numerical array operations with built-in support for graphical-processing units (GPUs). JAX offers additional features, like automatic differentiation and on-demand compilation, that occur in and are relevant for fast solution of optimization problems, which makes it relevant for ML models and their application. Besides the motivation, the paper does not yet report on ML utilization. Instead, the paper reports on preliminary verification to enable such planned and forthcoming model development. The focus therefore is on the verification of the SCM implementation given a previously developed model formulation and parameterization scheme.
In general, the paper is original and well structured in sections 1-3, but breaks and falls of in section 4. It has the potential to become a meaningful contribution to the advancement of the state-of-the-art in single-column modeling. However, there are a number of major and minor issues that should be revised before the paper can be given further consideration.Â
My main points of critique are as follows:
- What is the key objective or reader to be addressed, user or developer? Is it the verification or the educational aspects more important?
- Frequent statements like "has been successfully applied" or vague, subjective wording like "modern" or "easy implementation" alert the reader that hype is following rather than a fair assessment.
- Physical limitations (not coding limitations) related to the SCM approach and framing of the represented physics are not discussed or summarized. This could be done before the results in the model formulation section.
- The grid resolution seems arbitrarily selected and the time step remains undisclosed which makes error attribution impossible since numerical formulation of the approximate problem (discretized equations, solution algorithm) and parameterization (fluctuation closure model) interact.Â
- The relevance of GPU acceleration offered by JAX is neither addressed nor quantified for the present SCM and the selected test cases. Automatic differentiation (AD) remains a buzzword for future research which again signals hype rather than scientific relevance. (Although I think this is not the intention of the author.)
SPECIFIC COMMENTS- Abstract, 1st sentence: "single-column model _(SCM)_" (add abbreviation)
- Abstract, penultimate sentence: The statement is not clear to someone who doesn't know JAX and, frankly, it is even not clear after reading the paper why and how ML components benefit from the present formulation. I strongly suggest to revise the statement.
- Abstract, last sentence: My feeling is that this already dilutes the scope and audience, leading to the break of the narrative in section 4. I suggest to think of the reader to be addressed and revise accordingly. Further comments below relevant to section 4 should also be considered.
- line 14: "parameterization" is slang and should be properly defined once, ideally here upon first occurence, but perhaps below if the author has a preference. This can go along the lines of expressing effects of unresolved scales by the resolved scales. Depending on the formulation, unresolved and resolved scales may, but don't necessarily split into small and large scales.
- lines 16 & 21: Statements based on refs. to Randall et al. and Yamada et al. are 30 and 40 years old, respectively. Please check if this is still the state of the art.
- line 20: The phrase "SCMs yield realistic simulations" is overally generalizing and suggest that SCMs (based on averaged variables) provide a faithful representation of atmospheric boundary layers since over 40 years under various circumstances. SCMs have a particular value for research and can sufficiently represent certain cases for specific research questions, but not more. This is an invitation to also elaborate on the (known) limitations of SCMs below line 24. Such limitations are related to physical simplifications and in part unjustified assumptions resulting from the RANS-based framing, gradient-diffusion-based closure modeling, and MOST-based wall modeling, among other sources. It is NOT a question of the selected programming language.
- lines 24-30: This paragraph should be fully revised. I don't see the point in blaming Fortran when ML models utilize F77 legacy LAPACK code behind layers of interpreters and library calls. Fortran is still a high-performance-computing (HPC) supported programming language with a direct compilation track to efficient and scalable machine code unlike many other higher-level programming languages offer. The lack of programming skills of researchers producing research legacy codes for the last decades is not to be confused with programming language constraints when speaking about code quality and maintainability. The only fair points of the author is here the lower entrance barrier in Python (as in many other interpreted and on-the-fly compiled languages) than compiled ones and GPU support, although this also should be carefully considered. Other programming features such as scoping and object-oriented programming have evolved in Fortran, too, but Python and C/C++ historically took a different approach, which seems to more aligned with presently favoured coding practices.Â
- line 36: Same critique as in the previous point. Overally generalizing and unsubstantiated opinions like "JAX outperforms Fortran" should be removed. This doesn't help the paper. The author might decide to demonstrate the performance gain either by reproducing a previous study or by doing an alternative "apples-to-apples" comparison for the investigated test cases of this study.
- line 51: What is the conceptional definition of the SCM-resolved "mean state"? Is this a horizontally homogenized state? Is it possible to say something of the lateral extent of the averaging filter? Or is it more like an ensemble average?
- line 67: "turbulent statistics" is slang. Doesn't the angle brackets simply relate to an implicit averaging? (This goes together with the implied definition of the mean state.)
- lines 102-120: 2nd order methods are state-of-the-art and have been "workhorses" for decades. A comment on (the non-necessity of) higher-order methods for JAX-SCM might be helpful and relates to the my question on the objective and targeted audience.
- line 131: The convoluted statement hints at the discussion of a (operator) splitting error. Is this the intention? If so, can it be categorized? It might help to present the (semi-)disretized equations alongside the continuum versions, perhaps in an appendix.
- lines 139 and 147: The statement at the end of section 2.2 suggests that all variables are treated by Neumann (flux) boundary conditions, whereas in section 2.3 this statement is contradicted or extended to Dirichlet boundary conditions. Does this mean that Dirichlet boundary conditions implicitly set a discretized flux at staggered locations by discrete reconstruction?Â
- lines 150-154: Do the Businger-Dyer formulations imply bounds on the minimum/maximum grid resolution $\Delta z$?
- Figure 1, caption: It is confusing that panels b,c,f,g are not mentioned. At least add a statement that these are given for compatibility and comparison with the other test cases shown in Figs. 3 and 5. Same applies to Figs. 3 and 5.
- line 180: In the overview of test cases one should not jump to conclusions. In place of "is reproduced" better write "is simulated".
- Figure 2: The legend doesn't show properly. What is the grey and orange lines? What does the dashed vertical and horizontal lines at 0 and 1, respectively, means? Please revise the figure.
- Figure 4: The legend doesn't show properly. In the caption, "$t=9 h$" is in conflict with h the boundary layer thickness. If h is hours, than use roman font (not italic).
- line 229: What is "the expected behavior"? Please be more specific.
- line 231: "successfully exerts surface friction" reads awkward. Isn't this phenomenology already prescribed by the boundary condition and MOST-based wall model? If there would be no friction, there would be no viscous boundary layer. Please revise.
- line 232: "successfully yields a stratified atmosphere" is similarly awkward as the previous statement. Isn't this predefined consequence of the physical conservation principles encoded in the governing transport equations? Hence the "realistic surface heat flux" would be a "consistent surface heat flux within a realistic value range". Please revise.
- Figure 5(e): panel label is barely readable. Either use white font color or move it elsewhere. What is the meaning of the letter "g" next to panel (e)? The colorbar needs to be labeled. What does the unit "LST" mean?
- line 241: How is $h_0$ defined? The value of 100 m is not trivially extracted.
- line 272-281: There is a lot of speculation. A core benefit of SCM simulations with only a few hundred grid cells spatial resolution should be their numerical efficiency. I therefore suggest to run additional, but straightforward and inexpensive numerical experiments that provide the necessary facts. If the author has reasons to believe that the TKE profile differs, a comparative study with reasonably varied TKE profiles can be conducted. Likewise, if the vertical discretization (stencil or grid spacing?) differs, the necessary adjustments should be made. This is in fact an invitation to conduct a systematic numerical sensitivity assessment on the described grid cell and time step sizes for the three cases. Such an undertaking could go into revised section 4.
- line 277: I do not agree with the notion "we do not consider this deviation problematic". On the contrary, stability obtained by numerical dissipation is not to be confused with accuracy. A higher-order method on paper can result in poorer spatial error metrics when combined with temporal iterations due to numerical dispersion. To distinguish error sources, the suggested revision of section 4 with inclusion of standard numerical tests would be helpful.
- lines 282-343: Section 4 breaks the story of the paper. Listings in 4.1 are a drag to read and outlook notes in 4.2 have little to do with the necessary technical information. I therefore suggest the following: Rename section 4 to "Discussion of numerical aspects" or so. Move 4.1 to the Appendix. Include a new section 4.1 with a numerical sensitivity analysis, varying the mesh spacing and time step, among other uncertainties (unless they belong to a specific test case) and provide performance metrics. Rename section 4.2 to " Outlook on AD and ML tool integration in JAX-SCM".
- line 361: Add a summarizing paragraph on general SCM and specific JAX-SCM model limitations.
- lines 369-371: This concluding statement is redundant and can be removed.
MINOR MISPRINTS AND SUGGESTIONS TO IMPROVE READABILITY- line 15: rephrase parentheses "(for example, cloud microphysics or atmospheric turbulence)"
- line 36: "differentiation (AD) feature" should be followed immediately by a technical reference to the JAX library and its built-in capabilities for readers unfamiliar with it.
- line 61: spell out "TKE"
- line 62: rephrase "easy implementation" e.g. by "implementation and assessment"
- lines 63 & 64: Does "JAX-SCM" and "JAX-SCM v1.0" refer to the same model? Please clarify by revising the sentence.Â
- line 78: add: "Earth's _gravitational_ acceleration"
- line 89: Is B_1 = 24 a case-specific calibration value? For which conditions does the selected value apply?
- line 145: Instead of "M", the horizontal wind might be better named "U_h", but I leave that to the author.
- line 175: "correct implementation of JAX-SCM" -> "applicability of JAX-SCM to atmospheric boundary layers (ABLs)"
- line 190: "u,v" -> "U,V" (capital letters)
- Figure 2 (and others), caption: panel reference "(d+e)" should be comma-separated "(d,e)"
- line 196: "correct implementation of JAX-SCM _simulating a selected benchmark case_."
- line 207 & 208: "match the LES so well." -> "reasonably reproduce the mean state consistent with the selected reference LES case."Â
- line 208: "simulates the neutral Ekman layer very well" -> "has the capability to capture relevant low-order statistics of a fully-developed neutral Ekamn flow" (avoiding hype alert)
- line 223: "boundary layer hight $h$ _(defined and further discussed below)_"
Â
- line 229: "outputs" -> "simulated mean profiles"- line 286, subsection title: "4.1 Modern composable Python interface" -> "Appendix: Python interface of JAX-SCM" (avoiding hype alert)
- line 294: "function could read" -> "the implementation of eq. (18) provided to JAX-SCM in the form of a user-defined function reads" Â (be specific)
- line 345: "modern" -> "Python-based" Â (be specific, avoid hype alert)
- line 349: "modern" -> "portable" or "platform-independent"
- line 353 "(AD) _features_ as a path"
- line 354 & 355: remove "well-known"; replace "the neutral" -> "a neutral", "the dry" -> "a dry", "the convective" -> "a convective"
- line 357: "solutions" -> "vertical profiles of first and second order statistics of the fully-developed mean state"
- line 358: "establishing ... for atmospheric boundary layer research." -> "reproducing benchmark cases with the previously validated NN09 parameterization scheme, yielding JAX-SCM a verified research tool for model development for similar parametric ranges and cases."
- lines 390, 405, 410, 437, 445, 463, 465, 471, 478, 495: DOI links (alternatively URL or ISBN) are missing
Citation: https://doi.org/10.5194/egusphere-2026-2916-RC1
Model code and software
JAX-SCM v1.0: a modern atmospheric single-column model for boundary layer research Maximilian Pierzyna https://doi.org/10.5281/zenodo.20314409
Viewed
| HTML | XML | Total | BibTeX | EndNote | |
|---|---|---|---|---|---|
| 138 | 49 | 15 | 202 | 10 | 7 |
- HTML: 138
- PDF: 49
- XML: 15
- Total: 202
- BibTeX: 10
- EndNote: 7
Viewed (geographical distribution)
| Country | # | Views | % |
|---|
| Total: | 0 |
| HTML: | 0 |
| PDF: | 0 |
| XML: | 0 |
- 1
Dear Maximilian Pierzyna,
could you please expand the code and data availability section ? Just saying
"The validation data were digitized without modification from the respective original publications
and are also available on GitHub and Zenodo."Â and leaving it to the readers to find the data is not fair to the readers.
So please provide the Links for the data here.
Best regards, Astrid Kerkweg (GMD executive editor)