Skip to content

Commit

Permalink
Now emit surface emissions consistently as a 3-D flux term.
Browse files Browse the repository at this point in the history
This is for consistency with recent updates to HEMCO within CAM-chem where emission fluxes are applied as a 3-D flux, even for surface emissions.

Signed-off-by: Haipeng Lin <[email protected]>
  • Loading branch information
jimmielin committed Mar 8, 2023
1 parent 1cb1223 commit 1dc7019
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions src/chemistry/geoschem/geoschem_emissions_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ SUBROUTINE GC_Emissions_Calc( state, hco_pbuf2d, State_Met, cam_in, eflx, iStep
!
! !REVISION HISTORY:
! 07 Oct 2020 - T. M. Fritz - Initial version
! 06 Mar 2023 - H.P. Lin - Now emit surface fluxes directly
!EOP
!------------------------------------------------------------------------------
!BOC
Expand Down Expand Up @@ -429,10 +430,10 @@ SUBROUTINE GC_Emissions_Calc( state, hco_pbuf2d, State_Met, cam_in, eflx, iStep
! Deposition fluxes from HEMCO
!-----------------------------------------------------------------------

! Part 1: Eventually retrieve deposition velocities [1/s] from HEMCO
! and convert to negative flux and apply.
! TODO hplin 3/24/21

! Deposition velocities in HEMCO are now handled within HEMCO_CESM for a
! hardcoded list of species, primarily for the SeaFlux extension.
! This is not to be confused with dry deposition fluxes which are not
! handled by HEMCO.

! Part 2: Handle special deposition fluxes for the ParaNOx extension
! for PAR_O3_DEP and PAR_HNO3_DEP
Expand Down Expand Up @@ -601,11 +602,14 @@ SUBROUTINE GC_Emissions_Calc( state, hco_pbuf2d, State_Met, cam_in, eflx, iStep
! TMMF - vertical distribution of fire emissions is not implemented yet
!CALL fire_emissions_vrt( nY, LCHNK, zint, cam_in%fireflx, cam_in%fireztop, extfrc )

!-----------------------------------------------------------------------
! Add near-surface emissions to surface flux boundary condition
!-----------------------------------------------------------------------
cam_in%cflx(1:nY,:) = cam_in%cflx(1:nY,:) + eflx(1:nY,nZ,:)
eflx(1:nY,nZ,:) = 0.0e+00_r8
! Near-surface emissions are now emitted directly to GEOS-Chem Species array
! for consistency with CAM-chem implementation of HEMCO
! (but not with GEOS-Chem standalone, where fluxes are mixed by the turbulence routines)
! Refer to discussion here: https://github.com/ESCOMP/CAM/pull/560#discussion_r1084559191
!
! To replicate old behavior, uncomment these two lines below:
! cam_in%cflx(1:nY,:) = cam_in%cflx(1:nY,:) + eflx(1:nY,nZ,:)
! eflx(1:nY,nZ,:) = 0.0e+00_r8

END SUBROUTINE GC_Emissions_Calc
!EOC
Expand Down

0 comments on commit 1dc7019

Please sign in to comment.