Skip to content

Commit

Permalink
Fix bug in implementation of LUO_WETDEP option
Browse files Browse the repository at this point in the history
Following the benchmarking of GEOS-Chem 13.2.0 with the Luo et al. (2020)
wet deposition scheme, Gan Luo noticed a bug in the code. He wrote:

   Simulated sulfate mass concentration looks lower than what I expected.

   I checked https://github.com/geoschem/geos-chem/blob/13.2.0-beta.0/GeosCore/sulfate_mod.F90
   It seems that we missed some switches for Non-volatile aerosol
   concentration calculation:

   (1) At line 5142 D = (2.e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA), it should be:

       #ifdef LUO_WETDEP
          D = (1.5e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA)
       #else
          D = (2.e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA)
       #endif

   (2) At line 5156 D = (2.e+0_fp * SO4nss) - TNA), it should be:

       #ifdef LUO_WETDEP
          D = (1.5e+0_fp * SO4nss) - TNA
       #else
          D = (2.e+0_fp * SO4nss) - TNA
       #endif

   Switching from 2.e+0_fp * SO4nss to 1.5e+0_fp * SO4nss is following the
   reasons introduced in Luo et al. (2020).

Signed-off-by: Melissa Sulprizio <[email protected]>
  • Loading branch information
msulprizio committed Aug 19, 2021
1 parent 9b92b79 commit 3d82b3a
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions GeosCore/sulfate_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -5139,7 +5139,11 @@ SUBROUTINE GET_HPLUS( SO4nss, TNH3, TNO3, SO2, CL, TNA, TDCA, TFA, &
! then all Ca is dissolved else [Ca2+] varies with [H+]
IF ( fCa .ge. TDCA ) THEN
! Non-volatile aerosol concentration [M]
#ifdef LUO_WETDEP
D = (1.5e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA)
#else
D = (2.e+0_fp*SO4nss) - (TNA+2.e+0_fp*TDCA)
#endif

! Define f(x)
f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * &
Expand All @@ -5153,7 +5157,11 @@ SUBROUTINE GET_HPLUS( SO4nss, TNH3, TNO3, SO2, CL, TNA, TDCA, TFA, &

ELSE
! Non-volatile aerosol concentration [M]
#ifdef LUO_WETDEP
D = (1.5e+0_fp * SO4nss) - TNA
#else
D = (2.e+0_fp * SO4nss) - TNA
#endif

! Define f(x)
f = D - nHPLUS + Kw/nHPLUS + fHCO3 + 2.e+0_fp * fCO3 + &
Expand Down

0 comments on commit 3d82b3a

Please sign in to comment.