Difference between revisions of "Aerosol emissions"
(→Bug fix: Allocate the OCCONV array for marine POA simulations) |
(→Bug fix: Allocate the OCCONV array for marine POA simulations) |
||
Line 103: | Line 103: | ||
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 18:41, 13 October 2016 (UTC) | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 18:41, 13 October 2016 (UTC) | ||
+ | |||
+ | === Bug fix for MOPO and MOPI definitions in species database === | ||
+ | |||
+ | <span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02c|v11-012c]].'''''</span> | ||
+ | |||
+ | '''''Katie Travis wrote:''''' | ||
+ | |||
+ | :I believe I have come across a bug in the marine organic simulation. In v11, the marine organic aerosol species (MOPI/MOPO) are given their own tracers (I believe they were added into OCPI/OCPO in v9-2?). There is a note on the wiki that these species in the species database are set to gas, when they should be aerosol. But they should also wet deposit, and in fact the parameters for that are on the wiki table http://wiki.seas.harvard.edu/geos-chem/index.php/Species_in_GEOS-Chem. I ran this by one of the developers, Matt Johnson, and he also agrees this appears to be a bug. | ||
+ | |||
+ | '''''Matthew Johnson wrote:''''' | ||
+ | |||
+ | :Yes that is correct. Both marine organic tracers should be dry deposited. For wet deposition, MOPO should be treated the same as OCPO (washout only, if this is still how OCPO is treated in the new model) and MOPI is treated the same as OCPI. | ||
+ | |||
+ | To fix this issue, the following lines in <tt>Headers/species_database_mod.F90</tt> should be changed from: | ||
+ | |||
+ | CASE( 'MOPI' ) | ||
+ | |||
+ | ! Halve the Kc (cloud condensate -> precip) rate | ||
+ | ! for the temperature range 237 K <= T < 258 K. | ||
+ | KcScale = (/ 1.0_fp, 0.5_fp, 1.0_fp /) | ||
+ | |||
+ | ! Turn off rainout only when 237 K <= T < 258K. | ||
+ | RainEff = (/ 1.0_fp, 0.0_fp, 1.0_fp /) | ||
+ | |||
+ | CALL Spc_Create( am_I_Root = am_I_Root, & | ||
+ | ThisSpc = SpcData(N)%Info, & | ||
+ | ModelID = N, & | ||
+ | KppSpcId = KppSpcId(N), & | ||
+ | KppVarId = KppVarId(N), & | ||
+ | KppFixId = KppFixId(N), & | ||
+ | Name = NameAllCaps, & | ||
+ | FullName = 'Hydrophilic marine OC', & | ||
+ | Formula = '', & | ||
+ | MW_g = 12.01_fp, & | ||
+ | EmMW_g = 12.0_fp, & | ||
+ | MolecRatio = 1.0_fp, & | ||
+ | Is_Advected = Is_Advected, & | ||
+ | <span style="color:red">Is_Gas = T, & | ||
+ | Is_Drydep = F, & | ||
+ | Is_Wetdep = F, &</span> | ||
+ | DD_DvzAerSnow = 0.03_fp, & | ||
+ | DD_Hstar_old = 0.0_fp, & | ||
+ | WD_AerScavEff = 1.0_fp, & | ||
+ | WD_KcScaleFac = KcScale, & | ||
+ | WD_RainoutEff = RainEff, & | ||
+ | RC = RC ) | ||
+ | |||
+ | CASE( 'MOPO' ) | ||
+ | |||
+ | ! Turn off rainout because MOPO is hydrophobic | ||
+ | KcScale = (/ 1.0_fp, 1.0_fp, 1.0_fp /) | ||
+ | RainEff = (/ 0.0_fp, 0.0_fp, 0.0_fp /) | ||
+ | |||
+ | CALL Spc_Create( am_I_Root = am_I_Root, & | ||
+ | ThisSpc = SpcData(N)%Info, & | ||
+ | ModelID = N, & | ||
+ | KppSpcId = KppSpcId(N), & | ||
+ | KppVarId = KppVarId(N), & | ||
+ | KppFixId = KppFixId(N), & | ||
+ | Name = NameAllCaps, & | ||
+ | FullName = 'Hydrophobic marine OC', & | ||
+ | Formula = '', & | ||
+ | MW_g = 12.01_fp, & | ||
+ | EmMW_g = 12.0_fp, & | ||
+ | MolecRatio = 1.0_fp, & | ||
+ | Is_Advected = Is_Advected, & | ||
+ | <span style="color:red">Is_Gas = T, & | ||
+ | Is_Drydep = F, & | ||
+ | Is_Wetdep = F, &</span> | ||
+ | DD_DvzAerSnow = 0.03_fp, & | ||
+ | DD_Hstar_old = 0.0_fp, & | ||
+ | WD_AerScavEff = 0.0_fp, & | ||
+ | WD_RainOutEff = RainEff, & | ||
+ | RC = RC ) | ||
+ | to: | ||
+ | |||
+ | CASE( 'MOPI', 'MOPO' ) | ||
+ | |||
+ | ! MOPO is treated the same as OCPO and | ||
+ | ! MOPI is treated the same as OCPI (mj, krt, 8/23/17) | ||
+ | |||
+ | ! These have mostly identical properties | ||
+ | ! Turn off rainout for hydrophobic OC, for all temperatures. | ||
+ | SELECT CASE( NameAllCaps ) | ||
+ | |||
+ | CASE( 'MOPI' ) | ||
+ | FullName = 'Hydrophilic marine organic carbon aerosol' | ||
+ | |||
+ | ! Halve the Kc (cloud condensate -> precip) rate | ||
+ | ! for the temperature range 237 K <= T < 258 K. | ||
+ | KcScale = (/ 1.0_fp, 0.5_fp, 1.0_fp /) | ||
+ | |||
+ | ! Turn off rainout only when 237 K <= T < 258K. | ||
+ | RainEff = (/ 1.0_fp, 0.0_fp, 1.0_fp /) | ||
+ | |||
+ | CASE( 'MOPO' ) | ||
+ | Fullname = 'Hydrophobic marine organic carbon aerosol' | ||
+ | |||
+ | ! For all temperatures: | ||
+ | ! (1) Halve the Kc (cloud condensate -> precip) rate | ||
+ | ! (2) Turn off rainout (OCPO is hydrophobic) | ||
+ | KcScale = (/ 0.5_fp, 0.5_fp, 0.5_fp /) | ||
+ | RainEff = (/ 0.0_fp, 0.0_fp, 0.0_fp /) | ||
+ | |||
+ | END SELECT | ||
+ | |||
+ | CALL Spc_Create( am_I_Root = am_I_Root, & | ||
+ | ThisSpc = SpcData(N)%Info, & | ||
+ | ModelID = N, & | ||
+ | KppSpcId = KppSpcId(N), & | ||
+ | KppVarId = KppVarId(N), & | ||
+ | KppFixId = KppFixId(N), & | ||
+ | Name = NameAllCaps, & | ||
+ | FullName = FullName, & | ||
+ | Formula = '', & | ||
+ | MW_g = 12.01_fp, & | ||
+ | EmMW_g = 12.0_fp, & | ||
+ | Is_Advected = Is_Advected, & | ||
+ | <span style="color:green">Is_Gas = F, & | ||
+ | Is_Drydep = T, & | ||
+ | Is_Wetdep = T, &</span> | ||
+ | Density = 1300.0_fp, & | ||
+ | DD_DvzAerSnow = 0.03_fp, & | ||
+ | DD_F0 = 0.0_fp, & | ||
+ | DD_Hstar_Old = 0.0_fp, & | ||
+ | WD_AerScavEff = 1.0_fp, & | ||
+ | WD_KcScaleFac = KcScale, & | ||
+ | WD_RainoutEff = RainEff, & | ||
+ | RC = RC ) | ||
+ | |||
+ | --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:59, 23 August 2017 (UTC) |
Revision as of 15:59, 23 August 2017
This page contains links to the relevant pages which detail the aerosol emissions inventories used by GEOS-Chem.
NOTE: In GEOS-Chem v10-01 and higher versions, all emissions are handled by the HEMCO emissions component.
Contents
Anthropogenic, biofuel, and natural source emissions
The various sectors of aerosol emissions are now handled by the HEMCO emissions component in GEOS-Chem v10-01 and higher versions. For more information about individual inventories that are available, please visit the following links:
- Aerosol emissions available via HEMCO
- Anthropogenic and biofuel emissions available via HEMCO
- Aircraft and ship emissions available via HEMCO
--Bob Y. (talk) 20:19, 26 October 2015 (UTC)
Biomass burning emissions
The GFED4 inventory can be used to compute biomass burning emisisons for the following species:
- SO2
- NH3
- EC = elemental carbon (aka "black carbon")
- OC = organic carbon
for the years 1997 thru 2014.
The following inventories are now considered obsolete (but you may still use them for research purposes):
--Bob Y. (talk) 20:23, 26 October 2015 (UTC)
DMS emissions
In GEOS-Chem v10-01 and higher versions, the sea-air flux of DMS is now handled by the HEMCO seaflux extension.
From Park et al [2004]:
The oceanic emission of DMS is calculated calculated as the product of local seawater DMS concentration and sea-to-air transfer velocity. The seawater DMS concentrations are gridded monthly averages from Kettle et al. [1999], and the transfer velocity of DMS is computed using an empirical formula from Liss and Merlivat [1986] as a function of the surface (10 m) wind speed.
EC and OC emissions
The following emissions inventories for elemental carbon (EC) and organic carbon (OC) are used in GEOS-Chem.
- Bond et al [2007]: EC and OC emissions over North America
- Spracklen et al: Oceanic OC emissions (NOTE: to be included post GEOS-Chem v8-03-01)
Mineral dust emissions
The mineral dust emissions algorithm is described on a separate wiki page.
Sea salt emissions
Please see this discussion about recent updates to the sea salt aerosol emissions.
Ship emissions
Please see our ship emissions wiki page for a full description of the SO2 ship emission inventories that are available for use in GEOS-Chem.
Volcanic emissions
Please see our Volcanic SO2 emissions from Aerocom wiki page.
--Bob Y. 13:30, 19 March 2010 (EDT)
Online emission of marine primary organic aerosol (POA)
This update was validated with 1-month benchmark simulation v11-01b and 1-year benchmark simulation v11-01b-Run0. This version was approved on 19 Aug 2015.
Matthew Johnson wrote:
- The online emission parameterization for sub-micron marine primary organic aerosol (POA) was developed for implementation into GEOS-Chem at North Carolina State University (Gantt et al., 2012). The wind speed dependent size-resolved parameterization calculates the organic mass fraction of sea spray aerosol under varying levels of surface ocean chlorophyll-α concentrations ([Chl-α]). The parameterization was designed to be used for all global and regionally nested spatial resolutions and was tested in GEOS-Chem v9-02. The submicron marine POA emissions proved to improve the model-predicted concentrations of total organic aerosol concentrations over coastal and marine regions (Gantt et al., 2015).
References for this work include:
- Gantt, B., Johnson, M. S., Meskhidze, N., Sciare, J., Ovadnevaite, J., Ceburnis, D., and O'Dowd, C. D.: Model evaluation of marine primary organic aerosol emission schemes, Atmos. Chem. Phys., 12, 8553-8566, doi:10.5194/acp-12-8553-2012, 2012.
- Gantt, B., Johnson, M. S., Crippa, M., Prévôt, A. S. H., and Meskhidze, N.: Implementing marine organic aerosols into the GEOS-Chem model, Geosci. Model Dev., 8, 619-629, doi:10.5194/gmd-8-619-2015, 2015.
As part of this update, Matthew Johnson has provided MODIS-Aqua chlorophyll-A data. For more information about these data, please visit this post on our Leaf area indices in GEOS-Chem wiki page.
NOTE: A minor bug fix for this update was included in v11-01d to declare variable CHLR as OMP private in routine HCOX_SeaSalt_Run in file HEMCO/Extensions/hcox_seasalt_mod.F90.
--Lizzie Lundgren (talk) 15:21, 22 October 2015 (UTC)
Bug fix: Allocate the OCCONV array for marine POA simulations
This fix was included in v11-01j and approved on 03 Dec 2016
While unit testing GEOS-Chem with the GNU Fortran compiler, we discovered an error in the marine POA simulation. The array OCCONV
should have been allocated in routine INIT_SEASALT
(in module GeosCore/seasalt_mod.F) but wasn't. We have now added the following IF statement in GREEN, below the existing code:
IF ( AS /= 0 ) CALL ALLOC_ERR( 'DMID' )
DMID = 0e+0_fp
! Allocate OCCONV only for marine-POA simulations (bmy, 10/13/16)
IF ( Input_Opt%LMPOA ) THEN
ALLOCATE( OCCONV( IIPAR, JJPAR, LLPAR ), STAT=AS )
IF ( AS /= 0 ) CALL ALLOC_ERR( 'OCCONV' )
OCCONV = 0e+0_fp
ENDIF
This will only allocate OCCONV if we are doing a marine POA simulation.
--Bob Yantosca (talk) 18:41, 13 October 2016 (UTC)
Bug fix for MOPO and MOPI definitions in species database
This fix will be included in v11-012c.
Katie Travis wrote:
- I believe I have come across a bug in the marine organic simulation. In v11, the marine organic aerosol species (MOPI/MOPO) are given their own tracers (I believe they were added into OCPI/OCPO in v9-2?). There is a note on the wiki that these species in the species database are set to gas, when they should be aerosol. But they should also wet deposit, and in fact the parameters for that are on the wiki table http://wiki.seas.harvard.edu/geos-chem/index.php/Species_in_GEOS-Chem. I ran this by one of the developers, Matt Johnson, and he also agrees this appears to be a bug.
Matthew Johnson wrote:
- Yes that is correct. Both marine organic tracers should be dry deposited. For wet deposition, MOPO should be treated the same as OCPO (washout only, if this is still how OCPO is treated in the new model) and MOPI is treated the same as OCPI.
To fix this issue, the following lines in Headers/species_database_mod.F90 should be changed from:
CASE( 'MOPI' ) ! Halve the Kc (cloud condensate -> precip) rate ! for the temperature range 237 K <= T < 258 K. KcScale = (/ 1.0_fp, 0.5_fp, 1.0_fp /)
! Turn off rainout only when 237 K <= T < 258K. RainEff = (/ 1.0_fp, 0.0_fp, 1.0_fp /)
CALL Spc_Create( am_I_Root = am_I_Root, &
ThisSpc = SpcData(N)%Info, &
ModelID = N, &
KppSpcId = KppSpcId(N), &
KppVarId = KppVarId(N), &
KppFixId = KppFixId(N), &
Name = NameAllCaps, &
FullName = 'Hydrophilic marine OC', &
Formula = , &
MW_g = 12.01_fp, &
EmMW_g = 12.0_fp, &
MolecRatio = 1.0_fp, &
Is_Advected = Is_Advected, &
Is_Gas = T, &
Is_Drydep = F, &
Is_Wetdep = F, &
DD_DvzAerSnow = 0.03_fp, &
DD_Hstar_old = 0.0_fp, &
WD_AerScavEff = 1.0_fp, &
WD_KcScaleFac = KcScale, &
WD_RainoutEff = RainEff, &
RC = RC )
CASE( 'MOPO' )
! Turn off rainout because MOPO is hydrophobic KcScale = (/ 1.0_fp, 1.0_fp, 1.0_fp /) RainEff = (/ 0.0_fp, 0.0_fp, 0.0_fp /)
CALL Spc_Create( am_I_Root = am_I_Root, &
ThisSpc = SpcData(N)%Info, &
ModelID = N, &
KppSpcId = KppSpcId(N), &
KppVarId = KppVarId(N), &
KppFixId = KppFixId(N), &
Name = NameAllCaps, &
FullName = 'Hydrophobic marine OC', &
Formula = , &
MW_g = 12.01_fp, &
EmMW_g = 12.0_fp, &
MolecRatio = 1.0_fp, &
Is_Advected = Is_Advected, &
Is_Gas = T, &
Is_Drydep = F, &
Is_Wetdep = F, &
DD_DvzAerSnow = 0.03_fp, &
DD_Hstar_old = 0.0_fp, &
WD_AerScavEff = 0.0_fp, &
WD_RainOutEff = RainEff, &
RC = RC )
to:
CASE( 'MOPI', 'MOPO' ) ! MOPO is treated the same as OCPO and ! MOPI is treated the same as OCPI (mj, krt, 8/23/17)
! These have mostly identical properties ! Turn off rainout for hydrophobic OC, for all temperatures. SELECT CASE( NameAllCaps )
CASE( 'MOPI' ) FullName = 'Hydrophilic marine organic carbon aerosol'
! Halve the Kc (cloud condensate -> precip) rate ! for the temperature range 237 K <= T < 258 K. KcScale = (/ 1.0_fp, 0.5_fp, 1.0_fp /)
! Turn off rainout only when 237 K <= T < 258K. RainEff = (/ 1.0_fp, 0.0_fp, 1.0_fp /)
CASE( 'MOPO' ) Fullname = 'Hydrophobic marine organic carbon aerosol'
! For all temperatures: ! (1) Halve the Kc (cloud condensate -> precip) rate ! (2) Turn off rainout (OCPO is hydrophobic) KcScale = (/ 0.5_fp, 0.5_fp, 0.5_fp /) RainEff = (/ 0.0_fp, 0.0_fp, 0.0_fp /)
END SELECT
CALL Spc_Create( am_I_Root = am_I_Root, &
ThisSpc = SpcData(N)%Info, &
ModelID = N, &
KppSpcId = KppSpcId(N), &
KppVarId = KppVarId(N), &
KppFixId = KppFixId(N), &
Name = NameAllCaps, &
FullName = FullName, &
Formula = , &
MW_g = 12.01_fp, &
EmMW_g = 12.0_fp, &
Is_Advected = Is_Advected, &
Is_Gas = F, &
Is_Drydep = T, &
Is_Wetdep = T, &
Density = 1300.0_fp, &
DD_DvzAerSnow = 0.03_fp, &
DD_F0 = 0.0_fp, &
DD_Hstar_Old = 0.0_fp, &
WD_AerScavEff = 1.0_fp, &
WD_KcScaleFac = KcScale, &
WD_RainoutEff = RainEff, &
RC = RC )
--Melissa Sulprizio (talk) 15:59, 23 August 2017 (UTC)