geoschem / HEMCO

The Harmonized Emissions Component (HEMCO), developed by the GEOS-Chem Support Team.
https://hemco.readthedocs.io
Other
17 stars 33 forks source link

[QUESTION] Emissions turned off by default in CH4 simulations? #112

Closed jahwilson closed 2 years ago

jahwilson commented 3 years ago

I am having a problem running CH4 speciality simulations. Although the simulations run, average CH4 concentrations drop by around 150 ppb every year. It appears that no CH4 is actually being emitted during the simulation.

HEMCO appears to open and read the emissions inventories correctly. For example, values of EmisCH4_Total in the HEMCO diagnostic files are non-zero. However, the section in run.log related to the subroutine EMISSCH4 shows that CH4_EMIS values are zero. Likewise, the CH4emission values are zero in the Metrics output files. As a consequence, when I run metrics.py, the CH4 total lifetimes return 'inf' values.

Before blaming a bug, I just want to check I have not made a mistake in my HEMCO_Diagn.rc input! Are CH4 emissions somehow disabled by default and I have not turned them on in my input files?

EmisCH4_Total in HEMCO diagnostics output

image

CH4emission in Metrics output

image

HEMCO_Diagn.rc

#------------------------------------------------------------------------------
#                  GEOS-Chem Global Chemical Transport Model                  !
#------------------------------------------------------------------------------
#BOP
#
# !MODULE: HEMCO_Diagn.rc 
#
# !DESCRIPTION: Configuration file for netCDF diagnostic output from HEMCO.
#\\
#\\
# !REMARKS:
#  Customized for the CH4 simulation.
#
# !REVISION HISTORY:
#  18 Oct 2018 - R. Yantosca - Added comment header and longname metadata.
#                              Also changed output unit to kg/m2/s.                    
#EOP
#------------------------------------------------------------------------------
#BOC
# Name               Spec ExtNr Cat Hier Dim  OutUnit  LongName
EmisCH4_Total        CH4   -1   -1   -1   2   kg/m2/s  CH4_emissions_from_all_sectors
EmisCH4_Oil          CH4    0    1   -1   2   kg/m2/s  CH4_emissions_from_oil
EmisCH4_Gas          CH4    0    2   -1   2   kg/m2/s  CH4_emissions_from_gas
EmisCH4_Coal         CH4    0    3   -1   2   kg/m2/s  CH4_emissions_from_coal
EmisCH4_Livestock    CH4    0    4   -1   2   kg/m2/s  CH4_emissions_from_livestock
EmisCH4_Landfills    CH4    0    5   -1   2   kg/m2/s  CH4_emissions_from_landfills
EmisCH4_Wastewater   CH4    0    6   -1   2   kg/m2/s  CH4_emissions_from_wastewater
EmisCH4_Rice         CH4    0    7   -1   2   kg/m2/s  CH4_emissions_from_rice
EmisCH4_OtherAnth    CH4    0    8   -1   2   kg/m2/s  CH4_emissions_from_other_anthropogenic_sources
EmisCH4_BiomassBurn  CH4    0    9   -1   2   kg/m2/s  CH4_emissions_from_biomass_burning
EmisCH4_Wetlands     CH4    0   10   -1   2   kg/m2/s  CH4_emissions_from_wetlands
EmisCH4_Seeps        CH4    0   11   -1   2   kg/m2/s  CH4_emissions_from_geological_seeps
EmisCH4_Lakes        CH4    0   12   -1   2   kg/m2/s  CH4_emissions_from_lakes
EmisCH4_Termites     CH4    0   13   -1   2   kg/m2/s  CH4_emissions_from_termites
EmisCH4_SoilAbsorb   CH4    0   14   -1   2   kg/m2/s  CH4_emissions_from_soil_absorption
#EOC

Your HEMCO version and runtime environment:

Input and log files to attach

Additional context

msulprizio commented 3 years ago

Hi @jahwilson. Thanks for reporting this issue. I have been able to reproduce it on my end and am looking into a fix.

jahwilson commented 3 years ago

Thanks @msulprizio!

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the Stale bot from closing this issue.

msulprizio commented 2 years ago

I am finally back to looking at this. I think the issue has to do with the manual diagnostics defined in hcoi_gc_diagn_mod.F90. According to HEMCO.log the diagnostics are defined but not ever updated and so the diagnostics remain zero.

Successfully added diagnostic CH4_OIL to collection    3
   ThisDiagn%AreaScal =    1.0000000000000000
   ThisDiagn%MassScal =    0.0000000000000000
Successfully added diagnostic CH4_GAS to collection    3
   ThisDiagn%AreaScal =    1.0000000000000000
   ThisDiagn%MassScal =    0.0000000000000000
...

Successfully updated diagnostics: EmisCH4_Total (counter:  1)
HEMCO WARNING: Diagnostics counter is zero - return empty array: CH4_OIL
--> LOCATION: DiagnCont_PrepareOutput (hco_diagn_mod.F90)
HEMCO WARNING: Diagnostics counter is zero - return empty array: CH4_GAS
--> LOCATION: DiagnCont_PrepareOutput (hco_diagn_mod.F90)
...

Both CH4 and Hg have similarly defined diagnostics in that module so I think this may also be causing the Hg diagnostic issues described in https://github.com/geoschem/geos-chem/issues/895 and https://github.com/geoschem/geos-chem/issues/1011.

msulprizio commented 2 years ago

I traced the issue to the following line in hco_calc_mod.F90:

https://github.com/geoschem/HEMCO/blob/42a6c1826a454adc2e6d28a8754fa50fb094beb2/src/Core/hco_calc_mod.F90#L409-L414

In commit https://github.com/geoschem/HEMCO/commit/057363277fc0820ee7d4828ccbd23c4308b9992b which contained updated for the GCHP adjoint, COL=-1 was changed to COL=HcoState%Diagn%HcoDiagnIDDefault. This commit was included in HEMCO 3.0.0 / GEOS-Chem 13.1.0. Reverting to COL=-1 appears to resolve the issue so the manual diagnostics are then updated. I can submit a pull request for this fix.

msulprizio commented 2 years ago

A fix has now been implemented via commit https://github.com/geoschem/HEMCO/pull/121/commits/a9357c297ad6d0752ceda4a81b7f2fed2c3d8150 (currently in the bugfix/ManualDiags branch), which will ideally go into HEMCO 3.3.1 / GEOS-Chem 13.3.3.

@jahwilson Please try adding this fix to your code and let us know if you have any issues.

msulprizio commented 2 years ago

@jahwilson I also noticed while investigating this issue that you have both JPL_WETCHARTS : true and CH4_WETLANDS : on. Please note that this will cause double counting of wetland emissions in your simulations. The CH4_WETLANDS option (i.e. the HEMCO CH4 wetlands extension) is quite old and may be considered obsolete. We at Harvard recommend using the JPL WetCharts emissions instead. The reference for those emissions is:

Bloom, A.A., K. Bowman, M. Lee, A.J. Turner, R. Schroeder, J.R. Worden, R.J. Weidner, K.C. McDonald, and D.J. Jacob. 2017. CMS: Global 0.5-deg Wetland Methane Emissions and Uncertainty (WetCHARTs v1.0). ORNL DAAC, Oak Ridge, Tennessee, USA. https://doi.org/10.3334/ORNLDAAC/1502.

jahwilson commented 2 years ago

Hi @msulprizio, that is excellent news - thanks so much for fixing this!

Also thanks for the heads up, I will be sure to turn off the CH4_WETLANDS option and use JPL_WETCHARTS instead.

yantosca commented 2 years ago

This should now be fixed in GEOS-Chem 13.3.3, which uses HEMCO 3.2.2.