This repository contains numerical experiments and projects focused on the mathematical foundations of Numerical Weather Prediction. The projects investigate discretization methods, error propagation, and the numerical stability of atmospheric solvers.
This project explores the sensitivity of numerical derivatives to horizontal grid spacing (
- Objective: Compare analytical derivatives of trigonometric and exponential functions with numerical approximations at different resolutions.
-
Process: Implementation of finite difference schemes and systematic evaluation of truncation errors as
$\Delta x$ decreases from 100km to 20km. - Key Analysis: Identification of the convergence rates and the "double penalty" effect in high-resolution differentiation.
Focuses on the temporal evolution and stability of numerical solutions.
- Objective: Visualize and analyze the stability criteria (e.g., Courant-Friedrichs-Lewy / CFL condition) for atmospheric equations.
-
Visualization: Output includes
.gifanimations showing the evolution of various functions and their associated error propagation over time. -
Key Analysis: Investigation of how time-step selection (
$\Delta t$ ) impacts the fidelity of the numerical prediction.
project-01-derivatives/src/numerical_weather_prediction_project_1.py— Project 1 scriptproject-01-derivatives/outputs/tables/— Project 1 tables (.txt)project-01-derivatives/outputs/plots/— Project 1 plots (.png)project-02-stability/src/numerical_weather_prediction_project_2.py— Project 2 scriptproject-02-stability/outputs/gifs/— Project 2 animations (.gif)project-02-stability/outputs/frames/— Project 2 frame images (.jpg, ignored by git)
- Python 3.x
- NumPy
- Matplotlib
- Pandas
- SciPy
project-01-derivatives/src/numerical_weather_prediction_project_1.py: Finite difference and error scaling analysis.project-02-stability/src/numerical_weather_prediction_project_2.py: Stability and time-series evolution.