Skip to content

Commit eec450a

Browse files
Update documentation for v3.0.0 release (#925)
* Update mamba references to conda - Add `sphinx-copybutton` extension for markdown formatted as code - Add `docs-verisoned` command to `Makefile` * Remove old v1 quickguides * Remove acme1 references and warning about importing module * Update v2 references to v3 * Add info about v3 in current state * Update salloc command in examples * doc update * more doc changes * update README * fix markdown table format --------- Co-authored-by: Jill Chengzhu Zhang <[email protected]>
1 parent 1abe269 commit eec450a

29 files changed

+117
-2679
lines changed

Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ docs: ## generate Sphinx HTML documentation, including API docs
8888
$(MAKE) -C docs html
8989
$(BROWSER) docs/_build/html/index.html
9090

91+
docs-versioned: ## generate verisoned Sphinx HTML documentation, including API docs
92+
rm -rf docs/generated
93+
cd docs && sphinx-multiversion source _build/html
94+
$(MAKE) -C docs clean
95+
$(MAKE) -C docs html
96+
$(BROWSER) docs/_build/html/index.html
97+
9198
# Build
9299
# ----------------------
93100
install: clean ## install the package to the active Python's site-packages

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,22 @@ This diagnostics package is constructed for supporting the diagnostics task of D
4646

4747
E3SM Diags is modeled after the National Center for Atmospheric Research (NCAR) Atmosphere Model Working Group (AMWG) diagnostics package. In its version 1 release, E3SM Diags included a set of core essential diagnostics to evaluate the mean physical climate from model simulations. As of version 2, more process-oriented and phenomenon-based evaluation diagnostics have been implemented, as listed below:
4848

49+
### Major refactor with v3 development
50+
51+
v3.0.0 marks a major milestone after nearly two years of work by the core development
52+
team. This release introduces a completely new back-end, replacing CDAT with Xarray and
53+
xCDAT. Due to the significant scale of code changes, this has been incremented as a
54+
major release. The user-facing API for running E3SM Diagnostics remains backward-compatible between v2 and v3.
55+
56+
The modernization improves performance, usability, and maintainability, paving the way
57+
for future enhancements to E3SM development. The refactored codebase is now more robust
58+
and extensively covered by unit tests, setting a solid foundation for ongoing testing and development.
59+
4960
### New Feature added during v2 development
5061

5162
| Feature name <br />(set name) | Brief Introduction | Developers Contributors\* | Released version |
5263
| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
64+
| Added Qbo wavelet analysis (qbo) | The spectrum analysis in the QBO dataset was enhanced with an additional wavelet-based analysis | Justine richling , Walter Hannah, Jim Benedict | 2.12.1 |
5365
| Wavenumber frequency analysis (tropical_subseasonal) | The wavenumber frequency analysis (Wheeler-Kiladis Diagram) for Tropical subseasonal analysis | Jim Benedict, Brian Medeiros, Jill Zhang, Tom Vo | 2.12.0 |
5466
| T5050 diagnostic /Mixed phase partition (mp_partition) | Temperature at which cloud top is 50% ice, 50% liquid, following McCoy et al. (2015). | Yuying Zhang, Jill Zhang, Jiwen Fan, Yunpeng Shan | 2.9.0 |
5567
| ARM diagnostics v3 (arm_diags) | Enhanced ARM diagnostics with new aerosol-cloud-interaction and aerosol activation metrics | Xiaojian Zheng, Jill Zhang, Cheng Tao, Shaocheng Xie | 2.9.0 |

conda-env/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,4 @@ dependencies:
3636
- sphinx
3737
- sphinx_rtd_theme
3838
- sphinx-multiversion
39+
- sphinx-copybutton

conda-env/dev.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies:
3333
- sphinx
3434
- sphinx_rtd_theme
3535
- sphinx-multiversion
36+
- sphinx-copybutton
3637
# Quality Assurance Tools
3738
# =======================
3839
# Run `pre-commit autoupdate` to get the latest pinned versions of 'rev' in

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
extensions = [
3434
"sphinx_rtd_theme",
3535
"sphinx_multiversion",
36+
"sphinx_copybutton"
3637
]
3738

3839
# Add any paths that contain templates here, relative to this directory.
@@ -88,7 +89,6 @@
8889
#
8990

9091
html_theme = "sphinx_rtd_theme"
91-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
9292
html_sidebars = {
9393
"**": [
9494
"versions.html",

docs/source/examples.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Examples
55
Introduction
66
============
77

8-
The model and observation data are located at NERSC, so you can run the examples on Cori.
8+
The model and observation data are located at NERSC, so you can run the examples on Perlmutter CPU.
99

1010
Make sure you're using version 2.0.0 or greater of e3sm_diags.
1111

@@ -131,9 +131,9 @@ Use the code below to run the diagnostics.
131131
.. code::
132132
133133
# Allocate a node to run an interactive session on. You can also use a batch job.
134-
salloc --nodes=1 --partition=regular --time=01:00:00 -C haswell
135-
# Enter the E3SM Unified environment. For Cori, the command to do this is:
136-
source /global/common/software/e3sm/anaconda_envs/load_latest_e3sm_unified_cori-haswell.sh
134+
salloc --nodes 1 --qos interactive --time 01:00:00 --constraint cpu --account=e3sm
135+
# Enter the E3SM Unified environment. For Perlmutter CPU, the command to do this is:
136+
source /global/common/software/e3sm/anaconda_envs/load_latest_e3sm_unified_pm-cpu.sh
137137
# Running Ex.1. For examples 4,5,7 append ``-d diags.cfg``.
138138
python ex1.py --multiprocessing --num_workers=32
139139
# You may need to change permissions on your web directory to see the example output.
@@ -175,7 +175,7 @@ These were generated with the following script:
175175
# emacs ex6-model-vs-obs-custom/ex6.py
176176
# emacs ex7-obs-vs-obs/ex7.py
177177
178-
source /global/common/software/e3sm/anaconda_envs/load_latest_e3sm_unified_cori-haswell.sh
178+
source /global/common/software/e3sm/anaconda_envs/load_latest_e3sm_unified_pm-cpu.sh
179179
cd ex1-model_ts-vs-model_ts
180180
python ex1.py --multiprocessing --num_workers=32
181181
cd ../ex2-model_ts-vs-model_ts-cmip

docs/source/index.rst

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,13 @@
66
.. _index-label:
77

88
***************************
9-
E3SM Diagnostics Package v2
9+
E3SM Diagnostics Package v3
1010
***************************
1111
Welcome to the E3SM Diagnostics Package documentation hub.
1212

1313
To change the documentation version, use the version selector in the bottom left-hand corner.
1414
Please note, documentation for versions ``v2.5.0`` are not available in the version selector.
1515

16-
.. warning::
17-
As of ``v2.6.0``, ``e3sm_diags`` should be used as the module name instead of
18-
``acme_diags``. Instances of ``acme_diags`` in the Python import statements should
19-
be replaced accordingly.
20-
2116
.. toctree::
2217
:maxdepth: 2
2318
:caption: Contents:
@@ -53,14 +48,21 @@ that:
5348
- is flexible for user-specified diagnostics and configuration for
5449
use by other earth system models.
5550

56-
Current State (v2 release)
57-
--------------------------
51+
Current State
52+
-------------
5853

5954
Algorithm and visualization codes for **latitude-longitude contour maps**,
60-
**polar contour maps**, the accompanying **summarizing table** and **Taylor diagram plots**, **pressure-latitude zonal mean contour plots**,
61-
**zonal mean line plots**, **pressure-longitude meridional mean contour plots**, **area mean time series plots**, and **Cloud Top Height-Tau** joint histograms
62-
from COSP cloud simulator output. Plots can be created for annual
63-
and seasonal climatologies, and monthly mean time series. In additional to the core sets being released in v1, **ENSO diags**, **QBO diags**, **Diurnal cycle phase plot**, **Streamflow evaluation**, **ARM diags**, and **TC analysis** are implemented in v2 release.
55+
**polar contour maps**, the accompanying **summarizing table** and
56+
**Taylor diagram plots**, **pressure-latitude zonal mean contour plots**,
57+
**zonal mean line plots**, **pressure-longitude meridional mean contour plots**,
58+
**area mean time series plots**, and **Cloud Top Height-Tau** joint histograms from
59+
COSP cloud simulator output. Plots can be created for annual and seasonal climatologies,
60+
and monthly mean time series. In additional to the core sets being released in v1,
61+
**ENSO diags**, **QBO diags**, **Diurnal cycle phase plot**, **Streamflow evaluation**,
62+
**ARM diags**, and **TC analysis**, **Mixed Phase Partition**, and **Wheeler-Kiladis Diagram** are implemented in v2 release. v3 introduces a
63+
completely new back-end, replacing CDAT with Xarray and xCDAT. Due to the significant
64+
scale of code changes, this has been incremented as a major release. The user-facing
65+
API for running E3SM Diagnostics remains backward-compatible between v2 and v3.
6466

6567
The package also supports custom user diagnostics, by specifying
6668
plot type, desired region (global, ocean, land, etc.),
@@ -149,7 +151,7 @@ Additional back-ends could be implemented if the need arose.
149151
+--------------------------------------------------------+------------------------------------------------------+
150152

151153
The above plots and more can be found
152-
`here <https://portal.nersc.gov/cfs/e3sm/zhang40/tutorials/run_v230_allsets/viewer/>`_.
154+
`here <https://portal.nersc.gov/cfs/e3sm/chengzhu/tutorial2024/e3sm_diags_extended/viewer/>`_.
153155

154156
Feature availability for each backend
155157
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0 commit comments

Comments
 (0)