Skip to content

Bugfixes in STAGE mercury bidirectional flux calculations#261

Open
tnskipper wants to merge 1 commit into
USEPA:5.5+from
tnskipper:bugfix/stage_hg_bidi
Open

Bugfixes in STAGE mercury bidirectional flux calculations#261
tnskipper wants to merge 1 commit into
USEPA:5.5+from
tnskipper:bugfix/stage_hg_bidi

Conversation

@tnskipper

Copy link
Copy Markdown
Contributor

Contact:
Nash Skipper, U.S. Environmental Protection Agency

Type of code change:
Bug fix

Description of changes:
CMAS Center Forum user yanzcj identified two bugs in the STAGE calculation of mercury bidirectional flux here:
https://forum.cmascenter.org/t/possible-issues-with-mercury-bidirectional-exchange-under-stage-in-cmaq-v5-5/6184

One issue is that the value of the variable flux_hgII in CCTM/src/depv/stage/STAGE_MOD.F does not multiply the deposition velocity by the concentration and is therefore not a flux in units ppm * m/s but is a deposition velocity in units of m/s.
Original code:

               flux_hgII = -Sum( Tile_Data%Lu_Vd( c,r,n_HgII,: ) * Tile_Data%LUFRAC( c,r,: ), mask = WATER)

Updated code:

               flux_hgII = -cgridl1(n_HGII) *
     &           Sum( Tile_Data%Lu_Vd( c,r,n_HgII,: ) * Tile_Data%LUFRAC( c,r,: ), mask = WATER )

The second issue is that exponents are left off of the following parameters in CCTM/src/depv/stage/HGSIM.F:

         REAL, PARAMETER :: satten = 7.58-1
         REAL, PARAMETER :: kphot = 6.5-4 ! drm photoreduction rate 1/s
         REAL, PARAMETER :: kox   = 7.2-4 ! dgm photo-oxidation rate 1/s

These should be:

         REAL, PARAMETER :: satten = 7.58-1
         REAL, PARAMETER :: kphot = 6.5-4 ! drm photoreduction rate 1/s
         REAL, PARAMETER :: kox   = 7.2-4 ! dgm photo-oxidation rate 1/s

Thank you to user yanzcj for pointing out these issues.

Issue:
No github issue, but the issue was originally raised on the CMAS Center Forum:
https://forum.cmascenter.org/t/possible-issues-with-mercury-bidirectional-exchange-under-stage-in-cmaq-v5-5/6184

Summary of Impact:
Mercury bidirectional flux is not activated by default, so most users will see no difference in results. For the case with mercury bidirectional flux activated, impacts are summarized below.

A one year simulation for the northern hemisphere for 2022 (with 1 month of spinup in December 2021) using the cb6r5m_ae7_aq chemical mechanism with mercury bidirectional flux activated (setenv CTM_HGBIDI Y in runscript) was conducted using the original and updated code to test the impacts of the change. Results below show the percent change ( (updated code - original code) / original code ) for the annual averages of HG and HGIIGAS concentrations in the average concentration output file (ACONC) for the surface layer. Also shown are the percent changes in annual average dry deposition values for HG and HGIIGAS and the annual average percent change in the HG_Emis diagnostic value from the dry deposition output file (DRYDEP). The differences in the annual averages are small.

ACONC results

image image

DRYDEP results

image image image

Tests conducted:
The updated code was run for a 1 day benchmark test using both standard and debug compiler flags for the following compilers:

  • intel23.2
  • gcc12.2
  • pgi24.7 (aka nvhpc24.7)

In addition to the benchmark tests, a one year simulation for the northern hemisphere for 2022 (with 1 month of spinup in December 2021) was conducted using the original and updated code to test the impacts of the change. See summary of impact section above for these results.

- add exponent to parameters
- multiply by concentration to make value actually a flux
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant