Skip to content

Commit

Permalink
Replace Zenodo badge/ref by JOSS
Browse files Browse the repository at this point in the history
  • Loading branch information
patnr committed Mar 1, 2024
1 parent e7e3e3d commit 272a186
Showing 1 changed file with 25 additions and 25 deletions.
50 changes: 25 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,19 @@ and then estimate that truth given the models and noisy observations.

[Install](#installation), then
read, run and try to understand `examples/basic_{1,2,3}.py`.
Some of the examples can also be opened in Jupyter, and thereby run in the cloud
(i.e. *without installation*, but requiring Google login): [![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/nansencenter/DAPPER).
Some of the examples also exist as Jupyter notebooks, and can be run in the cloud
*without installation* (but requiring Google login): [![Open In Collab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/nansencenter/DAPPER).
This [screencast](https://www.youtube.com/watch?v=YtalK0Zkzvg&t=6475s)
provides an introduction.
The [documentation](https://nansencenter.github.io/DAPPER)
includes general guidelines and the API,
but for any serious use you will want to read and adapt the code yourself.
If you use it in a publication, please cite, e.g.,
includes general guidelines as well as the API reference,
but for extensive use you must expect you read the code as well.
If used for a publication, please cite, e.g.,
*The experiments used (inspiration from) DAPPER [ref], version 1.6.0*,
where [ref] points to [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10710355.svg)](https://doi.org/10.5281/zenodo.10710355).
Lastly, for an introduction to DA theory also using Python,
where [ref] points to [![DOI](https://joss.theoj.org/papers/10.21105/joss.05150/status.svg)](https://doi.org/10.21105/joss.05150).
Lastly, for an introduction to DA *theory* also using Python,
see these [tutorials](https://github.com/nansencenter/DA-tutorials).


## Highlights

DAPPER enables the numerical investigation of [DA methods](#da-methods)
Expand All @@ -50,26 +49,30 @@ through a variety of typical [test cases](#test-cases-models) and statistics. It
(b) facilitates comparative studies, thus promoting the
(a) reliability and
(b) relevance of the results.
For example, this figure is generated by `examples/basic_3.py`,
making use of built-in tools for experiment and result management,
For example, the figure below is generated by `examples/basic_3.py`,
reproduces figure 5.7 of [these lecture notes](http://cerea.enpc.fr/HomePages/bocquet/teaching/assim-mb-en.pdf).

![Comparative benchmarks with Lorenz'96 plotted as a function of the ensemble size (N)](./docs/imgs/ex3.svg)

DAPPER is (c) open source, written in Python, and (d) focuses on readability;
this promotes the (c) reproduction and (d) dissemination of the underlying science,
DAPPER is
(c) open source, written in Python, and
(d) focuses on readability;
this promotes the
(c) reproduction and
(d) dissemination of the underlying science,
and makes it easy to adapt and extend.

It also illustrates how to parallelise ensemble forecasts (e.g. the QG model),
local analyses (e.g. the LETKF), and independent experiments (e.g. `examples/basic_3.py`).
It comes with a battery of diagnostics and statistics.
These all get averaged over subdomains (e..g "ocean" and "land") and then in time.
![Comparative benchmarks with Lorenz-96 plotted as a function of the ensemble size (N)](./docs/imgs/ex3.svg)

DAPPER demonstrates how to parallelise ensemble forecasts (e.g., the QG model),
local analyses (e.g., the LETKF), and independent experiments (e.g., `examples/basic_3.py`).
It includes a battery of diagnostics and statistics,
which all get averaged over subdomains (e.g., "ocean" and "land") and then in time.
Confidence intervals are computed, including correction for auto-correlations,
and used for uncertainty quantification, and significant digits printing.
Several diagnostics are included in the on-line "liveplotting" illustrated below,
which may be paused for further interactive inspection.
In summary, DAPPER is well suited for teaching and fundamental DA research.
Also see its [drawbacks](#similar-projects).

![EnKF - Lorenz'63](./docs/imgs/ex1.jpg)
![EnKF - Lorenz-96](./docs/imgs/ex1.jpg)

<!-- Non-highlighted features:
- Time sequences use via `tools.chronos.Chronology` and `tools.chronos.Ticker`.
Expand All @@ -79,12 +82,9 @@ which may be paused for further interactive inspection.
provides input flexibility/overloading,
lazy eval that facilitates the use of non-diagonal
covariance matrices (whether sparse or full).
- built-in tools for experiment and result management,
-->

In summary, DAPPER is well suited for teaching and fundamental DA research.
Also see its [drawbacks](#similar-projects).


## Installation

Successfully tested on Linux/Mac/Windows.
Expand Down Expand Up @@ -172,7 +172,7 @@ The particle filter is tuned with "effective-N monitoring",
"regularization/jittering" strength, and more.

For a list of ready-made experiments with suitable,
tuned settings for a given method (e.g. the `iEnKS`), use:
tuned settings for a given method (e.g., the `iEnKS`), use:

```sh
grep -r "xp.*iEnKS" dapper/mods
Expand Down

0 comments on commit 272a186

Please sign in to comment.