"* Anderson, J. L., 2001: An ensemble adjustment Kalman filter for data assimilation. Mon. Weather Rev., 129, 2884–2903. [https://doi.org/10.1175/1520-0493(2001)129%3C2884:AEAKFF%3E2.0.CO;2]\n",
"* Anderson, J. L., 2003: A local least squares framework for ensemble filtering. Mon. Weather Rev., 131, 634–642. [https://doi.org/10.1175/1520-0493(2003)131%3C0634:ALLSFF%3E2.0.CO;2]\n",
"* Hunt, B. R., E. J. Kostelich, and I. Szunyogh, 2007: Efficient data assimilation for spatiotemporal chaos: A local ensemble transform Kalman filter. Physica D, 230, 112–126.\n",
"For the single-column model of the convective boundary layer (CBL):\n",
"* Troen, I. B., and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. Bound.-Layer Meteorol., 37, 129–148. [https://doi.org/10.1007/BF00122760]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# How to run a simple OSSE experiment\n",
"\n",
"The default configuration files (in `json` format) are set to compute a single analysis that assimilates a single observation. For configuration details, see below. Simply run:"
* Anderson, J. L., 2001: An ensemble adjustment Kalman filter for data assimilation. Mon. Weather Rev., 129, 2884–2903. [https://doi.org/10.1175/1520-0493(2001)129%3C2884:AEAKFF%3E2.0.CO;2]
* Anderson, J. L., 2003: A local least squares framework for ensemble filtering. Mon. Weather Rev., 131, 634–642. [https://doi.org/10.1175/1520-0493(2003)131%3C0634:ALLSFF%3E2.0.CO;2]
* Hunt, B. R., E. J. Kostelich, and I. Szunyogh, 2007: Efficient data assimilation for spatiotemporal chaos: A local ensemble transform Kalman filter. Physica D, 230, 112–126.
[http://dx.doi.org/10.1016/j.physd.2006.11.008]
For the single-column model of the convective boundary layer (CBL):
* Troen, I. B., and L. Mahrt, 1986: A simple model of the atmospheric boundary layer; sensitivity to surface evaporation. Bound.-Layer Meteorol., 37, 129–148. [https://doi.org/10.1007/BF00122760]
%% Cell type:markdown id: tags:
# How to run a simple OSSE experiment
The default configuration files (in `json` format) are set to compute a single analysis that assimilates a single observation. For configuration details, see below. Simply run:
# Tools for idealized parameter estimation experiments
# Contents
*`PE_CBL.py`
Main driver program for parameter estimation with a convective boundary layer model. Includes a few examples.
A software package to run ensemble data assimilation and parameter estimation experiments with the EAKF and LETKF.
*`models.py`
Model code. At the moment, it only includes a CBL model.
## General-purpose code
*Module `ENDA.py`: Data assimilation code. Includes implementations of the EAKF and the LETKF. Also includes classes for data assimilation cycles, diagnostics and experiments (nature run + cycle + diagnostics).
*`ENDA.py`
Data assimilation code. Includes implementations of the EAKF and the LETKF. Also includes classes for data assimilation cycles, diagnostics and experiments (nature run + cycle + diagnostics).
## Basic parameter estimation code
These were used in a manuscript on parameter estimation for a convective boundary layer parameterization scheme (single-column model, SCM):
* Script `PE_CBL.py`: Main code.
* Module `PE_CBL_models.py`: Classes and functions for the SCM intialization and integration
* Module `PE_CBL_graphics.py`: Functions to plot results.
* A set of `*tar.gz` archives, containing `.json` configuration files for the parameter estimation experiments.
*`graphics.py`
Includes all the code for generating figures.
## Additional parameter estimation code
* Module `observations.py`: Code to ingest external observations (e.g. from an LES model, or actual observations) in parameter estimation experiments.
* Module `verification.py`: Code to verify experiments against external observations.
The code depends on `numpy`, `scipy`, `matplotlib.pyplot`
\ No newline at end of file
## Other
* Script `replace_text.py`: A tool to edit a set of similar config files all at once.
* Notebook `Overview.ipynb`: Simple usage examples. Much more exhaustive examples are provided in `PE_CBL.py`.
## Dependencies
The code depends on `numpy`, `scipy`, `matplotlib`, `json`, `pandas`, `pickle`, `os`, `glob`