Jupyter / Julia notebooks that illustrate some of the JuliaClimate packages working in concert.
For example, MeshArrays.jl is used to analyze global ocean transports derived accurately from gridded model output. An important requirement in climate science is to derive transports using native model grid output to allow for maximum precision e.g. in closing energy budgets.
IndividualDisplacements.jl extends this approach by providing a Lagrangian tracking framework that readily operates on any model C-grid
supported by MeshArrays.jl. In our examples, model output from the MITgcm are loaded into MeshArray
using functions provided by MITgcmTools.jl.
Table of content
-
- Ocean Transports
-
- Data Structures
The following notebooks demonstrate various standard computations related to ocean transports.
04_transports.ipynb
usesTransportThrough()
andLatCircles()
to compute seawater transports between latitude bands. It plots interpolated results over the Global Ocean.05_streamfunction.ipynb
usesScalarPotential()
andVectorPotential()
to compute horizontal streamfunction along with the divergent transport component.06_overturning.ipynb
computes meridional overturning streamfunctions (the MOC).07_particles.ipynb
computes particle trajectories that follow a gridded flow field.
01_MeshArrays.ipynb
illustrates the main data structures defined inMeshArrays.jl
(documented here), the exchange of data between neighboring arrays in aMeshArray
, and demo's these concepts in a simulation of diffusive transport.02_climatetools.ipynb
illustrates the use of ClimateTools.jl and ClimatePlots.jl03_nctiles.ipynb
converts binary data into meta-data-rich NetCDF files usingNCTiles.jl
for (1) a simple rectangular grid written to single file; (2) a tiled model domain on a less simple grid written to multiple files.
- MeshArrays.jl is a Julia package that handles gridded earth variables. It was introduced in this JuliaCon-2018 presentation which corresponds to
01_MeshArrays.ipynb
in this folder. - Each
.ipynb
notebook is paired with a.jl
file viajupytext
- An interactive version can readily be spun up via the
launch binder
badge - Rerunning the examples can involve data downloads into the
inputs/
folder that can safely be removed afterwards - For now, this is serial. Efficiency can be improved in various places or simply through parallelization.
- Please use the repository issue tracker for queries, bug reports, new contributions, etc.