Skip to content

Commit 8147125

Browse files
committed
Merge PR #398 (Generate AOD plots for DSTbin1..7 species)
This merge brings PR # (Generate AOD plots for DSTbin1..7 species, by @yantosca) into the GCPy 1.7.0 development stream. PR #398 does the following: 1. Restore column AOD plots for DSTbin1 .. DSTbin7 species, which had been previously excluded. 2. Prevents double counting of AODDust and the individual column AODs for DSTbin1..DSTbin7 species. 3. Updates the benchmark/modules/aod_species.yml file with metadata for DSTbin1..DSTbin7 species. Also added cosmetic changes (comments and indentation) for better readability. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
2 parents 6713c53 + 03ce63e commit 8147125

File tree

3 files changed

+33
-18
lines changed

3 files changed

+33
-18
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
4848
- Updated routine `make_benchmark_aerosol_tables` to include all dust species in the aerosol burdens table
4949
- Optimized function `get_diff_of_diffs` (in `gcpy/util.py`) for performance
5050
- Optimized function `add_lumped_species_to_dataset` (in `gcpy/benchmark/modules/benchmark_utils.py`) for performance
51-
- Optimized the algorithm to generate `varlist` in `make_benchmark_conc_plots`. Also truncated datasets to only contain varibales in `varlist`.
51+
- Optimized the algorithm to generate `varlist` in `make_benchmark_conc_plots`. Also truncated datasets to only contain variables in `varlist`.
52+
- Updated `make_benchmark_aod_plots` to include column AOD plots for DSTbin1..DSTbin7 species
53+
- Updated `benchmark/modules/aod_species.py` with metadata for DSTbin1..DSTbin7 species
5254

5355
### Fixed
5456
- Fixed grid area calculation scripts of `grid_area` in `gcpy/gcpy/cstools.py`
Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
AODDust: Column_AOD_Dust
2-
AODHyg550nm_BCPI: Column_AOD_BCPI
3-
AODHyg550nm_OCPI: Column_AOD_OCPI
4-
AODHyg550nm_SALA: Column_AOD_SALA
5-
AODHyg550nm_SALC: Column_AOD_SALC
6-
AODHyg550nm_SO4: Column_AOD_SO4
7-
AODPolarStratCloud550nm: Column_AOD_Polar_Strat_Cloud
8-
AODSOAfromAqIsoprene550nm: Column_AOD_SOA_from_Aqueous_ISOP
9-
AODStratLiquidAer550nm: Column_AOD_Strat_Liquid_Aerosol
10-
AODTotal: Column_AOD_Total
1+
#
2+
# Diagnostic field Top-of-page title for column AOD plots
3+
#
4+
AODDust: "Column AOD Dust, Total"
5+
AODDust550nm_bin1: "Column AOD DSTbin1"
6+
AODDust550nm_bin2: "Column AOD DSTbin2"
7+
AODDust550nm_bin3: "Column AOD DSTbin3"
8+
AODDust550nm_bin4: "Column AOD DSTbin4"
9+
AODDust550nm_bin5: "Column AOD DSTbin5"
10+
AODDust550nm_bin6: "Column AOD DSTbin6"
11+
AODDust550nm_bin7: "Column AOD DSTbin7"
12+
AODHyg550nm_BCPI: "Column AOD BCPI"
13+
AODHyg550nm_OCPI: "Column AOD OCPI"
14+
AODHyg550nm_SALA: "Column AOD SALA"
15+
AODHyg550nm_SALC: "Column AOD SALC"
16+
AODHyg550nm_SO4: "Column AOD SO4"
17+
AODPolarStratCloud550nm: "Column AOD Polar Strat Cloud"
18+
AODSOAfromAqIsoprene550nm: "Column AOD SOA from Aqueous ISOP"
19+
AODStratLiquidAer550nm: "Column AOD Strat Liquid Aerosol"
20+
AODTotal: "Column AOD Total"

gcpy/benchmark/modules/benchmark_funcs.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3360,7 +3360,7 @@ def make_benchmark_aod_plots(
33603360
if varlist is None:
33613361
vardict = compare_varnames(refds, devds, quiet=not verbose)
33623362
cmn3D = vardict["commonvars3D"]
3363-
varlist = [v for v in cmn3D if "AOD" in v and "_bin" not in v]
3363+
varlist = [v for v in cmn3D if "AOD" in v]
33643364

33653365
# Dictionary and list for new display names
33663366
newvars = read_config_file(
@@ -3405,13 +3405,16 @@ def make_benchmark_aod_plots(
34053405
devattrs = devtot.attrs
34063406

34073407
# Compute the sum of all AOD variables
3408-
# Avoid double-counting SOA from aqueous isoprene, which is
3409-
# already accounted for in AODHyg550nm_OCPI. Also see
3410-
# Github issue: https://github.com/geoschem/gcpy/issues/65
3408+
# Avoid double-counting the following:
3409+
# (1) Individual dust AODs, use the column AOD total instead
3410+
# (2) SOA from aqueous isoprene, which is already accounted
3411+
# for in AODHyg550nm_OCPI. Also see Github issue:
3412+
# https://github.com/geoschem/gcpy/issues/65
34113413
for v in varlist:
3412-
if "AODSOAfromAqIsoprene550nm" not in v:
3413-
reftot = reftot + refds[v]
3414-
devtot = devtot + devds[v]
3414+
if "_bin" in v or "AODSOAfromAqIsoprene550nm" in v:
3415+
continue
3416+
reftot = reftot + refds[v]
3417+
devtot = devtot + devds[v]
34153418

34163419
# Reattach the variable attributes
34173420
reftot.name = "AODTotal"

0 commit comments

Comments
 (0)