E3SM Diagnostics Package

Diagnostics package constructed for supporting the diagnostics task of DOE's Energy Exascale Earth System Model (E3SM) project.
https://github.com/E3SM-Project/e3sm_diags

Category: Climate Change
Sub Category: Earth and Climate Modeling

Keywords from Contributors

climate-model climate-science climate climate-analysis climate-data cdat e3sm vtk climate-model-evaluation climate-variability

Last synced: about 1 hour ago
JSON representation

Repository metadata

E3SM Diagnostics package

README.md

E3SM Diagnostics Package

Anaconda Version
Anaconda Downloads
DOI

CI/CD Build Workflow
CI/CD Release Workflow
pre-commit
Ruff
Checked with mypy

Table of Contents

  1. Documentation
  2. Overview
  3. Current State

Documentation

Overview

This diagnostics package is constructed for supporting the diagnostics task of DOE's Energy Exascale Earth System Model (E3SM) project. The goal of this work is to develop a comprehensive diagnostics package that:

  • fully integrates the functionality of NCAR's AMWG diagnostics package.
  • utilizes most updated observational datasets, including remote sensing, reanalysis and in-situ datasets.
  • interfaces with diagnostics developed from different E3SM science groups
  • is flexible for user specified diagnostics and being configured for use by other earth system models (i.e. in CMIP format).

Current State

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:

Major refactor with v3 development

v3.0.0 marks a major milestone after nearly two years of work by the core development
team. This release introduces a completely new back-end, replacing CDAT with Xarray and
xCDAT. Due to the significant scale of code changes, this has been incremented as a
major release. The user-facing API for running E3SM Diagnostics remains backward-compatible between v2 and v3.

The modernization improves performance, usability, and maintainability, paving the way
for future enhancements to E3SM development. The refactored codebase is now more robust
and extensively covered by unit tests, setting a solid foundation for ongoing testing and development.

New Feature added during v2 development

Feature name (set name) Brief Introduction Developers Contributors* Released version
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
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
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
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
Aerosol budget diagnostics (aerosol_budget) Global mean burdens, source/sink budgets and lifetimes for aerosol species. Jill Zhang, Susannah Burrows, Naser Mahfouz, Tom Vo, Kai Zhang, Taufiq Hassan Mozumder, Xue Zheng, Ziming Ke, Yan Feng, Manish Shrivastava, Hailong Wang, Mingxuan Wu 2.8.0
Aerosol evaluation with AERONET data (aerosol_aeronet) Scatter plots for comparing annual mean long-term Absorption Optical Depth (AOD) Aerosol Absorption Optical Depth (AAOD) at 550 nm from AERONET measurements. Jill Zhang, Yan Feng 2.7.0
CMIP6 comparison (with lat_lon) Box whisker plot to compare with key fields from CMIP6 models Chris Golaz, Jill Zhang 2.7.0
Zonal mean 2D over stratosphere (zonal_mean_2d_stratosphere) Pressure–latitude zonal-mean contour plots of seasonal mean Jill Zhang 2.6.0
TC Analysis (tc_analysis) Bar plots for TC frequency and accumulated cyclone energy distributed by ocean basin; line plots for TC intensity and seasonality for each ocean basin; maps for TC density and African easterly waves Karthik Balaguru, Jill Zhang, Paul Ullrich 2.5.0
Annual cycle zonal mean (annualcycle_zonalmean) Latitude zonal-mean–month box plot (including Stratospheric and Tropospheric column Ozone) Jill Zhang, Qi Tang 2.5.0
ARM diagnostics v2 (arm_diags) Seasonal mean, annual cycle, diurnal cycle and convection onset metrics over DOE's ARM ground-based facilities Jill Zhang, Tao Chen, Shaocheng Xie, Todd Emmenegger, David Neelin, Kathleen Schiro, Yi-Hung Kuo 2.4.0
Streamflow diags (streamflow) Seasonality map, annual-mean map/scatterplots based on gauge station data from GSIM Ryan Forsyth, Tian Zhou 2.3.0
Diurnal cycle (diurnal_cycle) Amplitude and phase map of the seasonal-mean diurnal cycle of precipitation compare with TRMM 3hourly data. Jill Zhang, Charlie Zender, Wuyin Lin, Shaocheng Xie 2.3.0
Quasi-biennial oscillation analysis (qbo) Quasi-biennial oscillation (QBO) analysis between 5S and 5N , including monthly mean zonal-mean zonal wind as a function of pressure and time and the power spectrum and amplitude Chris Terai, Jack Chen, Jadwiga (Yaga) Richter, Sasha Glanville, Chris Golaz 2.1.0
ENSO diagnostics (enso_diags) Maps of the regression coefficient of atmospheric fields over the SST anomaly, scatterplots of atmospheric feedback on the SST anomaly Ryan Forsyth, Salil Mahajan 2.1.0

*: The code infrastructure and maintenance are supported by the core developer group including: Jill Zhang, Chris Golaz, Tom Vo, Ryan Forsyth, Xylar Asay-Davis.

Core sets established in v1 development

Algorithm and visualization codes for lat-lon contour plots, polar contour plots, zonal mean 2d plots, zonal mean line plots, 2d joint histogram for COSP cloud simulator output, tables and Taylor Diagrams summarizing metrics for climatology seasonal means, are implemented as core sets of this diagnostics package. Example of a complete set of diagnostics can be found here, and as shown below.

The package features built-in user diagnostics, by specifying user desired diagnostics regions and pressure levels for variables with the vertical dimension.

In addition to default model versus observation comparison, the package also provide support for model versus model and obs versus obs comparisons.

Reference

Zhang, C., Golaz, J.-C., Forsyth, R., Vo, T., Xie, S., Shaheen, Z., Potter, G. L., Asay-Davis, X. S., Zender, C. S., Lin, W., Chen, C.-C., Terai, C. R., Mahajan, S., Zhou, T., Balaguru, K., Tang, Q., Tao, C., Zhang, Y., Emmenegger, T., Burrows, S., and Ullrich, P. A.: The E3SM Diagnostics Package (E3SM Diags v2.7): a Python-based diagnostics package for Earth system model evaluation, Geosci. Model Dev., 15, 9031–9056, https://doi.org/10.5194/gmd-15-9031-2022, 2022.

Acknowledgement

The work is performed for the E3SM project, which is sponsored by Earth System Model Development (ESMD) program. ESMD is a program area for the Earth and Environmental Systems Sciences Division (EESSD) in the Office of Biological and Environmental Research (BER) within the Department of Energy's Office of Science. Contributors' effort for this work are partially supported by the US DOE ARM program, RGMA program, EAGLES project, as well as by NSF.

License

Copyright (c) 2018-2023, Energy Exascale Earth System Model Project
All rights reserved

SPDX-License-Identifier: (BSD-3-Clause)

See LICENSE for details

Unlimited Open Source - BSD 3-clause Distribution
LLNL-CODE-819717


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 9 days ago

Total Commits: 1,442
Total Committers: 19
Avg Commits per committer: 75.895
Development Distribution Score (DDS): 0.557

Commits in past year: 92
Committers in past year: 6
Avg Commits per committer in past year: 15.333
Development Distribution Score (DDS) in past year: 0.337

Name Email Commits
zshaheen z****3@g****m 639
chengzhuzhang z****0@l****v 496
Tom Vo t****r@g****m 128
Ryan Forsyth f****2@l****v 51
Chris Golaz g****1@l****v 44
Zhang z****0@z****v 41
Xylar Asay-Davis x****m@g****m 14
Chengzhu Zhang z****0@a****v 10
Naser Mahfouz n****z@p****v 5
Althea Denlinger 6****n 2
Chengzhu Zhang z****9@c****v 2
Chengzhu Zhang z****0@a****v 2
Zeshawn Shaheen s****2@a****v 2
Andrew M. Bradley a****d 1
Charles Doutriaux d****1@l****v 1
Zeshawn Shaheen z****n@c****v 1
Shaheen s****2@s****v 1
Chengzhu Zhang c****u@e****v 1
justin-richling 5****g 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 530
Total pull requests: 450
Average time to close issues: 5 months
Average time to close pull requests: 14 days
Total issue authors: 25
Total pull request authors: 12
Average comments per issue: 2.72
Average comments per pull request: 2.87
Merged pull request: 411
Bot issues: 0
Bot pull requests: 0

Past year issues: 89
Past year pull requests: 88
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 13 days
Past year issue authors: 10
Past year pull request authors: 6
Past year average comments per issue: 1.87
Past year average comments per pull request: 4.0
Past year merged pull request: 74
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/E3SM-Project/e3sm_diags

Top Issue Authors

  • tomvothecoder (174)
  • chengzhuzhang (135)
  • zshaheen (89)
  • forsyth2 (35)
  • golaz (24)
  • xylar (19)
  • tangq (9)
  • kaabre (8)
  • mahf708 (6)
  • oksanaguba (5)
  • AaronDonahue (4)
  • wlin7 (4)
  • sterlingbaldwin (3)
  • chengdang (2)
  • itsanikesh (2)

Top Pull Request Authors

  • chengzhuzhang (162)
  • tomvothecoder (140)
  • forsyth2 (78)
  • zshaheen (37)
  • golaz (11)
  • xylar (8)
  • mahf708 (6)
  • doutriaux1 (2)
  • justin-richling (2)
  • altheaden (2)
  • Habte1345 (1)
  • ambrad (1)

Top Issue Labels

  • bug (104)
  • enhancement (81)
  • cdat-migration-fy24 (43)
  • documentation (35)
  • DevOps (33)
  • new feature (10)
  • testing (10)
  • possible enhancement (9)
  • nice to have (9)
  • Hard (8)
  • Easy (6)
  • Medium (5)
  • Trivial (3)
  • refactor (2)
  • update version (1)
  • duplicate (1)
  • question (1)

Top Pull Request Labels

  • documentation (48)
  • cdat-migration-fy24 (48)
  • DevOps (36)
  • bug (31)
  • enhancement (31)
  • update version (19)
  • testing (14)
  • new feature (2)
  • Hard (1)
  • refactor (1)
  • Easy (1)

Package metadata

proxy.golang.org: github.com/e3sm-project/e3sm_diags

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/e3sm-project/e3sm_diags#section-documentation
  • Licenses: bsd-3-clause
  • Latest release: v3.0.0+incompatible (published about 1 month ago)
  • Last Synced: 2025-04-30T14:39:10.380Z (1 day ago)
  • Versions: 36
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 1.622%
    • Average: 4.057%
    • Dependent packages count: 6.492%
proxy.golang.org: github.com/E3SM-Project/e3sm_diags

conda-forge.org: e3sm_diags

  • Homepage: https://github.com/E3SM-Project/e3sm_diags
  • Licenses: BSD-3-Clause
  • Latest release: 2.7.0 (published almost 3 years ago)
  • Last Synced: 2025-04-02T02:57:18.952Z (30 days ago)
  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Forks count: 32.623%
    • Dependent repos count: 34.025%
    • Average: 40.04%
    • Stargazers count: 42.336%
    • Dependent packages count: 51.175%

Dependencies

.github/workflows/build_workflow.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • ad-m/github-push-action master composite
  • conda-incubator/setup-miniconda v2 composite
  • fkirc/skip-duplicate-actions master composite
  • pre-commit/action v3.0.0 composite
.github/workflows/release_workflow.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • ad-m/github-push-action master composite
  • conda-incubator/setup-miniconda v2 composite
pyproject.toml pypi
setup.py pypi

Score: -Infinity