JuliaCon 2021 Workshop
Title: Modeling Marine Ecosystems At Multiple Scales Using Julia
Speakers: Gael Forget, Benoit Pasquier, Zhen Wu
streaming : https://www.youtube.com/watch?v=UCIRrXz2ZS0
webpage : https://pretalx.com/juliacon2021/talk/FEZW9Q/
documentation : https://juliaocean.github.io/MarineEcosystemsJuliaCon2021.jl/dev/
Life in the oceans is strongly connected to our climate. In this workshop, you will learn to use packages from the JuliaOcean and JuliaClimate organizations that provide a foundation for studying marine ecosystems across a wide range of scales. We will run agent-based models to explore individual microbes and processes that drive species interactions. On the other end of the model hierarchy, we will simulate planetary-scale transports that control ocean biogeography and climate change.
Any example found in the online documentation is most easily run using Pluto.jl .
Just copy the corresponding notebook url
link below and paste into the Pluto.jl interface (v0.15 or later).
- AIBECSExample.html (---> notebook url)
- PlanktonIndividualExample.html (---> notebook url)
- MITgcm_tutorial_global_oce_biogeo.html (---> notebook url)
- IndividualDisplacementsExample.html (---> notebook url)
Packages covered in this workshop include:
- AIBECS.jl: global steady-state biogeochemistry and gridded transport models that run fast for long time scales (centuries or even millennia).
- PlanktonIndividuals.jl: local to global agent-based model, particularly suited to study microbial communities, plankton physiology, and nutrient cycles.
- MITgcmTools.jl: interface to full-featured, Fortran-based, general circulation model and its output (transports, chemistry, ecology, ocean, sea-ice, atmosphere, and more).
- IndividualDisplacements.jl: local to global particle tracking, for simulating dispersion, connectivity, transports in the ocean or atmosphere, etc.
The workshop was organized around tutorials and self-contained Pluto notebooks for the different packages.
-
Introduction of the topics covered, presenters, installation, and workshop roadmap (15 minutes).
-
AIBECS.jl: concept, implementation, tutorial workthough (30 minutes + 10' for questions; this notebook URL)
-
PlanktonIndividuals.jl: concept, implementation, tutorial workthough (30 minutes + 10' for questions; this notebook URL)
-
ClimateModels.jl and MITgcmTools.jl: concept, implementation, tutorial workthough (20 minutes + 10' for questions; this notebook URL)
-
ClimateModels.jl and IndividualDisplacements.jl: concept, implementation, tutorial workthough (20 minutes + 10' for questions; this notebook URL)
-
Q&A, tutorials, etc wrap-up
Workshop materials are available ahead of time @ https://github.com/JuliaOcean/MarineEcosystemsJuliaCon2021.jl
To run the notebooks of this workshop on your machine, you need to:
-
Install Julia from https://julialang.org/ (latest version is v1.6.2)
-
Start Julia
-
Add Pluto.jl (v0.15.0 or later)**
This is simply done by typing, in the julia REPL,
import Pkg Pkg.add("Pluto")
Note: Please make sure you get version 0.15.0 or later. If you get an older version then you can add Pluto in a clean, temporary, environment as follows:
import Pkg Pkg.activate(mktempdir()) Pkg.add("Pluto")
-
Use Pluto to run the notebooks. This is as simple as copy-pasting one of the following lines, depending on which notebook you want to run:
using Pluto Pluto.run(notebook="https://raw.githubusercontent.com/JuliaOcean/MarineEcosystemsJuliaCon2021.jl/main/src/AIBECSExample.jl")
Alternatively, instead of your own computer, you can just launch a Pluto instance in the cloud using JuliaHub.com, paste a notebook URL in the Pluto start page, and click open.