dapper 1.7.1__tar.gz → 1.7.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. {dapper-1.7.1 → dapper-1.7.3}/PKG-INFO +6 -5
  2. {dapper-1.7.1 → dapper-1.7.3}/README.md +70 -70
  3. {dapper-1.7.1 → dapper-1.7.3}/dapper/__init__.py +1 -1
  4. {dapper-1.7.1 → dapper-1.7.3}/dapper.egg-info/PKG-INFO +6 -5
  5. {dapper-1.7.1 → dapper-1.7.3}/dapper.egg-info/requires.txt +2 -2
  6. {dapper-1.7.1 → dapper-1.7.3}/setup.py +7 -4
  7. {dapper-1.7.1 → dapper-1.7.3}/LICENCE.txt +0 -0
  8. {dapper-1.7.1 → dapper-1.7.3}/dapper/README.md +0 -0
  9. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/README.md +0 -0
  10. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/__init__.py +0 -0
  11. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/baseline.py +0 -0
  12. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/ensemble.py +0 -0
  13. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/extended.py +0 -0
  14. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/other.py +0 -0
  15. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/particle.py +0 -0
  16. {dapper-1.7.1 → dapper-1.7.3}/dapper/da_methods/variational.py +0 -0
  17. {dapper-1.7.1 → dapper-1.7.3}/dapper/dpr_config.py +0 -0
  18. {dapper-1.7.1 → dapper-1.7.3}/dapper/dpr_config.yaml +0 -0
  19. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/DoublePendulum/__init__.py +0 -0
  20. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/DoublePendulum/demo.py +0 -0
  21. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/DoublePendulum/settings101.py +0 -0
  22. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Id/__init__.py +0 -0
  23. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Ikeda/__init__.py +0 -0
  24. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Ikeda/demo.py +0 -0
  25. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Ikeda/some_settings_01.py +0 -0
  26. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/KS/__init__.py +0 -0
  27. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/KS/bocquet2019.py +0 -0
  28. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/KS/compare_schemes.py +0 -0
  29. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/KS/demo.py +0 -0
  30. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LA/__init__.py +0 -0
  31. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LA/demo.py +0 -0
  32. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LA/evensen2009.py +0 -0
  33. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LA/raanes2015.py +0 -0
  34. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LA/small.py +0 -0
  35. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz05/__init__.py +0 -0
  36. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz05/demo.py +0 -0
  37. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz05/settings01.py +0 -0
  38. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/__init__.py +0 -0
  39. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/anderson2010rhf.py +0 -0
  40. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/bocquet2012.py +0 -0
  41. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/demo.py +0 -0
  42. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/extras.py +0 -0
  43. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/mandel2016.py +0 -0
  44. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/ramgraber2022.py +0 -0
  45. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/sakov2012.py +0 -0
  46. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz63/wiljes2017.py +0 -0
  47. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz84/__init__.py +0 -0
  48. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz84/demo.py +0 -0
  49. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz84/harder.py +0 -0
  50. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz84/pajonk2012.py +0 -0
  51. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/__init__.py +0 -0
  52. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/anderson2009.py +0 -0
  53. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/bocquet2010.py +0 -0
  54. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/bocquet2010_m40.py +0 -0
  55. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/bocquet2015loc.py +0 -0
  56. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/demo.py +0 -0
  57. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/extras.py +0 -0
  58. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/frei2013bridging.py +0 -0
  59. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/hoteit2015.py +0 -0
  60. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/miyoshi2011.py +0 -0
  61. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/pinheiro2019.py +0 -0
  62. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/raanes2016.py +0 -0
  63. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/sakov2008.py +0 -0
  64. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/spantini2019.py +0 -0
  65. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/spectral_obs.py +0 -0
  66. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/todter2015.py +0 -0
  67. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96/todter2015_G.py +0 -0
  68. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96s/__init__.py +0 -0
  69. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/Lorenz96s/grudzien2020.py +0 -0
  70. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/__init__.py +0 -0
  71. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/demo.py +0 -0
  72. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/illust_LorenzUV.py +0 -0
  73. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/illust_parameterizations.py +0 -0
  74. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/lorenz96.py +0 -0
  75. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LorenzUV/wilks05.py +0 -0
  76. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LotkaVolterra/__init__.py +0 -0
  77. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LotkaVolterra/demo.py +0 -0
  78. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/LotkaVolterra/settings101.py +0 -0
  79. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/__init__.py +0 -0
  80. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/counillon2009.py +0 -0
  81. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/demo.py +0 -0
  82. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/Makefile +0 -0
  83. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/README.md +0 -0
  84. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/__init__.py +0 -0
  85. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/calc.f90 +0 -0
  86. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/data.f90 +0 -0
  87. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/helmholtz.f90 +0 -0
  88. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/interface.f90 +0 -0
  89. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/nfw.f90 +0 -0
  90. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/parameters.f90 +0 -0
  91. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_cou09_ens.txt +0 -0
  92. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_cou09_truth.txt +0 -0
  93. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_counillon2009_ens.txt +0 -0
  94. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_counillon2009_truth.txt +0 -0
  95. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_sak08.txt +0 -0
  96. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_sakov2008.txt +0 -0
  97. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_sample_generation.txt +0 -0
  98. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/prms_test_model.txt +0 -0
  99. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/qg.f90 +0 -0
  100. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/qgflux.f90 +0 -0
  101. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/qgstep.f90 +0 -0
  102. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/f90/utils.f90 +0 -0
  103. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/governing_eqn.png +0 -0
  104. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/illust_obs.py +0 -0
  105. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/QG/sakov2008.py +0 -0
  106. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/README.md +0 -0
  107. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/VL20/__init__.py +0 -0
  108. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/VL20/demo.py +0 -0
  109. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/__init__.py +0 -0
  110. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/explore_props.py +0 -0
  111. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/integration.py +0 -0
  112. {dapper-1.7.1 → dapper-1.7.3}/dapper/mods/utils.py +0 -0
  113. {dapper-1.7.1 → dapper-1.7.3}/dapper/stats.py +0 -0
  114. {dapper-1.7.1 → dapper-1.7.3}/dapper/stats_etc.md +0 -0
  115. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/__init__.py +0 -0
  116. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/chronos.py +0 -0
  117. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/colors.py +0 -0
  118. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/datafiles.py +0 -0
  119. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/linalg.py +0 -0
  120. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/liveplotting.py +0 -0
  121. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/localization.py +0 -0
  122. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/matrices.py +0 -0
  123. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/multiproc.py +0 -0
  124. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/progressbar.py +0 -0
  125. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/randvars.py +0 -0
  126. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/remote/README.md +0 -0
  127. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/remote/__init__.py +0 -0
  128. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/remote/autoscaler.py +0 -0
  129. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/remote/uplink.py +0 -0
  130. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/rounding.py +0 -0
  131. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/seeding.py +0 -0
  132. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/series.py +0 -0
  133. {dapper-1.7.1 → dapper-1.7.3}/dapper/tools/viz.py +0 -0
  134. {dapper-1.7.1 → dapper-1.7.3}/dapper/xp_launch.py +0 -0
  135. {dapper-1.7.1 → dapper-1.7.3}/dapper/xp_process.py +0 -0
  136. {dapper-1.7.1 → dapper-1.7.3}/dapper.egg-info/SOURCES.txt +0 -0
  137. {dapper-1.7.1 → dapper-1.7.3}/dapper.egg-info/dependency_links.txt +0 -0
  138. {dapper-1.7.1 → dapper-1.7.3}/dapper.egg-info/top_level.txt +0 -0
  139. {dapper-1.7.1 → dapper-1.7.3}/pyproject.toml +0 -0
  140. {dapper-1.7.1 → dapper-1.7.3}/setup.cfg +0 -0
  141. {dapper-1.7.1 → dapper-1.7.3}/tests/__init__.py +0 -0
  142. {dapper-1.7.1 → dapper-1.7.3}/tests/test_HMMs.py +0 -0
  143. {dapper-1.7.1 → dapper-1.7.3}/tests/test_TLMs.py +0 -0
  144. {dapper-1.7.1 → dapper-1.7.3}/tests/test_data.py +0 -0
  145. {dapper-1.7.1 → dapper-1.7.3}/tests/test_demos.py +0 -0
  146. {dapper-1.7.1 → dapper-1.7.3}/tests/test_example_2.py +0 -0
  147. {dapper-1.7.1 → dapper-1.7.3}/tests/test_iEnKS.py +0 -0
  148. {dapper-1.7.1 → dapper-1.7.3}/tests/test_localization.py +0 -0
  149. {dapper-1.7.1 → dapper-1.7.3}/tests/test_matrices.py +0 -0
  150. {dapper-1.7.1 → dapper-1.7.3}/tests/test_operator.py +0 -0
  151. {dapper-1.7.1 → dapper-1.7.3}/tests/test_plotting.py +0 -0
  152. {dapper-1.7.1 → dapper-1.7.3}/tests/test_printing.py +0 -0
  153. {dapper-1.7.1 → dapper-1.7.3}/tests/test_randvars.py +0 -0
  154. {dapper-1.7.1 → dapper-1.7.3}/tests/test_rng.py +0 -0
  155. {dapper-1.7.1 → dapper-1.7.3}/tests/test_round2.py +0 -0
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dapper
3
- Version: 1.7.1
3
+ Version: 1.7.3
4
4
  Summary: DAPPER benchmarks the performance of data assimilation (DA) methods.
5
5
  Author: Patrick N. Raanes
6
6
  Author-email: patrick.n.raanes@gmail.com
7
+ License: MIT
7
8
  Project-URL: Documentation, https://nansencenter.github.io/DAPPER/
8
9
  Project-URL: Source, https://github.com/nansencenter/DAPPER
9
10
  Project-URL: Tracker, https://github.com/nansencenter/DAPPER/issues
@@ -12,9 +13,8 @@ Classifier: Development Status :: 3 - Alpha
12
13
  Classifier: Intended Audience :: Science/Research
13
14
  Classifier: Topic :: Scientific/Engineering :: Mathematics
14
15
  Classifier: Programming Language :: Python :: 3
15
- Classifier: License :: OSI Approved :: MIT License
16
16
  Classifier: Operating System :: OS Independent
17
- Requires-Python: >=3.9
17
+ Requires-Python: >=3.12
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENCE.txt
20
20
  Requires-Dist: scipy>=1.14
@@ -23,8 +23,8 @@ Requires-Dist: matplotlib>=3.10
23
23
  Requires-Dist: pyyaml>=6.0.2
24
24
  Requires-Dist: ipython>=7.34
25
25
  Requires-Dist: ipdb
26
- Requires-Dist: jupyter
27
- Requires-Dist: notebook<7
26
+ Requires-Dist: setuptools
27
+ Requires-Dist: notebook<6.5
28
28
  Requires-Dist: mpl-tools==0.4.1
29
29
  Requires-Dist: tqdm~=4.67
30
30
  Requires-Dist: colorama~=0.4.1
@@ -95,6 +95,7 @@ Dynamic: classifier
95
95
  Dynamic: description
96
96
  Dynamic: description-content-type
97
97
  Dynamic: keywords
98
+ Dynamic: license
98
99
  Dynamic: license-file
99
100
  Dynamic: project-url
100
101
  Dynamic: provides-extra
@@ -8,7 +8,7 @@
8
8
  !
9
9
  -->
10
10
 
11
- <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/logo_wtxt.png" align="left" width="250"/>
11
+ <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/logo_wtxt.png" alt="DAPPER logo" align="left" width="250"/>
12
12
 
13
13
  DAPPER is a set of templates for **benchmarking** the performance of **data assimilation** (DA) methods.
14
14
  The numerical experiments provide support and guidance for new developments in DA.
@@ -88,7 +88,7 @@ Also see its [drawbacks](#similar-projects).
88
88
 
89
89
  Successfully tested on Linux/Mac/Windows.
90
90
 
91
- ### Prerequisite: Python>=3.9
91
+ ### Prerequisite: Python>=3.12
92
92
 
93
93
  If you're an expert, setup a python environment however you like.
94
94
  Otherwise:
@@ -141,23 +141,23 @@ you'll first need to run `conda activate dapper-env`
141
141
 
142
142
  <!-- markdownlint-capture -->
143
143
  <!-- markdownlint-disable line-length -->
144
- Method | Literature reproduced
145
- ------------------------------------------------------ | ------------------------
146
- EnKF <sup>1</sup> | [Sakov08](https://nansencenter.github.io/DAPPER/references/#sakov2008b), [Hoteit15](https://nansencenter.github.io/DAPPER/references/#hoteit2015a), [Grudzien2020](https://nansencenter.github.io/DAPPER/references/#grudzien2020a)
147
- EnKF-N | [Bocquet12](https://nansencenter.github.io/DAPPER/references/#bocquet2012a), [Bocquet15](https://nansencenter.github.io/DAPPER/references/#bocquet2015)
148
- EnKS, EnRTS | [Raanes2016](https://nansencenter.github.io/DAPPER/references/#raanes2016thesis)
149
- iEnKS / iEnKF / EnRML / ES-MDA <sup>2</sup> | [Sakov12](https://nansencenter.github.io/DAPPER/references/#sakov2012a), [Bocquet12](https://nansencenter.github.io/DAPPER/references/#Bocquet12), [Bocquet14](https://nansencenter.github.io/DAPPER/references/#bocquet2014)
150
- LETKF, local & serial EAKF | [Bocquet11](https://nansencenter.github.io/DAPPER/references/#bocquet2011)
151
- Sqrt. model noise methods | [Raanes2014](https://nansencenter.github.io/DAPPER/references/#raanes2014)
152
- Particle filter (bootstrap) <sup>3</sup> | [Bocquet10](https://nansencenter.github.io/DAPPER/references/#bocquet2010a)
153
- Optimal/implicit Particle filter <sup>3</sup> | [Bocquet10](https://nansencenter.github.io/DAPPER/references/#bocquet2010a)
154
- NETF | [Tödter15](https://nansencenter.github.io/DAPPER/references/#todter2015a), [Wiljes16](https://nansencenter.github.io/DAPPER/references/#wiljes2016)
155
- Rank histogram filter (RHF) | [Anderson10](https://nansencenter.github.io/DAPPER/references/#anderson2010)
156
- 4D-Var |
157
- 3D-Var |
158
- Extended KF |
159
- Optimal interpolation |
160
- Climatology |
144
+ | Method | Literature reproduced |
145
+ |------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
146
+ | EnKF <sup>1</sup> | [Sakov08](https://nansencenter.github.io/DAPPER/references/#sakov2008b), [Hoteit15](https://nansencenter.github.io/DAPPER/references/#hoteit2015a), [Grudzien2020](https://nansencenter.github.io/DAPPER/references/#grudzien2020a) |
147
+ | EnKF-N | [Bocquet12](https://nansencenter.github.io/DAPPER/references/#bocquet2012a), [Bocquet15](https://nansencenter.github.io/DAPPER/references/#bocquet2015) |
148
+ | EnKS, EnRTS | [Raanes2016](https://nansencenter.github.io/DAPPER/references/#raanes2016thesis) |
149
+ | iEnKS / iEnKF / EnRML / ES-MDA <sup>2</sup> | [Sakov12](https://nansencenter.github.io/DAPPER/references/#sakov2012a), [Bocquet12](https://nansencenter.github.io/DAPPER/references/#Bocquet12), [Bocquet14](https://nansencenter.github.io/DAPPER/references/#bocquet2014) |
150
+ | LETKF, local & serial EAKF | [Bocquet11](https://nansencenter.github.io/DAPPER/references/#bocquet2011) |
151
+ | Sqrt. model noise methods | [Raanes2014](https://nansencenter.github.io/DAPPER/references/#raanes2014) |
152
+ | Particle filter (bootstrap) <sup>3</sup> | [Bocquet10](https://nansencenter.github.io/DAPPER/references/#bocquet2010a) |
153
+ | Optimal/implicit Particle filter <sup>3</sup> | [Bocquet10](https://nansencenter.github.io/DAPPER/references/#bocquet2010a) |
154
+ | NETF | [Tödter15](https://nansencenter.github.io/DAPPER/references/#todter2015a), [Wiljes16](https://nansencenter.github.io/DAPPER/references/#wiljes2016) |
155
+ | Rank histogram filter (RHF) | [Anderson10](https://nansencenter.github.io/DAPPER/references/#anderson2010) |
156
+ | 4D-Var | |
157
+ | 3D-Var | |
158
+ | Extended KF | |
159
+ | Optimal interpolation | |
160
+ | Climatology | |
161
161
  <!-- markdownlint-restore -->
162
162
 
163
163
  <sup>1</sup>: Stochastic, DEnKF (i.e. half-update), ETKF (i.e. sym. sqrt.).
@@ -183,22 +183,22 @@ grep -r "xp.*iEnKS" dapper/mods
183
183
  Simple models facilitate the reliability, reproducibility,
184
184
  and interpretability of experiment results.
185
185
 
186
- Model | Lin | TLM** | PDE? | Phys.dim. | State len | Lyap≥0 | Implementer
187
- ----------- | --- | ----- | ---- | --------- | --------- | ------ | ----------
188
- Id | Yes | Yes | No | N/A | * | 0 | Raanes
189
- Linear Advect. (LA) | Yes | Yes | Yes | 1d | 1000 * | 51 | Evensen/Raanes
190
- DoublePendulum | No | Yes | No | 0d | 4 | 2 | Matplotlib/Raanes
191
- Ikeda | No | Yes | No | 0d | 2 | 1 | Raanes
192
- LotkaVolterra | No | Yes | No | 0d | 5 * | 1 | Wikipedia/Raanes
193
- Lorenz63 | No | Yes | "Yes" | 0d | 3 | 2 | Sakov
194
- Lorenz84 | No | Yes | No | 0d | 3 | 2 | Raanes
195
- Lorenz96 | No | Yes | No | 1d | 40 * | 13 | Raanes
196
- Lorenz96s | No | Yes | No | 1d | 10 * | 4 | Grudzien
197
- LorenzUV | No | Yes | No | 2x 1d | 256 + 8 * | ≈60 | Raanes
198
- LorenzIII | No | No | No | 1d | 960 * | ≈164 | Raanes
199
- Vissio-Lucarini 20 | No | Yes | No | 1d | 36 * | 10 | Yumeng
200
- Kuramoto-Sivashinsky | No | Yes | Yes | 1d | 128 * | 11 | Kassam/Raanes
201
- Quasi-Geost (QG) | No | No | Yes | 2d | 129²≈17k | ≈140 | Sakov
186
+ | Model | Lin | TLM`**` | PDE? | Phys.dim. | State len | Lyap≥0 | Implementer |
187
+ |----------------------|-----|-------|-------|-----------|-----------|--------|---------------------|
188
+ | Id | Yes | Yes | No | N/A | `*` | 0 | Raanes |
189
+ | Linear Advect. (LA) | Yes | Yes | Yes | 1d | 1000 `*` | 51 | Evensen/Raanes |
190
+ | DoublePendulum | No | Yes | No | 0d | 4 | 2 | Matplotlib/Raanes |
191
+ | Ikeda | No | Yes | No | 0d | 2 | 1 | Raanes |
192
+ | LotkaVolterra | No | Yes | No | 0d | 5 `*` | 1 | Wikipedia/Raanes |
193
+ | Lorenz63 | No | Yes | "Yes" | 0d | 3 | 2 | Sakov |
194
+ | Lorenz84 | No | Yes | No | 0d | 3 | 2 | Raanes |
195
+ | Lorenz96 | No | Yes | No | 1d | 40 `*` | 13 | Raanes |
196
+ | Lorenz96s | No | Yes | No | 1d | 10 `*` | 4 | Grudzien |
197
+ | LorenzUV | No | Yes | No | 2x 1d | 256 + 8 `*` | ≈60 | Raanes |
198
+ | LorenzIII | No | No | No | 1d | 960 `*` | ≈164 | Raanes |
199
+ | Vissio-Lucarini 20 | No | Yes | No | 1d | 36 `*` | 10 | Yumeng |
200
+ | Kuramoto-Sivashinsky | No | Yes | Yes | 1d | 128 `*` | 11 | Kassam/Raanes |
201
+ | Quasi-Geost (QG) | No | No | Yes | 2d | 129²≈17k | ≈140 | Sakov |
202
202
 
203
203
  - `*`: Flexible; set as necessary
204
204
  - `**`: Tangent Linear Model included?
@@ -247,42 +247,42 @@ Therefore, if you have an *operational* or real-world application,
247
247
  such as WRF, you should look into one of the alternatives,
248
248
  sorted by approximate project size.
249
249
 
250
- Name | Developers | Purpose (approximately)
251
- ------------------ | --------------------- | -----------------------------
252
- [DART][1] | NCAR | General
253
- [PDAF][7] | AWI | General
254
- [JEDI][21] | JCSDA (NOAA, NASA, ++)| General
255
- [OpenDA][3] | TU Delft | General
256
- [EMPIRE][4] | Reading (Met) | General
257
- [ERT][2] | Statoil | History matching (Petroleum DA)
258
- [PIPT][14] | CIPR | History matching (Petroleum DA)
259
- [MIKE][9] | DHI | Oceanographic
260
- [OAK][10] | Liège | Oceanographic
261
- [Siroco][11] | OMP | Oceanographic
262
- [Verdandi][6] | INRIA | Biophysical DA
263
- [PyOSSE][8] | Edinburgh, Reading | Earth-observation DA
250
+ | Name | Developers | Purpose (approximately) |
251
+ |--------------------|----------------------|-----------------------------------|
252
+ | [DART][1] | NCAR | General |
253
+ | [PDAF][7] | AWI | General |
254
+ | [JEDI][21] | JCSDA (NOAA, NASA, ++)| General |
255
+ | [OpenDA][3] | TU Delft | General |
256
+ | [EMPIRE][4] | Reading (Met) | General |
257
+ | [ERT][2] | Statoil | History matching (Petroleum DA) |
258
+ | [PIPT][14] | CIPR | History matching (Petroleum DA) |
259
+ | [MIKE][9] | DHI | Oceanographic |
260
+ | [OAK][10] | Liège | Oceanographic |
261
+ | [Siroco][11] | OMP | Oceanographic |
262
+ | [Verdandi][6] | INRIA | Biophysical DA |
263
+ | [PyOSSE][8] | Edinburgh, Reading | Earth-observation DA |
264
264
 
265
265
  Below is a list of projects with a purpose more similar to DAPPER's
266
266
  (research *in* DA, and not so much *using* DA):
267
267
 
268
- Name | Developers | Notes
269
- ------------------------------------ | ---------------------- | ---------------------------------
270
- [DAPPER][22] | Raanes, Chen, Grudzien | Python
271
- [SANGOMA][5] | Conglomerate* | Fortran, Matlab
272
- [hIPPYlib][25] | Villa, Petra, Ghattas | Python, adjoint-based PDE methods
273
- [FilterPy][12] | R. Labbe | Python. Engineering oriented.
274
- [DASoftware][13] | Yue Li, Stanford | Matlab. Large inverse probs.
275
- [Pomp][18] | U of Michigan | R
276
- [EnKF-Matlab][15] | Sakov | Matlab
277
- [EnKF-C][17] | Sakov | C. Light-weight, off-line DA
278
- [pyda][16] | Hickman | Python
279
- [PyDA][19] | Shady-Ahmed | Python
280
- [DasPy][20] | Xujun Han | Python
281
- [DataAssim.jl][23] | Alexander-Barth | Julia
282
- [DataAssimilationBenchmarks.jl][24] | Grudzien | Julia, Python
283
- [EnsembleKalmanProcesses.jl][26] | Clim. Modl. Alliance | Julia, EKI (optim)
284
- Datum | Raanes | Matlab
285
- IEnKS code | Bocquet | Python
268
+ | Name | Developers | Notes |
269
+ |--------------------------------------|---------------------------|------------------------------------|
270
+ | [DAPPER][22] | Raanes, Chen, Grudzien | Python |
271
+ | [SANGOMA][5] | Conglomerate* | Fortran, Matlab |
272
+ | [hIPPYlib][25] | Villa, Petra, Ghattas | Python, adjoint-based PDE methods |
273
+ | [FilterPy][12] | R. Labbe | Python. Engineering oriented. |
274
+ | [DASoftware][13] | Yue Li, Stanford | Matlab. Large inverse probs. |
275
+ | [Pomp][18] | U of Michigan | R |
276
+ | [EnKF-Matlab][15] | Sakov | Matlab |
277
+ | [EnKF-C][17] | Sakov | C. Light-weight, off-line DA |
278
+ | [pyda][16] | Hickman | Python |
279
+ | [PyDA][19] | Shady-Ahmed | Python |
280
+ | [DasPy][20] | Xujun Han | Python |
281
+ | [DataAssim.jl][23] | Alexander-Barth | Julia |
282
+ | [DataAssimilationBenchmarks.jl][24] | Grudzien | Julia, Python |
283
+ | [EnsembleKalmanProcesses.jl][26] | Clim. Modl. Alliance | Julia, EKI (optim) |
284
+ | Datum | Raanes | Matlab |
285
+ | IEnKS code | Bocquet | Python |
286
286
 
287
287
  The `EnKF-Matlab` and `IEnKS` codes have been inspirational
288
288
  in the development of DAPPER.
@@ -353,9 +353,9 @@ and the Center for Western Weather and Water Extremes (CW3E).
353
353
  <!-- markdownlint-disable line-length -->
354
354
  ![NORCE](https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/norce-logo.png)
355
355
  ![NERSC](https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/nansen-logo.png)
356
- <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/UoR-logo.png?raw=true" height="120" />
357
- <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/nceologo1000.png?raw=true" height="100">
358
- <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/CW3E-Logo-Horizontal-FullColor.png?raw=true" width="400">
356
+ <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/UoR-logo.png?raw=true" alt="University of Reading logo" height="120" />
357
+ <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/nceologo1000.png?raw=true" alt="NCEO logo" height="100">
358
+ <img src="https://github.com/nansencenter/DAPPER/raw/master/docs/images/logos/CW3E-Logo-Horizontal-FullColor.png?raw=true" alt="CW3E logo" width="400">
359
359
  <!-- markdownlint-restore -->
360
360
 
361
361
  ## Publications
@@ -4,7 +4,7 @@
4
4
  --8<-- "dapper/README.md"
5
5
  """
6
6
 
7
- __version__ = "1.7.1"
7
+ __version__ = "1.7.3"
8
8
 
9
9
  # A parsimonious list of imports used in the examples
10
10
  from .dpr_config import rc
@@ -1,9 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dapper
3
- Version: 1.7.1
3
+ Version: 1.7.3
4
4
  Summary: DAPPER benchmarks the performance of data assimilation (DA) methods.
5
5
  Author: Patrick N. Raanes
6
6
  Author-email: patrick.n.raanes@gmail.com
7
+ License: MIT
7
8
  Project-URL: Documentation, https://nansencenter.github.io/DAPPER/
8
9
  Project-URL: Source, https://github.com/nansencenter/DAPPER
9
10
  Project-URL: Tracker, https://github.com/nansencenter/DAPPER/issues
@@ -12,9 +13,8 @@ Classifier: Development Status :: 3 - Alpha
12
13
  Classifier: Intended Audience :: Science/Research
13
14
  Classifier: Topic :: Scientific/Engineering :: Mathematics
14
15
  Classifier: Programming Language :: Python :: 3
15
- Classifier: License :: OSI Approved :: MIT License
16
16
  Classifier: Operating System :: OS Independent
17
- Requires-Python: >=3.9
17
+ Requires-Python: >=3.12
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENCE.txt
20
20
  Requires-Dist: scipy>=1.14
@@ -23,8 +23,8 @@ Requires-Dist: matplotlib>=3.10
23
23
  Requires-Dist: pyyaml>=6.0.2
24
24
  Requires-Dist: ipython>=7.34
25
25
  Requires-Dist: ipdb
26
- Requires-Dist: jupyter
27
- Requires-Dist: notebook<7
26
+ Requires-Dist: setuptools
27
+ Requires-Dist: notebook<6.5
28
28
  Requires-Dist: mpl-tools==0.4.1
29
29
  Requires-Dist: tqdm~=4.67
30
30
  Requires-Dist: colorama~=0.4.1
@@ -95,6 +95,7 @@ Dynamic: classifier
95
95
  Dynamic: description
96
96
  Dynamic: description-content-type
97
97
  Dynamic: keywords
98
+ Dynamic: license
98
99
  Dynamic: license-file
99
100
  Dynamic: project-url
100
101
  Dynamic: provides-extra
@@ -4,8 +4,8 @@ matplotlib>=3.10
4
4
  pyyaml>=6.0.2
5
5
  ipython>=7.34
6
6
  ipdb
7
- jupyter
8
- notebook<7
7
+ setuptools
8
+ notebook<6.5
9
9
  mpl-tools==0.4.1
10
10
  tqdm~=4.67
11
11
  colorama~=0.4.1
@@ -31,8 +31,11 @@ INSTALL_REQUIRES = [
31
31
  "pyyaml>=6.0.2",
32
32
  "ipython>=7.34",
33
33
  "ipdb",
34
- "jupyter",
35
- "notebook<7", # only nbclassic supports nbAgg (liveplotting in Jupyter) backend
34
+ # Latest installs (Mac and Ubuntu) of notebook 6.5 fail
35
+ # (Could not open static file ''), so downgrade:
36
+ "setuptools",
37
+ "notebook<6.5", # Colab will still use 6.5
38
+ # "notebook<7", # only nbclassic supports nbAgg (liveplotting in Jupyter) backend
36
39
  "mpl-tools==0.4.1",
37
40
  "tqdm~=4.67",
38
41
  "colorama~=0.4.1",
@@ -113,12 +116,13 @@ setup(
113
116
  description=DOCLINES[0],
114
117
  long_description="\n".join(DOCLINES[2:]),
115
118
  long_description_content_type="text/markdown",
119
+ license="MIT",
116
120
  # >=3.5 for @.
117
121
  # >=3.6 for mpl>=3.1.
118
122
  # >=3.7 for dataclass, capture_output, dict ordering, np>=1.20.
119
123
  # ==3.7 for Colab
120
124
  # ==3.9 for the DAPPER/GCP cluster, since dill isn't compat. across versions.
121
- python_requires=">=3.9",
125
+ python_requires=">=3.12",
122
126
  install_requires=INSTALL_REQUIRES,
123
127
  extras_require=EXTRAS,
124
128
  packages=find_packages(),
@@ -133,7 +137,6 @@ setup(
133
137
  "Intended Audience :: Science/Research",
134
138
  "Topic :: Scientific/Engineering :: Mathematics",
135
139
  "Programming Language :: Python :: 3",
136
- "License :: OSI Approved :: MIT License",
137
140
  "Operating System :: OS Independent",
138
141
  ],
139
142
  keywords=(
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes