{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 4D-Variational Data Assimilation for a Chaotic Dynamical System\n", "\n", "In this tutorial, you will learn how to use differentiable Tesseracts to implement a 4D-Var data assimilation scheme for a chaotic dynamical system, which includes using Tesseracts in an optimization context and embedding them into other (differentiable) Python / JAX code. \n", "\n", "We will use the [Lorenz 96](https://en.wikipedia.org/wiki/Lorenz_96_model) model as our dynamical system and demonstrate how to combine model forecasts with observations to produce an optimal estimate of the state of the system over a time window.\n", "\n", "## Context\n", "Here we walk throught a simple, hands-on demo of [four-dimensional variational data assimilation](https://www.ecmwf.int/en/newsletter/175/earth-system-science/linearised-physics-heart-ecmwfs-4d-var) -- sometimes called 4D-Var -- using a classic chaotic system.\n", "\n", "4D-Var is a powerful technique for combining model forecasts with observations to produce an optimal estimate of the state of a dynamical system over a time window. It is widely used in meteorology, oceanography, and other fields where accurate state estimation is crucial.\n", "\n", "It is also a great fit for Tesseracts:\n", "- **Separation of model and optimization** --- Tesseracts allow us to define the model as a separate component from the optimization process, making it easy to swap out different models or modify the model without changing the optimization code.\n", "- **Autodiff capabilities** --- 4D-Var is a variational method, which means it can be expressed as an optimization problem that minimizes a cost function. Since Tesseracts expose their derivatives, we can easily compute gradients of the cost function with respect to the model state and parameters.\n", "- **JAX interoperability** --- Tesseracts play well with [JAX](https://github.com/jax-ml/jax), which provides powerful tools for automatic differentiation and GPU/TPU acceleration. This allows us to efficiently compute gradients and perform optimization on large-scale problems. \n", "\n", "## Problem setup\n", "\n", "We’ll use data from a two-scale Lorenz 96 system, which describes two sets of variables operating on different scales, but run a simpler, single-scale Lorenz 96 solver as our surrogate model. That is, we will use a model that we know is incorrect to illustrate how 4D-Var can still produce useful results even when the model does not perfectly match the true system.\n", "\n", "**Two‐scale Lorenz 96** \n", "\n", "The true system couples each slow variable $x_i$ with $J$ fast variables $y_{j,i}$ through the following set of ordinary differential equations:\n", "\n", "$$\n", "\\frac{dx_i}{dt}\n", "= (x_{i+1} - x_{i-2})\\,x_{i-1}\n", "- x_i\n", "+ F\n", "- \\frac{h\\,c}{b}\\sum_{j=1}^{J}y_{j,i},\n", "$$\n", "\n", "$$\n", "\\frac{dy_{j,i}}{dt}\n", "= c\\,b\\,(y_{j+1,i} - y_{j-2,i})\\,y_{j-1,i}\n", "- c\\,y_{j,i}\n", "+ \\frac{h\\,c}{b}\\,x_i,\n", "$$\n", "\n", "where $F$ is the external forcing, $h$ controls the coupling strength, $c$ is the slow/fast time‐scale ratio, and $b$ sets the fast‐variable amplitude. For the true system, we use $h=1$, $b=10$, $c=10$, and $F=18$. \n", "\n", "The fast variables in the true system have small amplitude yet are essential for accurate forecasts—just as in many multi‐scale or multi‐physics problems. Because limited computational power and imperfect knowledge prevent fully resolving small‐scale, fast processes in real science and engineering simulations, we instead employ a simplified, reduced‐order model -- in this case the single‐scale Lorenz system—to approximate the true dynamics.\n", "\n", "**Single‐scale Lorenz 96** \n", "\n", "For $i=1,\\dots,N$ (with cyclic indices $x_{i+N}=x_i$):\n", "\n", "$$\n", "\\frac{dx_i}{dt}\n", "= (x_{i+1} - x_{i-2})\\,x_{i-1}\n", "- x_i\n", "+ F,\n", "$$\n", "\n", "where $N$ is the number of slow variables. We can augment the reduced-order model by adding an empirical correction term as a function of the reduced-order model states to partially compensate for the missing dynamics; however, since the true fast processes obey their own ODEs, this closure remains approximate and cannot fully eliminate model error. In complex nonlinear systems, these small model errors amplify rapidly -- much like weather forecasts lose skill beyond a few days -- so the predicted state inevitably degrades over time.\n", "\n", "Now, let’s have a look at how an imperfect model can deviate from the truth." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "# Install additional packages\n", "%pip install -r requirements.txt -q" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 1: Build and serve the single-scale Lorenz 96 Tesseract\n", "\n", "We implement a simple JAX model in the `lorenz_tesseract` folder (see \n", "[docs](lorenz_tesseract.md)). The `apply` function returns a trajectory of physical states given an initial condition:\n", "\n", "```python\n", "def lorenz96_multi_step(\n", " state: jnp.ndarray, F: float, dt: float, n_steps: int\n", ") -> jnp.ndarray:\n", " \"\"\"Perform multiple steps of Lorenz 96 integration using scan.\"\"\"\n", "\n", " def step_fn(state: jnp.ndarray, _: Any) -> tuple:\n", " return lorenz96_step(state, F, dt), state\n", "\n", " _, trajectory = jax.lax.scan(step_fn, state, None, length=n_steps)\n", " return trajectory\n", "```\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `tesseract build` command to build the Tesseract into a Docker image, which we can then run as a service." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[?25l \u001b[1;2m[\u001b[0m\u001b[34mi\u001b[0m\u001b[1;2m]\u001b[0m Building image \u001b[33m...\u001b[0m\n", "\u001b[2K\u001b[37m⠋\u001b[0m \u001b[37mProcessing\u001b[0m\n", "\u001b[1A\u001b[2K \u001b[1;2m[\u001b[0m\u001b[34mi\u001b[0m\u001b[1;2m]\u001b[0m Built image sh\u001b[1;92ma256:8237\u001b[0m1ea43228, \u001b[1m[\u001b[0m\u001b[32m'lorenz:latest'\u001b[0m\u001b[1m]\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[\"lorenz:latest\"]\n" ] } ], "source": [ "%%bash\n", "tesseract build lorenz_tesseract/" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Start a server container to interact with the Tesseract.\n", "from tesseract_core import Tesseract\n", "\n", "lorenz_tesseract = Tesseract.from_image(\"lorenz\")\n", "lorenz_tesseract.serve()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 2: Load the ground truth data\n", "\n", "[This](https://github.com/pasteurlabs/tesseract-core/blob/main/demo/data-assimilation-4dvar/lorenz96_two_scale_F_18_sample_0_small.npz) is the data we will use to perform the 4D-Var assimilation. The ground truth is generated by integrating the two-scale Lorenz 96 system with a known initial condition and parameters." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "X_states = np.load(\"lorenz96_two_scale_F_18_sample_0_small.npz\")[\"X_states\"]\n", "t = np.load(\"lorenz96_two_scale_F_18_sample_0_small.npz\")[\"t\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 3: Forward evaluation with Tesseract, create observations\n", "\n", "Let's use our imperfect surrogate to perform a simulation from the true intial condition. We will set the forcing term $F=18$, and we use $dt=0.005$ for numerical integration." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "import jax.numpy as jnp\n", "\n", "static_params = {\n", " \"F\": 18.0,\n", " \"dt\": 0.005,\n", " \"n_steps\": 2000,\n", "}\n", "\n", "# remove the first 500 time steps to avoid transients\n", "true_trajectory = X_states[500:]\n", "X0 = true_trajectory[0]\n", "\n", "\n", "def lorenz_tesseract_fn(x0: jnp.ndarray) -> jnp.ndarray:\n", " \"\"\"Forward operator that integrates the Lorenz 96 system using a surrogate model.\n", "\n", " Args:\n", " x0: Initial state vector of the Lorenz 96 system\n", "\n", " Returns:\n", " Complete trajectory of the system state after time integration\n", " \"\"\"\n", " return lorenz_tesseract.apply(\n", " inputs=dict(state=x0, **static_params),\n", " )\n", "\n", "\n", "pred = lorenz_tesseract_fn(X0)[\"result\"]" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import jax\n", "import matplotlib.pyplot as plt\n", "\n", "H = jnp.eye(8) # observe all variables\n", "\n", "# Create synthetic observations\n", "key = jax.random.PRNGKey(0)\n", "\n", "# time step between observations\n", "obs_gap = 50\n", "time_obs = jnp.arange(obs_gap, len(true_trajectory), obs_gap)\n", "obs = true_trajectory[obs_gap::obs_gap]\n", "obs = jax.vmap(lambda row: H @ row)(obs)\n", "\n", "# Observation error covariance matrix\n", "std_obs = 0.5\n", "R = std_obs**2 * jnp.eye(obs.shape[1])\n", "sqrt_s = jnp.sqrt(R)\n", "noise = jax.random.normal(key, obs.shape) @ sqrt_s\n", "obs = obs + noise\n", "\n", "# visualize the first slow variable\n", "pos = 0\n", "plot_end = 2000\n", "plot_obs_end = plot_end // obs_gap\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(pred[:plot_end, pos], label=\"Surrogate $X_0$\")\n", "plt.plot(true_trajectory[:plot_end, pos], label=\"True $X_{0}$\")\n", "plt.plot(time_obs[:plot_obs_end], obs[:plot_obs_end, pos], \"o\", label=\"Observations\")\n", "\n", "plt.xlabel(\"Time Steps\")\n", "plt.ylabel(\"Amplitude\")\n", "plt.title(\"Lorenz 96 Variable $X_0$\")\n", "plt.legend()\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With an imperfect surrogate, the model’s trajectory only remains close to the true system for a short time. But fortunately, we have real observations! Balloon soundings, satellite measurements, and the like—that, despite being noisy and sparse, still provide invaluable information. 4D-Var is a data-assimilation technique that blends these observations with our model forecasts to yield a more accurate state estimate, which then initializes the next forecast cycle.\n", "\n", "This is the same approach [used operationally at the European Centre for Medium-Range Weather Forecasts](https://www.ecmwf.int/en/about/media-centre/news/2017/20-years-4d-var-better-forecasts-through-better-use-observations#:~:text=8%20years%20old.-,20%20years%20of%204D%2DVar%3A%20better%20forecasts%20through,a%20better%20use%20of%20observations&text=Twenty%20years%20ago%20ECMWF%20added,improvements%20in%20the%20Centre's%20forecasts.), one of the world’s premier weather-prediction centres.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Step 4: 4D-Var data assimilation\n", "\n", "In this section, we will implement the 4D-Var algorithm to assimilate the observations into our model. The goal is to find an initial condition that minimizes the difference between the model trajectory and the observations over a given time window." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Introduction to the 4D-Var method\n", "\n", "
\n", "

Note

\n", " \n", "You can skip this section if you wish -- all you need to know for the purpose of this tutorial is that 4D-Var can be represented as an optimization problem that minimizes a cost function over a time window, using the model to propagate the state forward in time. But if you want to understand the method in more detail, read on!\n", "
\n", "\n", "\n", "Given an imperfect forecast $\\mathbf{x}^b$ (background), 4D-Var finds the initial state $\\mathbf{x}_0$ that minimizes\n", "\n", "$$\n", "J(\\mathbf{x}_0)\n", "= \\frac{1}{2}(\\mathbf{x}_0 - \\mathbf{x}^b)^\\top \\mathbf{B}^{-1} (\\mathbf{x}_0 - \\mathbf{x}^b)\n", "\\;+\\;\n", "\\frac{1}{2}\n", "\\sum_{i=0}^{n_{\\mathrm{obs}}-1}\n", "\\bigl(\\mathbf{y}_i - \\mathbf{H}\\,\\mathbf{x}_i\\bigr)^\\top\n", "\\mathbf{R}^{-1}\n", "\\bigl(\\mathbf{y}_i - \\mathbf{H}\\,\\mathbf{x}_i\\bigr),\n", "$$\n", "\n", "subject to\n", "\n", "$$\n", "\\mathbf{x}_i =\n", "\\begin{cases}\n", "\\mathbf{x}_0, & i = 0,\\\\\n", "\\mathcal{M}(\\mathbf{x}_{i-1}), & i = 1,\\dots,n_{\\mathrm{obs}}-1.\n", "\\end{cases}\n", "$$\n", "\n", "**Definition of symbols** \n", "- $\\mathbf{x}_0\\in\\mathbb{R}^n$: the **analysis** (initial) state vector at the start of the window. \n", "- $\\mathbf{x}^b\\in\\mathbb{R}^n$: the **background** or first-guess state (short-range forecast). \n", "- $\\mathbf{B}\\in\\mathbb{R}^{n\\times n}$: background-error covariance matrix. \n", "- $n_{\\mathrm{obs}}$: number of observation times in the assimilation window. \n", "- $\\mathbf{y}_i\\in\\mathbb{R}^m$: observation vector at time $t_i$. \n", "- $\\mathbf{H}\\in\\mathbb{R}^{m\\times n}$: (linearized) observation operator mapping state $\\mathbf{x}_i$ to observation space. \n", "- $\\mathbf{R}\\in\\mathbb{R}^{m\\times m}$: observation-error covariance matrix. \n", "- $\\mathcal{M}:\\mathbb{R}^n\\to\\mathbb{R}^n$: nonlinear forecast model operator advancing the state from $t_{i-1}$ to $t_i$. \n", "- $\\mathbf{x}_i$: model state at time $t_i$, with $\\mathbf{x}_0$ as the control variable and $\\mathbf{x}_i = \\mathcal{M}(\\mathbf{x}_{i-1})$ thereafter. \n", "- $i$: index for observation times, ranging from 0 to $n_{\\mathrm{obs}}-1$.\n", "\n", "\n", "#### What is being minimized?\n", "\n", "\n", "1. **Observation‐misfit**\n", "\n", " $$\n", " \\frac{1}{2}\n", " \\sum_{i=0}^{n_{\\mathrm{obs}}-1}\n", " \\bigl(\\mathbf{y}_i - \\mathbf{H}\\,\\mathbf{x}_i\\bigr)^\\top\n", " \\mathbf{R}^{-1}\n", " \\bigl(\\mathbf{y}_i - \\mathbf{H}\\,\\mathbf{x}_i\\bigr)\n", " $$\n", "\n", " Enforces agreement with all observations, weighted by the observation‐error covariance $\\mathbf{R}$. However, real observations are always sparse and noisy, so minimizing this term alone is ill‐conditioned and admits infinitely many solutions.\n", "\n", "2. **Background‐misfit** \n", " \n", " $$\n", " \\frac{1}{2}(\\mathbf{x}_0 - \\mathbf{x}^b)^\\top \\mathbf{B}^{-1} (\\mathbf{x}_0 - \\mathbf{x}^b)\n", " $$\n", "\n", " Penalizes deviations from the imperfect forecast, scaled by the background‐error covariance $\\mathbf{B}$. This term also acts as a regularizer, making the overall optimization well‐posed.\n", "\n", "\n", "#### Why not simply re-initialize the model with observations?\n", "\n", "There are many reasons -- here are two of them:\n", "- **Noisy and sparse observations.** Direct insertion of $\\mathbf{y}$ injects noise and leaves unobserved components unconstrained. \n", "- **Temporal smoothing.** 4D-Var distributes corrections over the entire window, yielding a dynamically consistent analysis that tries to satisfy both model physics and all observations.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4D-Var implementation" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# idealized error convariance matrices\n", "B_inv = jnp.eye(8)\n", "R_inv = jnp.linalg.inv(R)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Create 6 groups of 3 observations\n", "n_obs = 3\n", "obs_trajs = [obs[i : i + n_obs] for i in range(0, 19, n_obs)]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "params_window = {\n", " \"F\": 18.0,\n", " \"dt\": 0.005,\n", " \"n_steps\": obs_gap * n_obs,\n", "}\n", "\n", "\n", "def M_window(x: jnp.ndarray) -> jnp.ndarray:\n", " \"\"\"Forward operator integrating Lorenz 96 over an entire assimilation window.\n", "\n", " Args:\n", " x: Initial state vector at the beginning of the assimilation window\n", "\n", " Returns:\n", " Complete trajectory spanning the entire assimilation window\n", " \"\"\"\n", " return lorenz_tesseract.apply(\n", " inputs=dict(state=x, **params_window),\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We implement the optimization algorithm using SciPy and JAX. That is, we define the cost function $J(\\mathbf{x}_0)$ and use JAX's automatic differentiation to compute the gradient with respect to the initial state $\\mathbf{x}_0$.\n", "\n", "We then use an optimization algorithm that leverages these gradients (e.g., L-BFGS) to minimize the cost function." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "import scipy\n", "\n", "\n", "def analysis_4DVar(\n", " xb: jnp.ndarray,\n", " y: jnp.ndarray,\n", " M: callable,\n", " H: jnp.ndarray,\n", " R_inv: jnp.ndarray,\n", " B_inv: jnp.ndarray,\n", " n_obs: int = 3,\n", ") -> jnp.ndarray:\n", " \"\"\"Perform four-dimensional variational data assimilation analysis.\n", "\n", " Args:\n", " xb: Background state vector serving as the first guess\n", " y: Observation vector containing measurements at multiple time steps\n", " M: Forward model operator for time integration between observations\n", " H: Linear observation operator mapping model space to observation space\n", " R_inv: Inverse observation error covariance matrix\n", " B_inv: Inverse background error covariance matrix\n", " learning_rate: Step size for Adam optimizer\n", " max_iter: Maximum number of optimization iterations\n", " n_obs: Number of observation times within the assimilation window\n", "\n", " Returns:\n", " Optimal analysis state minimizing the 4D-Var cost function\n", " \"\"\"\n", "\n", " @jax.jit\n", " def cost_fn(x0: jnp.ndarray) -> jnp.ndarray:\n", " \"\"\"Compute the 4D-Var cost function with background and observation terms.\n", "\n", " Evaluates the standard 4D-Var objective function J = J_b + J_o, where J_b\n", " penalizes departure from background and J_o penalizes observation misfits\n", " across the assimilation window.\n", "\n", " Args:\n", " x0: Initial state vector for cost evaluation\n", "\n", " Returns:\n", " Total cost function value combining background and observation terms\n", " \"\"\"\n", " J_b = 0.0\n", " J_o = 0.0\n", "\n", " # Background term\n", " background_diff = x0 - xb\n", " J_b = 0.5 * jnp.dot(background_diff, B_inv @ background_diff)\n", "\n", " # Observation terms across assimilation window\n", " current_state = x0\n", " obs_diff = y[0] - H @ current_state\n", " J_o += 0.5 * jnp.dot(obs_diff, R_inv @ obs_diff)\n", "\n", " for i in range(1, n_obs):\n", " current_state = M(current_state)[\"result\"][-1]\n", " obs_diff = y[i] - H @ current_state\n", " J_o += 0.5 * jnp.dot(obs_diff, R_inv @ obs_diff)\n", "\n", " return J_b + J_o\n", "\n", " x0 = scipy.optimize.minimize(\n", " cost_fn, xb, method=\"L-BFGS-B\", jac=jax.grad(cost_fn)\n", " ).x\n", " return x0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But wait! Our model is a Tesseract, which is not natively compatible with JAX's automatic differentiation. So we need to wrap the Tesseract in a JAX-compatible function that can be differentiated, by registering a JAX custom derivative for the Tesseract's `apply` method, via [`jax.pure_callback`](https://docs.jax.dev/en/latest/_autosummary/jax.pure_callback.html) and [`jax.custom_vjp`](https://docs.jax.dev/en/latest/_autosummary/jax.custom_vjp.html).\n", "\n", "
\n", "

Note

\n", "\n", "While this works in this example, registering Tesseracts by hand is not the recommended way to use Tesseracts in JAX. Instead, you should check out [Tesseract-JAX](https://github.com/pasteurlabs/tesseract-jax), which automatically registers Tesseracts as JAX-compatible functions, allowing you to use them seamlessly in JAX code without needing to manually define callbacks or register custom derivatives.\n", "
" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from typing import Any\n", "\n", "# Construct the forward operator using tesseract to integrate the system until next observation is available\n", "params_M = {\n", " \"F\": 18.0,\n", " \"dt\": 0.005,\n", " \"n_steps\": obs_gap,\n", "}\n", "\n", "\n", "def convert_jax_to_python(inputs_dict: dict[str, Any]) -> dict[str, Any]:\n", " \"\"\"Convert JAX arrays back to Python types for tesseract API.\n", "\n", " Args:\n", " inputs_dict: Dictionary potentially containing JAX arrays.\n", "\n", " Returns:\n", " Dictionary with JAX scalars converted to Python types while preserving\n", " JAX arrays for state variables.\n", " \"\"\"\n", " converted = {}\n", " for key, value in inputs_dict.items():\n", " if key == \"state\":\n", " converted[key] = value # Keep state as JAX array\n", " elif hasattr(value, \"item\"):\n", " converted[key] = value.item() # Convert JAX scalars to Python types\n", " else:\n", " converted[key] = value\n", " return converted\n", "\n", "\n", "@jax.custom_vjp\n", "def M(x: jnp.ndarray) -> dict[str, jnp.ndarray]:\n", " \"\"\"Forward operator integrating Lorenz 96 for n_steps.\n", "\n", " Args:\n", " x: Initial state vector of shape (8,).\n", "\n", " Returns:\n", " Dictionary containing trajectory of shape (n_steps, 8) under 'result' key.\n", " \"\"\"\n", " n_steps = params_M[\"n_steps\"]\n", " result = jax.pure_callback(\n", " lambda inputs: lorenz_tesseract.apply(inputs=convert_jax_to_python(inputs)),\n", " {\"result\": jax.ShapeDtypeStruct((n_steps, x.shape[0]), x.dtype)},\n", " dict(state=x, **params_M),\n", " )\n", " return result\n", "\n", "\n", "def M_fwd(x: jnp.ndarray) -> tuple[dict[str, jnp.ndarray], jnp.ndarray]:\n", " \"\"\"Forward pass for custom VJP returning result and residuals.\n", "\n", " Args:\n", " x: Initial state vector of shape (8,).\n", "\n", " Returns:\n", " Tuple containing:\n", " - Dictionary with trajectory under 'result' key\n", " - Residuals (initial state) for backward pass\n", " \"\"\"\n", " return M(x), x\n", "\n", "\n", "def M_bwd(\n", " residuals: jnp.ndarray, cotangents: dict[str, jnp.ndarray]\n", ") -> tuple[jnp.ndarray]:\n", " \"\"\"Backward pass computing vector-Jacobian product.\n", "\n", " Args:\n", " residuals: Stored initial state from forward pass.\n", " cotangents: Gradient vector with same structure as forward output.\n", "\n", " Returns:\n", " Tuple containing gradient with respect to initial state of shape (8,).\n", " \"\"\"\n", " x = residuals\n", " cotangents_result = cotangents[\"result\"]\n", "\n", " grad_x = jax.pure_callback(\n", " lambda inputs, cot_vec: lorenz_tesseract.vector_jacobian_product(\n", " inputs=convert_jax_to_python(inputs),\n", " vjp_inputs=[\"state\"],\n", " vjp_outputs=[\"result\"],\n", " cotangent_vector=cot_vec,\n", " ),\n", " jax.ShapeDtypeStruct(x.shape, x.dtype),\n", " dict(state=x, **params_M),\n", " {\"result\": cotangents_result},\n", " )\n", " return (grad_x,)\n", "\n", "\n", "M.defvjp(M_fwd, M_bwd)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Application of the 4D-Var method to the Lorenz 96 model" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# integrate to first observation\n", "history = []\n", "X_pred = jnp.zeros((obs_gap + 1, X0.shape[0]))\n", "X_pred = X_pred.at[0].set(X0)\n", "Xf = M(X0)[\"result\"]\n", "X_pred = X_pred.at[1:].set(Xf)\n", "Xb = Xf[-1]\n", "history.append(X_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we run the cyclic forecast-assimilation." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Now assimilating observations: [[ 2.799733 9.399986 0.46893954 -2.4860692 1.3382943 12.572049\n", " 3.3946197 -3.8351834 ]\n", " [ 3.379249 8.853455 2.9171748 0.03306353 3.867188 11.950285\n", " -0.8432639 3.8301866 ]\n", " [11.4476185 0.6421503 -1.4374818 1.4826026 9.486775 7.7398486\n", " -1.7716159 5.5438924 ]]\n", "Forecasting next assimilation window...\n", "Now assimilating observations: [[10.179231 -0.24670759 5.3289804 10.904022 4.2516203 -5.7708306\n", " 0.8604067 5.689573 ]\n", " [ 5.4109397 -1.3887025 5.18376 8.259685 -3.789405 4.848869\n", " 6.546297 8.800019 ]\n", " [ 1.5806762 1.6670504 7.6248302 6.626485 -0.29925 5.1062775\n", " 11.641597 -5.082076 ]]\n", "Forecasting next assimilation window...\n", "Now assimilating observations: [[ 5.8376927 12.217752 0.9033669 -0.9313403 1.507611 8.427427\n", " 6.484769 -1.1838636]\n", " [ 5.5618935 10.293968 -1.5365992 4.548709 9.417823 4.735697\n", " -3.5575433 1.5427291]\n", " [ 9.448657 2.7177422 -1.634881 6.2142787 8.478294 -3.347425\n", " 4.947667 6.5599914]]\n", "Forecasting next assimilation window...\n" ] } ], "source": [ "for obs_traj in obs_trajs[:3]:\n", " print(\"Now assimilating observations:\", obs_traj)\n", " X0 = analysis_4DVar(Xb, obs_traj, M, H, R_inv, B_inv, n_obs=n_obs)\n", "\n", " # forecast step\n", " print(\"Forecasting next assimilation window...\")\n", " X_pred = jnp.zeros((n_obs * obs_gap + 1, X0.shape[0]))\n", " X_pred = X_pred.at[0].set(X0)\n", " Xf = M_window(X0)[\"result\"]\n", " X_pred = X_pred.at[1:].set(Xf)\n", " Xb = Xf[-1]\n", "\n", " history.append(X_pred)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize results" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def get_da_res(forecast_list: list) -> jnp.ndarray:\n", " \"\"\"Get the DA results from a list of forecasts.\n", "\n", " Args:\n", " forecast_list: List of forecasts.\n", "\n", " Output:\n", " concatenated_forecasts: Concatenated forecasts.\n", " \"\"\"\n", " processed_forecasts = []\n", "\n", " for forecasts in forecast_list:\n", " # Remove the last time step from each trajectory\n", " trimmed_forecasts = forecasts[:-1, :] # Shape (Ne, Nt, nx)\n", " processed_forecasts.append(trimmed_forecasts)\n", "\n", " # Concatenate all processed forecasts along the time dimension\n", " concatenated_forecasts = jnp.concatenate(processed_forecasts, axis=0)\n", "\n", " return concatenated_forecasts" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "x4DVar = get_da_res(history)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Visualize the results\n", "pos = 0\n", "plot_end = 500\n", "plot_obs_end = plot_end // obs_gap\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(x4DVar[:plot_end, pos], label=f\"4DVar $X_{pos}$\", color=\".2\")\n", "plt.plot(pred[:plot_end, pos], label=f\"Surrogate $X_{pos}$\")\n", "plt.plot(true_trajectory[:plot_end, pos], label=f\"True $X_{pos}$\")\n", "plt.plot(time_obs[:plot_obs_end], obs[:plot_obs_end, pos], \"o\", label=\"Observations\")\n", "plt.legend(loc=\"upper left\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The black curve, after running 4D-Var, hugs the orange “true” line much more closely. You can see at steps 50, 200, and 350 (where we perform 4D-Var with following 3 observations) that analysis pulls the model back toward the true state, even though we're not even modelling the same system that the true data was generated from. Data assimilation keeps us on track for far longer than just letting the imperfect model run free." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Tear down Tesseract after use to prevent resource leaks\n", "lorenz_tesseract.teardown()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## And that's it! \n", "\n", "We have implemented our Lorenz-96 solver in **Tesseract** using **JAX**, which gives us full separation of concerns and automatic differentiation. This lets us directly compute gradients of the 4D-Var cost function and perform gradient-based optimization end-to-end, without any manual gradient coding.\n", "\n", "So we can better appreciate the advantages of built-in automatic differentiation, here's how operational weather centers tackle 4D-Var data assimilation.\n", "\n", "**Traditional numerical weather prediction (mostly Fortran, no autodiff)** ([example](https://www.ecmwf.int/en/newsletter/175/earth-system-science/linearised-physics-heart-ecmwfs-4d-var)):\n", "\n", "- Requires to manually derive and implement tangent-linear approximation and adjoint routines for every physical processes (radiation, convection, orographic drag, etc.) for gradient computing. \n", "- Writing, testing and maintaining those adjoints is a massive, decades-long effort—and it never really ends. \n", "- Every time you tweak or add a new physical processes, you have to derive and code its tangent-linear/adjoint from scratch. \n", "- Subtle mismatches between forward and adjoint code can sneak in.\n", "\n", "Now contrast this with our approach here.\n", "\n", "**Differentiable model with JAX and Tesseract**:\n", "\n", "- Gradients are automatic -- JAX traces the whole nonlinear model, so we don’t write a single tangent-linear model/adjoint by hand. \n", "- We hook directly into familiar ML optimizers (SGD, Adam, etc.), making experimentation quick and painless. \n", "- Adding new physics or parameterizations is as simple as dropping them into the code -- JAX takes care of all derivatives. \n", "- One code path runs forward and backward, so analyses stay consistent and debugging is far easier. " ] } ], "metadata": { "kernelspec": { "display_name": "science", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 2 }