Difference between revisions of "POPs simulation"

From Geos-chem
Jump to: navigation, search
(References)
(Overview)
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
On this page we include information relevant to the persistent organic pollutant (POPs) simulation in GEOS-Chem.  
+
----
 +
<span style="color:red"><big><strong>The POPs simulation is currently stale in [[GEOS-Chem 13.0.0]] and later versions.  We look to the GEOS-Chem Community to help maintain this simulation.</strong></big></span>
 +
----
 +
 
 +
 
 +
__FORCETOC__
 +
'''''[[Metals simulation|Previous]] | [[Tagged CO simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''
 +
 
 +
#[[Simulations using KPP-built mechanisms|Simulations using KPP-built mechanisms (carbon, fullchem, Hg)]]
 +
#[[Aerosol-only simulation]]
 +
#[[CH4 simulation]]
 +
#[[CO2 simulation]]
 +
#[[Metals simulation]]
 +
#<span style="color:blue">'''POPs simulation'''</span>
 +
#[[Tagged CO simulation]]
 +
#[[Tagged O3 simulation]]
 +
#[[TransportTracers simulation]]
 +
 
  
 
== Overview ==
 
== Overview ==
 +
 +
On this page we include information relevant to the persistent organic pollutant (POPs) simulation in GEOS-Chem.
  
 
=== Authors and collaborators ===
 
=== Authors and collaborators ===
Line 10: Line 29:
 
=== PAH simulation ===
 
=== PAH simulation ===
  
'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-02_benchmark_history#v9-02c|v9-02c]] and approved on 29 Nov 2012.'''''
+
==== Overview ====
  
A simulation for polycyclic aromatic hydrocarbons (PAHs) has been added to [[GEOS-Chem v8-03-02]] following Friedman and Selin (2012). Three separate PAHs are modeled: phenanthrene (PHE), pyrene (PYR), and benzo[a]pyrene (BaP). Separate modules have been created for each of the PAHs. Users can choose between different compounds in the input file.
+
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-02_benchmark_history#v9-02c|v9-02c]] and approved on 29 Nov 2012.'''''</span>
  
--[[User:Melissa Payer|Melissa Payer]] 12:31, 21 September 2012 (EDT)
+
A simulation for polycyclic aromatic hydrocarbons (PAHs) has been added to [[GEOS-Chem v8-03-02]] following [http://pubs.acs.org/doi/abs/10.1021/es301904d Friedman and Selin (2012)]. Three separate PAHs are modeled: phenanthrene (PHE), pyrene (PYR), and benzo[a]pyrene (BaP). Separate modules have been created for each of the PAHs. Users can choose between different compounds in the input file.
  
=== PCB simulation ===
+
==== Updates to PAH code ====
  
Info to be added.
+
<span style="color:green">'''''These updates were included in the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01c|v11-01c]] and approved on 14 Sept 2015. Additional benchmarking of the POPs simulation is in progress.'''''</span>
 +
 
 +
The updated PAH model is described in [http://pubs.acs.org/doi/abs/10.1021/es403098w Friedman et al. (2014)].
  
 
== References ==
 
== References ==
  
 +
# Friedman, C. L and, N. E. Selin, ''Long-Range Atmospheric Transport of Polycyclic Aromatic Hydrocarbons: A Global 3-D Model Analysis Including Evaluation of Arctic Sources'', <u>Environ. Sci. Technol.</u>, 2012, '''46''' (17), 9501–9510, 2012. [http://pubs.acs.org/doi/abs/10.1021/es301904d Article]
 
#Friedman, C. L., Pierce, J. R., Selin, N. E., ''Assessing the influence of secondary organic versus primary carbonaceous aerosols on long-range atmospheric polycyclic aromatic hydrocarbon transport'', <u>Environ. Sci. Technol.</u>, '''48''' (6), 3293–3302, 2014. [http://pubs.acs.org/doi/abs/10.1021/es405219r Article]
 
#Friedman, C. L., Pierce, J. R., Selin, N. E., ''Assessing the influence of secondary organic versus primary carbonaceous aerosols on long-range atmospheric polycyclic aromatic hydrocarbon transport'', <u>Environ. Sci. Technol.</u>, '''48''' (6), 3293–3302, 2014. [http://pubs.acs.org/doi/abs/10.1021/es405219r Article]
 
#Friedman, C. L., Zhang, Y., Selin, N. E, ''Climate change and emissions impacts on atmospheric PAH transport to the Arctic'', <u>Environ. Sci. Technol.</u>, ''48'' (1), 429–437, 2014. [http://pubs.acs.org/doi/abs/10.1021/es403098w Article]
 
#Friedman, C. L., Zhang, Y., Selin, N. E, ''Climate change and emissions impacts on atmospheric PAH transport to the Arctic'', <u>Environ. Sci. Technol.</u>, ''48'' (1), 429–437, 2014. [http://pubs.acs.org/doi/abs/10.1021/es403098w Article]
# Friedman, C. L and, N. E. Selin, ''Long-Range Atmospheric Transport of Polycyclic Aromatic Hydrocarbons: A Global 3-D Model Analysis Including Evaluation of Arctic Sources'', <u>Environ. Sci. Technol.</u>, 2012, '''46''' (17), 9501–9510, 2012. [http://pubs.acs.org/doi/abs/10.1021/es301904d Article]
+
# Friedman, C. L. and N.E. Selin, ''PCBs in the Arctic atmosphere: determining important driving forces using a global atmospheric transport model'', <u>Atmos. Chem. Phys.</u>, '''16''', 3433-3448, doi:10.5194/acp-16-3433-2016, 2016. [http://www.atmos-chem-phys.net/16/3433/2016/ Article]
  
--[[User:Bmy|Bob Y.]] 14:27, 14 April 2014 (EDT)
+
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 14:34, 20 October 2016 (UTC)
  
== Previous issues that are now resolved ==
 
 
=== Prevent error when reading global OC ===
 
 
'''''NOTE: This issue was resolved in the [[GEOS-Chem v9-02]] public release (03 Mar 2014).'''''
 
 
In routine <tt>GET_GLOBAL_OC</tt> (in module <tt>GeosCore/global_oc_mod.F</tt>), we have:
 
 
      ! Data is only available for 2005-2009
 
      IF ( THISYEAR < 2005 ) THEN
 
        YEAR = 2005
 
      ELSE IF ( THIS YEAR > 2009 ) THEN
 
        YEAR = 2009
 
      ELSE
 
        YEAR = THISYEAR
 
      ENDIF
 
 
      ! Get the TAU0 value for the start of the given month
 
      XTAU = GET_TAU0( THISMONTH, 1, THISYEAR )
 
 
To avoid a segmentation fault error when <tt>THISYEAR</tt> is outside of 2005-2009, we must change <tt>XTAU</tt> to:
 
 
      ! Get the TAU0 value for the start of the given month
 
      XTAU = GET_TAU0( THISMONTH, 1, YEAR )
 
 
--[[User:Melissa Payer|Melissa Sulprizio]] 10:33, 24 February 2014 (EST)
 
 
=== Avoid div-by-zero errors in POPs simulation ===
 
 
'''''These updates were validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''
 
 
While testing the POPs simulation with the [[GEOS-Chem Unit Tester]], we encountered some division-by-zero errors.  The fixes are as follows:
 
 
(1) At about line 1661 of routine <tt>EMISSPOPS</tt> (in module file <tt>GeosCore/pops_mod.F</tt>), change this line of code:
 
 
          ! Check that sum thru PBL is equal to original emissions array
 
          SUM_OF_ALL(I,J) = POP_TOT_EM(I,J) / SUM_OF_ALL(I,J)
 
 
to this:
 
 
          ! Check that sum thru PBL is equal to original emissions array
 
          ! NOTE: Prevent div-by-zero floating point error (bmy, 4/14/14)
 
          IF ( SUM_OF_ALL(I,J) > 0d0 ) THEN
 
            SUM_OF_ALL(I,J) = POP_TOT_EM(I,J) / SUM_OF_ALL(I,J)
 
          ENDIF
 
 
This prevents us from dividing by SUM_OF_ALL(I,J) if it’s zero.  Otherwise some kind of junk value or NaN could possibly propagate thru the code.
 
 
 
(2) In routine <tt>CHEM_POPGP</tt> (in module GeosCore/pops_mod.F), make the following modifications:
 
 
      USE ERROR_MOD,          ONLY : SAFE_DIV  ! Add this w/ the other USE statements
 
 
      . . .
 
 
      REAL*8          :: DENOM                  ! Add this w/ the other variable declarations
 
 
      . . .
 
 
          ! Get AIRVOL
 
          AIR_VOL = State_Met%AIRVOL(I,J,L)
 
 
!-----------------------------------------------------------------------------
 
! Prior to 4/14/14:
 
! Need to put error traps to prevent div-by-zero (bmy, 4/14/14)
 
!        ! Define volume ratios:
 
!        ! VR_OC_AIR = volume ratio of OC to air [unitless]   
 
!        VR_OC_AIR  = C_OC_CHEM1 / AIR_VOL ! could be zero
 
!
 
!        ! VR_OC_BC  = volume ratio of OC to BC [unitless]
 
!        VR_OC_BC = C_OC_CHEM1 / C_BC_CHEM1 ! could be zero or undefined
 
!
 
!        ! VR_BC_AIR = volume ratio of BC to air [unitless]
 
!        VR_BC_AIR  = VR_OC_AIR / VR_OC_BC ! could be zero or undefined
 
!
 
!        ! VR_BC_OC  = volume ratio of BC to OC [unitless]
 
!        VR_BC_OC    = 1d0 / VR_OC_BC ! could be zero or undefined
 
!
 
!        ! Redefine fractions of total POPs in box (I,J,L) that are OC-phase,
 
!        ! BC-phase, and gas phase with new time step (should only change if
 
!        ! temp changes or OC/BC concentrations change)
 
!        OC_AIR_RATIO = 1d0 / (KOA_T * VR_OC_AIR)
 
!        OC_BC_RATIO = 1d0 / (KOC_BC_T * VR_OC_BC)
 
!
 
!        BC_AIR_RATIO = 1d0 / (KBC_T * VR_BC_AIR)
 
!        BC_OC_RATIO = 1d0 / (KBC_OC_T * VR_BC_OC)
 
!-----------------------------------------------------------------------------
 
 
          ! Define volume ratios:
 
          ! VR_OC_AIR = volume ratio of OC to air [unitless]   
 
          VR_OC_AIR    = C_OC_CHEM1 / AIR_VOL ! could be zero
 
 
          ! VR_OC_BC = volume ratio of OC to BC [unitless]
 
          VR_OC_BC      = SAFE_DIV( C_OC_CHEM1, C_BC_CHEM1, 0d0 )
 
 
          ! VR_BC_AIR = volume ratio of BC to air [unitless]
 
          VR_BC_AIR    = SAFE_DIV( VR_OC_AIR,  VR_OC_BC,  0d0 )
 
 
          ! VR_BC_OC = volume ratio of BC to OC [unitless]
 
          VR_BC_OC      = SAFE_DIV( 1d0,        VR_OC_BC,  0d0 )
 
 
          ! Redefine fractions of total POPs in box (I,J,L) that are OC-phase,
 
          ! BC-phase, and gas phase with new time step (should only change if
 
          ! temp changes or OC/BC concentrations change)
 
          DENOM        = KOA_T * VR_OC_AIR
 
          OC_AIR_RATIO  = SAFE_DIV( 1d0,        DENOM,      0d0 )
 
 
          DENOM        = KOC_BC_T * VR_OC_BC
 
          OC_BC_RATIO  = SAFE_DIV( 1d0,        DENOM,      0d0 )
 
 
          DENOM        = KBC_T * VR_BC_AIR
 
          BC_AIR_RATIO  = SAFE_DIV( 1d0,        DENOM,      0d0 )
 
 
          DENOM        = KBC_OC_T * VR_BC_OC
 
          BC_OC_RATIO  = SAFE_DIV( 1d0,        DENOM,      0d0 )
 
 
The function <tt>SAFE_DIV</tt> (in module file <tt>GeosUtil/error_mod.F</tt>) tests if the division can be done, and if not, it will assign an alternate value (in this case, 0d0).  Using <tt>SAFE_DIV</tt> prevents div-by-zero errors from happening in the computations for variables: <tt>VR_OC_AIR, VR_BC_AIR, VR_BC_OC, VR_OC_BC, OC_AIR_RATIO, OC_BC_RATIO, BC_AIR_RATIO, BC_OC_RATIO</tt>.
 
 
--[[User:Bmy|Bob Y.]] 17:02, 30 May 2014 (EDT)
 
 
== Unresolved issues ==
 
 
None at this time.
 
 
== References ==
 
  
#Friedman, C.L. and N.E. Selin. ''Long-range atmospheric transport of polycyclic aromatic hydrocarbons: A global 3-D model analysis including evaluation of Arctic sources'', <u>Environ. Sci. Technol.</u>, '''46''', 9501-9510, 2012.
+
----
 +
'''''[[Metals simulation|Previous]] | [[Tagged CO simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''

Latest revision as of 16:00, 21 May 2024


The POPs simulation is currently stale in GEOS-Chem 13.0.0 and later versions. We look to the GEOS-Chem Community to help maintain this simulation.



Previous | Next | Guide to GEOS-Chem simulations

  1. Simulations using KPP-built mechanisms (carbon, fullchem, Hg)
  2. Aerosol-only simulation
  3. CH4 simulation
  4. CO2 simulation
  5. Metals simulation
  6. POPs simulation
  7. Tagged CO simulation
  8. Tagged O3 simulation
  9. TransportTracers simulation


Overview

On this page we include information relevant to the persistent organic pollutant (POPs) simulation in GEOS-Chem.

Authors and collaborators

PAH simulation

Overview

This update was tested in the 1-month benchmark simulation v9-02c and approved on 29 Nov 2012.

A simulation for polycyclic aromatic hydrocarbons (PAHs) has been added to GEOS-Chem v8-03-02 following Friedman and Selin (2012). Three separate PAHs are modeled: phenanthrene (PHE), pyrene (PYR), and benzo[a]pyrene (BaP). Separate modules have been created for each of the PAHs. Users can choose between different compounds in the input file.

Updates to PAH code

These updates were included in the 1-month benchmark simulation v11-01c and approved on 14 Sept 2015. Additional benchmarking of the POPs simulation is in progress.

The updated PAH model is described in Friedman et al. (2014).

References

  1. Friedman, C. L and, N. E. Selin, Long-Range Atmospheric Transport of Polycyclic Aromatic Hydrocarbons: A Global 3-D Model Analysis Including Evaluation of Arctic Sources, Environ. Sci. Technol., 2012, 46 (17), 9501–9510, 2012. Article
  2. Friedman, C. L., Pierce, J. R., Selin, N. E., Assessing the influence of secondary organic versus primary carbonaceous aerosols on long-range atmospheric polycyclic aromatic hydrocarbon transport, Environ. Sci. Technol., 48 (6), 3293–3302, 2014. Article
  3. Friedman, C. L., Zhang, Y., Selin, N. E, Climate change and emissions impacts on atmospheric PAH transport to the Arctic, Environ. Sci. Technol., 48 (1), 429–437, 2014. Article
  4. Friedman, C. L. and N.E. Selin, PCBs in the Arctic atmosphere: determining important driving forces using a global atmospheric transport model, Atmos. Chem. Phys., 16, 3433-3448, doi:10.5194/acp-16-3433-2016, 2016. Article

--Melissa Sulprizio (talk) 14:34, 20 October 2016 (UTC)



Previous | Next | Guide to GEOS-Chem simulations