SearcharxivSearch

arXiv subjects

Milan Curcic

Publications and source records attributed to Milan Curcic.

6 recordsLinked to original sources

Revisiting the hydrodynamic modulation of short surface waves by longer waves

Hydrodynamic modulation of short ocean surface waves by longer ambient waves significantly influences remote sensing, interpretation of in situ wave measurements, and numerical wave forecasting. This paper revisits the wave crest and action conservation laws and derives steady, nonlinear, analytical solutions for the change of short-wave wavenumber, action, and gravitational acceleration due to the presence of longer waves. We validate the analytical solutions with numerical simulations of the full crest and action conservation equations. The nonlinear analytical solutions of short-wave wavenumber, amplitude, and steepness modulation significantly deviate from the linear analytical solutions of Longuet-Higgins & Stewart (1960), and are similar to the nonlinear numerical solutions by Longuet-Higgins (1987) and Zhang & Melville (1990). The short-wave steepness modulation is attributed 5/8 to wavenumber, 1/4 due to wave action, and 1/8 due to effective gravity. Examining the homogeneity and stationarity requirements for the conservation of wave action reveals that stationarity is a stronger requirement and is generally not satisfied for very steep long waves. We examine the results of Peureux et al. (2021) who found through numerical simulations that the short-wave modulation grows unsteadily with each long-wave passage. We show that this unsteady growth only occurs for homogeneous initial conditions as a special case and not generally. The proposed steady solutions are a good approximation of the nonlinear crest-action conservation solutions in long-wave steepness $\lesssim$ 0.2. Except for a subset of initial conditions, the solutions to the non-linearised crest-action conservation equations are mostly steady in the reference frame of the long waves.

physics.flu-dyn

The State of Fortran

A community of developers has formed to modernize the Fortran ecosystem. In this article, we describe the high-level features of Fortran that continue to make it a good choice for scientists and engineers in the 21st century. Ongoing efforts include the development of a Fortran standard library and package manager, the fostering of a friendly and welcoming online community, improved compiler support, and language feature development. The lessons learned are common across contemporary programming languages and help reduce the learning curve and increase adoption of Fortran.

cs.PL

Toward Modern Fortran Tooling and a Thriving Developer Community

Fortran is the oldest high-level programming language that remains in use today and is one of the dominant languages used for compute-intensive scientific and engineering applications. However, Fortran has not kept up with the modern software development practices and tooling in the internet era. As a consequence, the Fortran developer experience has diminished. Specifically, lack of a rich general-purpose library ecosystem, modern tools for building and packaging Fortran libraries and applications, and online learning resources, has made it difficult for Fortran to attract and retain new users. To address this problem, an open source community has formed on GitHub in 2019 and began to work on the initial set of core tools: a standard library, a build system and package manager, and a community-curated website for Fortran. In this paper we report on the progress to date and outline the next steps.

cs.PL

Revised Estimates of Ocean Surface Drag in Strong Winds

Air-sea drag governs the momentum transfer between the atmosphere and the ocean, and remains largely unknown in hurricane winds. We revisit the momentum budget and eddy-covariance methods to estimate the surface drag coefficient in the laboratory. Our drag estimates agree with field measurements in low-to-moderate winds, and previous laboratory measurements in hurricane-force winds. The drag coefficient saturates at $2.6 \times 10^{-3}$ and $U_{10} \approx 25\ m\ s^{-1}$, in agreement with previous laboratory results by Takagaki et al. (2012). During our analysis, we discovered an error in the original source code used by Donelan et al. (2004). We present the corrected data and describe the correction procedure. Although the correction to the data does not change the key finding of drag saturation in strong winds, its magnitude and wind speed threshold are significantly changed. Our findings emphasize the need for an updated and unified drag parameterization based on field and laboratory data.

physics.ao-ph

A Fortran-Keras Deep Learning Bridge for Scientific Computing

Implementing artificial neural networks is commonly achieved via high-level programming languages like Python and easy-to-use deep learning libraries like Keras. These software libraries come pre-loaded with a variety of network architectures, provide autodifferentiation, and support GPUs for fast and efficient computation. As a result, a deep learning practitioner will favor training a neural network model in Python, where these tools are readily available. However, many large-scale scientific computation projects are written in Fortran, making it difficult to integrate with modern deep learning methods. To alleviate this problem, we introduce a software library, the Fortran-Keras Bridge (FKB). This two-way bridge connects environments where deep learning resources are plentiful, with those where they are scarce. The paper describes several unique features offered by FKB, such as customizable layers, loss functions, and network ensembles. The paper concludes with a case study that applies FKB to address open questions about the robustness of an experimental approach to global climate simulation, in which subgrid physics are outsourced to deep neural network emulators. In this context, FKB enables a hyperparameter search of one hundred plus candidate models of subgrid cloud and radiation physics, initially implemented in Keras, to be transferred and used in Fortran. Such a process allows the model's emergent behavior to be assessed, i.e. when fit imperfections are coupled to explicit planetary-scale fluid dynamics. The results reveal a previously unrecognized strong relationship between offline validation error and online performance, in which the choice of optimizer proves unexpectedly critical. This reveals many neural network architectures that produce considerable improvements in stability including some with reduced error, for an especially challenging training dataset.

cs.LG

A parallel Fortran framework for neural networks and deep learning

This paper describes neural-fortran, a parallel Fortran framework for neural networks and deep learning. It features a simple interface to construct feed-forward neural networks of arbitrary structure and size, several activation functions, and stochastic gradient descent as the default optimization algorithm. Neural-fortran also leverages the Fortran 2018 standard collective subroutines to achieve data-based parallelism on shared- or distributed-memory machines. First, I describe the implementation of neural networks with Fortran derived types, whole-array arithmetic, and collective sum and broadcast operations to achieve parallelism. Second, I demonstrate the use of neural-fortran in an example of recognizing hand-written digits from images. Finally, I evaluate the computational performance in both serial and parallel modes. Ease of use and computational performance are similar to an existing popular machine learning framework, making neural-fortran a viable candidate for further development and use in production.

cs.LG