E3SM-Project / e3sm_diags

E3SM Diagnostics package
https://e3sm-project.github.io/e3sm_diags
BSD 3-Clause "New" or "Revised" License
38 stars 31 forks source link

aerosol budget table values are erroneously scaled by 1e6 #804

Closed mahf708 closed 4 months ago

mahf708 commented 4 months ago

What happened?

@yunpengshan2014 reported in an E3SM Diags run with a recent v3 simulation. There are spurious values present for burden and lifetime in aerosol budget table, example: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.yshan/E3SMv3integration/E3SMv3b02_MG2P3tests/run.20231110.v3b01-Gustiness-x6tP3v2.F20TR/lat_lon_demo/viewer/table/run.20231110.v3b01-Gustiness-x6tP3v2.F20TR.chrysalis-ANN-budget-table.html

Because in PR #763, an effort was made to present the burden quantities with better units by scaling them by 1e6 (see this), the aerosol budget table was reading such variables that have been already "derived" and edited (see this).

What did you expect to happen? Are there are possible answers you came across?

N/A

Minimal Complete Verifiable Example (MVCE)

N/A

Relevant log output

N/A

Anything else we need to know?

A fix is proposed in #805.

Environment

N/A (eyeballed it based on user reports and conversation with @chengzhuzhang)

mahf708 commented 4 months ago

As a hot fix, I would like to rename the derived variables to something else to see if that fixes it. I suppose it will. I am not sure how expected this is, but to me, it seems pretty unexpected, but I can understand how it came about now. I would hope processes (drivers, etc.) get access to raw (not derived) variables, but maybe that's unrealistic. Anyway, I can put a PR to fix this first thing tomorrow!

chengzhuzhang commented 4 months ago

@mahf708 thank you so much for a quick diagnosis! I just included the link to the table Yunpeng provided as a reference.

mahf708 commented 4 months ago

@yunpengshan2014 the values in the table you shared are correct, but they're scaled by 1e6 in error, so you could simply divide the following terms (and only the following terms) by 1e6 to get the right answer: Burden and Lifetime. Other terms are not affected. See an example below.

Secondary Organic Aerosol (buggy values) buggy test reference
Surface Emission (Tg/yr) 0.00 0
Elevated Emission (Tg/yr) 0.00 0
Sink (Tg/yr) 110.60 38
Dry Deposition (Tg/yr) 22.72 4 (2.4 - 11.6)
Wet Deposition (Tg/yr) 87.88 30 (15 - 105)
Burden (Tg) 2415345.16 0.8 (0.4 - 2.2)
Lifetime (Days) 7970967.38 7 (4 - 14.5)
Secondary Organic Aerosol (corrected values) corrected test reference
Surface Emission (Tg/yr) 0.00 0
Elevated Emission (Tg/yr) 0.00 0
Sink (Tg/yr) 110.60 38
Dry Deposition (Tg/yr) 22.72 4 (2.4 - 11.6)
Wet Deposition (Tg/yr) 87.88 30 (15 - 105)
Burden (Tg) 2.41 0.8 (0.4 - 2.2)
Lifetime (Days) 7.97 7 (4 - 14.5)
mahf708 commented 4 months ago

Thanks @chengzhuzhang for alerting me about this!