Ocean Modelling With Oceananigans.jl | Gregory Wagner | JuliaCon 2023

Описание к видео Ocean Modelling With Oceananigans.jl | Gregory Wagner | JuliaCon 2023

Part of minisymposium "Phoenix or cyborg: The anatomy of Earth system software in Julia".

Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?

Best practices had to be developed to make the most of a new language in the development of Earth system models. Newer concepts in research software engineering find their way into the Earth system modelling community, particularly through the adoption of new languages. And the user demand on interfaces and interoperability to these models also has changed.

With custom types a domain specific language is created within our models and abstraction minimizes code redundancy. Ideally we would like to execute the same code on all computing architectures at high performance, but what are the best practices to achieve that? Earth system models are large with many interoperating parts. How can we build them with a flexibility that any user can swap in and out parts without diving deep into the code base? And we are aiming towards differentiable models that learn from data, ideally without sacrificing anything from above. This minisymposium aims to cover the following topics, but is not limited to

Abstraction, multiple dispatch, types and type hierarchies in large projects
Flexibility with respect to the computing architecture: CPUs, GPUs, and others
Modularity: easily extendible models and their components
Differentiability and optimization: Learning from data
Integration of Julia’s machine learning frameworks into models
Performance: Achieving and monitoring performance during development
Usage of high-performance and parallelism frameworks
Interconnectivity of packages across the Julia ecosystem
Bad practices: Julia’s detours, unnecessary complexity, or missing features
Schedule, Part 1

14:00 Intro
14:10 Gregory Wagner (MIT) on ocean modelling with Oceananigans.jl
14:30 Skylar Gering (Caltech) on "Discrete Element Sea-Ice Modeling in Julia: Successes and Challenges"
14:50 Milan Klöwer (MIT) on atmospheric modelling with SpeedyWeather.jl
15:10 Julia Sloan/Lenka Novak (Caltech) on "ClimaCoupler.jl: An Extensible ESM Coupler in Julia"
15:30-15:40 Break

Schedule, Part 2

15:40 Sarah Williamson (UT Austin) on "Differentiable Ocean models with Enzyme.jl"
16:00 Lisa Rennels (UC Berkeley) on integrated assessment modelling with Mimi.jl
16:20 Gaël Forget (MIT) on Julia-Fortran interfaces with ClimateModels.jl
16:40 Overflow discussion time
16:50 Outro
Chairs: Milan Klöwer (MIT), Simon Byrne (Caltech), Chris Hill (MIT)

Recording:    • JuliaCon 2023 Room 32-144 Day 1  

Комментарии

Информация по комментариям в разработке