
Figure 1:Image from Francois Chollet - Colab Tutorial
Beginner / Causal¶
These users use the prebuilt models and generally do not need to interact with the underlying components underneath the hood.
- Prebuild Dynamical Model
 - Initial Condition Functions
 - Boundary Condition Functions
 
Some example applications would include:
- Exploration / Teaching
 - Dynamical Model priors for data assimilation applications
 
Intermediate / Engineer¶
These users might want to build a simple model using known physics but don't want to get too deep into They can use the Operator API.
- Custom Params / Domains
 - Custom Fields / State
 - Spatial Discretizations
 - Spatial Operations
 - Grid Operations
 - Process Operations
 - ODE Solver / Step
 
Some example use cases might be:
- generating simulations of a specific process
 - adding a custom forcing or diffusion term to an existing model
 - exploring process parameterizations with neural networks
 
Expert / Researcher¶
These users can use the Functional API
- Custom Finite Differences - with FiniteDiffX, Kernex
 - Custom Grid Operations - with kernex
 - Custom Processes - with equinox
 - Custom TimeSteppers - with Diffrax.