PlanktonIndividuals.jl

This package simulates the behaviors of an ensemble of phytoplankton individuals.
Author JuliaOcean
Popularity
30 Stars
Updated Last
2 Months Ago
Started In
March 2019

PlanktonIndividuals.jl

Linux doc doc codecov DOI DOI

animation

PlanktonIndividuals.jl is a fast individual-based model written in Julia that can be run on both CPU and GPU. It simulates the life cycle of phytoplankton cells as Lagrangian particles in the ocean while nutrients are represented as Eulerian, density-based tracers using a 3rd order advection scheme. The model is used to simulate and interpret the temporal and spacial variations of phytoplankton cell densities and stoichiometry as well as growth and division behaviors induced by diel cycle and physical motions ranging from sub-mesoscale to large scale processes.

Installation

To add PlanktonIndividuals.jl to your Julia environment:

using Pkg; Pkg.add("PlanktonIndividuals.jl")

Use Examples

1. Simple Flow Fields In Two Dimensions

using PlanktonIndividuals
p = dirname(pathof(PlanktonIndividuals))
#include(joinpath(p,"../examples/vertical_2D_example.jl"))
include(joinpath(p,"../examples/horizontal_2D_example.jl"))

2. Closer Look Into One Grid Box

using PlanktonIndividuals
p = dirname(pathof(PlanktonIndividuals))
include(joinpath(p,"../examples/0D_experiment.jl"))

3. Turbulent Flow Fields In Three Dimensions

Here Oceananigans.jl is used to generate velocity fields and then use those to drive the individual-based model.

using PlanktonIndividuals
p = dirname(pathof(PlanktonIndividuals))
include(joinpath(p,"../examples/surface_mixing_3D_example.jl"))

Used By Packages

No packages found.