SC 3.19 | Julia in geoscience: hands-on introduction and simulations of ocean, atmosphere and ice
EDI
Julia in geoscience: hands-on introduction and simulations of ocean, atmosphere and ice
Co-organized by AS6/ESSI3
Convener: Mauro Werder | Co-conveners: Lazaro Alonso Silva, Simone Silvestri, Milan Klöwer, Ludovic Räss

Julia offers a fresh approach to scientific computing, high-performance computing and data crunching. Recently designed from the ground up, Julia avoids many of the weak points of older, widely used programming languages in science such as Python, Matlab, and R. Julia is an interactive scripting language, yet it executes with similar speed as C(++) and Fortran. Its qualities make it an appealing tool for the geoscientist.

Julia has been gaining traction in the geosciences over the last years in applications ranging from high-performance simulations, data processing, geostatistics, machine learning, differentiable programming to scientific modelling. The Julia package ecosystem necessary for geosciences has substantially matured, which makes it readily usable for research.

This course provides a hands-on introduction to get you started with Julia as well as a showcase of geodata visualisation and ocean, atmosphere and ice simulations.

The hands-on introduction will cover:
- learn about the Julia language and what sets it apart from others
- write simple Julia code to get you started with scientific programming (arrays, loops, input/output, etc.)
- installing Julia packages and management of package environments (similar, e.g., to virtual-environments in Python)

The show-case will feature a selection of:
- Visualisation of Geo-Data using the plotting library Makie.jl and various geodata libraries
- Global ocean modelling with Oceananigans.jl on CPUs and GPUs
- Interactive atmospheric modelling with SpeedyWeather.jl
- Ice flow modelling and data integration and sensitivity analysis using automatic differentiation on GPUs with FastIce.jl

Ideally, participants should install Julia on their laptops to allow a smooth start into the course. We will provide detailed documentation for this installation. However, we will also provide a JupyterHub, albeit connectivity to it maybe spotty depending on Wi-Fi reception.