Skip to content

Commit

Permalink
Move call to CO2_Production back to emissions_mod.F90
Browse files Browse the repository at this point in the history
The call to routine CO2_Production (formerly Emiss_Carbon_Gases) has been
moved back to emissions_mod.F90 to reproduce the CO2 simulation.

We may want to consider moving the call to this routine back to chemistry
(i.e. in Chem_Carbon_Gases) since the routine applies the production of
CO2 from CO and therefore represents a chemical source, not emissions.
I will follow up with the Carbon Gases Working Group for guidance.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
  • Loading branch information
msulprizio committed Oct 16, 2024
1 parent e72e245 commit 7043157
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
18 changes: 1 addition & 17 deletions GeosCore/carbon_gases_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ MODULE Carbon_Gases_Mod
!
! !PUBLIC MEMBER FUNCTIONS:
!
PUBLIC :: CO2_Production
PUBLIC :: Chem_Carbon_Gases
PUBLIC :: Init_Carbon_Gases
PUBLIC :: Cleanup_Carbon_Gases
Expand Down Expand Up @@ -641,23 +642,6 @@ SUBROUTINE Chem_Carbon_Gases( Input_Opt, State_Met, State_Chm, &
RETURN
ENDIF

ELSE

! If CO2 is the only advected species, skip KPP and apply production
! from CO oxidation read in by HEMCO
IF ( id_CO2_adv > 0 ) THEN

CALL CO2_Production( Input_Opt, State_Chm, State_Diag, &
State_Grid, State_Met, RC )

! Trap potential errors
IF ( RC /= GC_SUCCESS ) THEN
ErrMsg = 'Error encountered in "CO2_production"!'
CALL GC_Error( errMsg, RC, thisLoc )
RETURN
ENDIF
ENDIF

ENDIF

! Free pointers for safety's sake
Expand Down
16 changes: 16 additions & 0 deletions GeosCore/emissions_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ SUBROUTINE Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, &
! !USES:
!
USE CARBON_MOD, ONLY : EmissCarbon
USE Carbon_Gases_Mod, ONLY : CO2_Production
USE CO2_MOD, ONLY : EmissCO2
USE ErrCode_Mod
USE HCO_Interface_GC_Mod, ONLY : HCOI_GC_Run
Expand Down Expand Up @@ -259,6 +260,21 @@ SUBROUTINE Emissions_Run( Input_Opt, State_Chm, State_Diag, State_Grid, &
ENDIF
ENDIF

! Carbon simulation (e.g. CO2-CO-CH4-OCS via KPP)
!
! Computes CO2 production from CO oxidation
IF ( Input_Opt%ITS_A_CARBON_SIM ) THEN
CALL CO2_Production( Input_Opt, State_Chm, State_Diag, &
State_Grid, State_Met, RC )

! Trap potential errors
IF ( RC /= GC_SUCCESS ) THEN
ErrMsg = 'Error encountered in "Emiss_Carbon_Gases"!'
CALL GC_Error( ErrMsg, RC, ThisLoc )
RETURN
ENDIF
ENDIF

! For mercury, use old emissions code for now
IF ( Input_Opt%ITS_A_MERCURY_SIM ) THEN
CALL EmissMercury( Input_Opt, State_Chm, State_Diag, &
Expand Down

0 comments on commit 7043157

Please sign in to comment.