https://wiki.seas.harvard.edu/geos-chem/api.php?action=feedcontributions&user=Sebastian+D.+Eastham&feedformat=atomGeos-chem - User contributions [en]2024-03-29T13:06:18ZUser contributionsMediaWiki 1.24.2https://wiki.seas.harvard.edu/geos-chem/index.php?title=GEOS-Chem_benchmarking&diff=47266GEOS-Chem benchmarking2020-05-26T18:26:24Z<p>Sebastian D. Eastham: /* 1-year benchmark */</p>
<hr />
<div>== Overview ==<br />
<br />
The GEOS-Chem benchmarking procedure is described below.<br />
<br />
#Any update to the GEOS-Chem source code or run directories will change the [[GEOS-Chem_version_numbering_system#Numeric_versioning_system|GEOS-Chem version number ('''X.Y.Z''')]].<br />
#All '''Y''' versions require a dedicated [[#1-month benchmark|1-month benchmark]] with the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|standard full-chemistry mechanism]]. The benchmark results will be posted on the wiki and an email will be sent to the developer(s) and the [http://acmg.seas.harvard.edu/geos/geos_steering_cmte.html GEOS-Chem Steering Committee].<br />
#The developer(s) will assess the benchmark results and review a benchmark assessment form on the wiki. If the developer has any concerns about the benchmark results they will contact the [[GCST|GEOS-Chem Support Team]], the relevant [http://acmg.seas.harvard.edu/geos/geos_working_groups.html GEOS-Chem Working Group Chairs], and/or [http://acmg.seas.harvard.edu/people/faculty/djj/index.html Model Scientist Daniel Jacob]. GEOS-Chem Steering Committee members are also encouraged to examine and comment on the benchmark results.<br />
#If the update is for a [[GEOS-Chem_chemistry_mechanisms#Specialty_simulations|specialty simulation]] (e.g. CO2, CH4, Hg), then a further benchmark may be conducted by the appropriate Working Group.<br />
#Once the developer is satisfied with the changes in the 1-month benchmark, GEOS-Chem Model Scientist Daniel Jacob will review the results and approve the new internal version.<br />
#[[#1-year benchmark|1-year benchmarks]] for '''Y''' versions will be conducted only if justifiably requested by the developer or by GEOS-Chem Steering Committee members.<br />
#Each new major version release (i.e. '''X''' version) will be subject to a 1-year benchmark to be inspected by the GEOS-Chem Steering Committee before approval.<br />
<br />
== List of GEOS-Chem benchmarks ==<br />
<br />
Links to information about past 1-month and 1-year benchmark simulations can be found on the [[GEOS-Chem_Benchmarks|''GEOS-Chem Benchmarks'']] wiki page. For information about 1-year benchmark simulations for GEOS-Chem v8-02-04 and earlier, see [http://acmg.seas.harvard.edu/geos/geos_1yr_plots.html this website].<br />
<br />
== Benchmark output archive ==<br />
<br />
Output files and evaluation plots for 1-month and 1-year benchmark simulations are archived at Harvard as summarized below. GEOS-Chem users may utilize these output for comparisons against their own simulations.<br />
<br />
{| border=1 cellpadding=5 cellspacing=0<br />
|-bgcolor="#CCCCCC" <br />
!width="450px"|Directory <br />
!width="550px"|Description <br />
<br />
|-valign="top" <br />
|<tt>http://ftp.as.harvard.edu/gcgrid/geos-chem/1mo_benchmarks/</tt> <br />
|Contains the following data from the [[GEOS-Chem_benchmarking#1-month_benchmark|1-month benchmarks]] used to evaluate GEOS-Chem:<br />
*Restart files<br />
*Model output<br />
*Log files<br />
*Input files<br />
*Evaluation plots<br />
<br />
|-valign="top" <br />
|<tt>http://ftp.as.harvard.edu/gcgrid/geos-chem/1yr_benchmarks/</tt> <br />
|Contains the following data from the [[GEOS-Chem_benchmarking#1-year_benchmark|1-year benchmarks]] used to evaluate GEOS-Chem:<br />
*Restart files<br />
*Model output<br />
*Log files<br />
*Input files<br />
*Evaluation plots<br />
|}<br />
<br />
== 1-month benchmark ==<br />
<br />
=== Overview ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Dates of run:<br />
|<br />
*July 1, 2013 &ndash; August 1, 2013 (prior to [[GEOS-Chem v11-02#v11-02e|v11-02e]])<br />
*July 1, 2016 &ndash; August 1, 2016 ([[GEOS-Chem v11-02#v11-02e|v11-02e]] and later versions)<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_vertical_grids|Vertical Resolution]]:<br />
|[[GEOS-FP]] with [[GEOS-Chem_vertical_grids#72-layer_vertical_grid|72 hybrid sigma-pressure levels]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_horizontal_grids|Horizontal Resolution]]:<br />
|[[GEOS-Chem_horizontal_grids#GMAO_4_x_5_grid|4&deg; latitude x 5&deg; longitude]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[Species_in_GEOS-Chem#Full-chemistry|Advected species]]:<br />
|<u>Gas-phase species:</u> NO, O3, PAN, CO, ALK4, ISOP, HNO3, H2O2, ACET, MEK, ALD2, RCHO, MVK, MACR, PMN (isoprene and non-isoprene), PPN, R4N2, PRPE, C3H8, CH2O, C2H6, N2O5, HNO4, MP, MPN, ISOPND, ISOPNB, MOBA, PROPNN, HAC, GLYC, MVKN, MACRN, MAP, NO2, NO3, HNO2, BENZ, TOLU, XYLE, MTPA, LIMO, MTPO, TSOG0-3, ISOG1-3, ASOG1-3, EOH, MGLY, GLYX, ACTA, HPALD, DHDN, ETHLN, HCOOH, IEPOXA, IEPOXB, IEPOXD, ISN1, RIPA, RIPB, RIPD, IMAE, LVOC, ISN1OG, MONITS, MONITU, HONIT, HC187<br />
<br />
<u>Aerosol species:</u> DMS, SO2, SO4, MSA, NH3, NH4, NIT, BCPO, OCPI, BCPI, OCPI, DST1-4, SALA, SALC, SO4s, NITs, TSOA0-3, ISOA1-3, ASOAN, ASOA1-3, SOAIE, SOAME, SOAGX, SOAMG, LVOCOA, ISN1OA, IONITA, MONITA, INDIOL<br />
<br />
<u>Bromine species:</u> Br2, Br, BrO, HOBr, HBr, BrNO2 BrNO3, CHBr3, CH2Br2, CH3Br<br />
<br />
<u>Stratospherically-important species:</u> N2O, OCS, CH4, BrCl, HCl, CCl4, CH3Cl, CH3CCl3, CFCX, HCFCX, CFC11, CFC12, HCFC22, H1211, H2402, Cl, ClO, HOCl, ClNO3, ClNO2, ClOO, OClO, Cl2, Cl202, H2O<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_chemistry_mechanisms|Chemical Mechanism]]:<br />
|[[FlexChem]] chemical solver<br> using the standard chemistry mechanism ([[NOx-Ox-HC-Aer-Br_chemistry_mechanism|NOx-Ox-HC-Aer-Br]] + [[UCX_chemistry_mechanism|UCX]] + [[Secondary_organic_aerosols#Complex_SOA_scheme|complex SOA]])<br>Chemistry is done in both the troposphere and the stratosphere.<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[FAST-JX_v7.0_photolysis_mechanism|Photolysis Mechanism]]:<br />
|[[FAST-JX_v7.0_photolysis_mechanism|FAST-JX v7.0]] (Prather, 2012, Wild et al, 2000).<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Operations:<br />
|<br />
*[[Advection scheme TPCORE|Advection]]<br />
*[[ISORROPIA II|Aerosol thermodynamical equilibriium]]<br />
*[[Boundary layer mixing]]<br />
*[[Chemistry Issues|Chemistry]]<br />
*[[Cloud convection]] (with updraft scavenging)<br />
*[[Dry deposition]]<br />
*[[Emissions overview|Emissions]]<br />
*[[Photolysis_mechanism|Photolysis]]<br />
*[[Wet deposition]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[List_of_diagnostics_for_v11-01|Diagnostic Output]]:<br />
|The following diagnostic outputs are archived as monthly means<br />
*Sulfate production and loss quantities<br />
*Dust aerosol sources<br />
*Carbon aerosol sources<br />
*Sea salt aerosol sources<br />
*Acetone sources<br />
*Sulfur sources<br />
*Optical Depths<br />
*Noontime J-values<br />
*Biomass burning emission fluxes<br />
*CO sources<br />
*Surface Pressure<br />
*NOx sources<br />
*Biofuel emission fluxes<br />
*Anthropogenic emission fluxes<br />
*Scavenging loss from moist convection<br />
*Scavenging loss from wet deposition<br />
*Concentrations of chemically produced OH and HO2<br />
*Dry deposition fluxes and velocities<br />
*Tracer concentrations<br />
*Biogenic emission fluxes<br />
*Tropopause height<br />
*DAO 3-D met fields<br />
*DAO 2-D met fields<br />
*Air masses and grid box heights<br />
*Surface area<br />
*Lifetime of Methylchloroform (CH3CCl3)<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Benchmark Plots and Summaries:<br />
|The following plots, budgets, and totals are created from the oxidant-aerosol simulation:<br />
*Budget of Ox and CO<br />
*Mean OH concentration<br />
*Methyl Chloroform Lifetime (w/r/t loss by tropospheric OH)<br />
*Aerosol optical depth maps (this benchmark)<br />
*Aerosol optical depth differences (this benchmark - previous benchmark)<br />
*Concentration maps (this benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Difference maps (this benchmark - previous benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Summary of emission totals (this benchmark vs. previous benchmark)<br />
*Emissions maps (this benchmark) for all emitting tracers<br />
*Emissions difference maps (this benchmark - previous benchmark) for all emitting tracers<br />
*Emissions ratio maps (this benchmark / previous benchmark) for all emitting tracers<br />
*Frequency distribution histogram of ratios (this benchmark vs previous benchmark) for tracers, OH, and optical depths<br />
*J-value maps (this benchmark)<br />
*J-value difference maps (this benchmark - previous benchmark)<br />
*J-value ratio maps (this benchmark / previous benchmark)<br />
*Ratio maps (this benchmark / previous benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Zonal mean concentration maps (this benchmark) of tracers + OH + HO2<br />
*Zonal mean difference maps (this benchmark - previous benchmark) of tracers + OH + HO2<br />
<br />
|}<br />
<br />
=== Plotting routines ===<br />
<br />
The 1-month benchmark plotting routines are included with [https://github.com/geoschem/gcpy GCPy], a Python took kit available for GEOS-Chem.<br />
<br />
== 1-year benchmark ==<br />
<br />
=== Overview ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Spin-up: <br />
|<br />
*January 1, 2013 &ndash; January 1, 2014 (prior to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
*January 1, 2015 &ndash; January 1, 2016 (since [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Dates of Run:<br />
|<br />
*January 1, 2013 &ndash; January 1, 2014 (prior to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
*January 1, 2016 &ndash; January 1, 2017 (since [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_vertical_grids|Vertical Resolution]]:<br />
|[[GEOS-FP]] with [[GEOS-Chem_vertical_grids#72-layer_vertical_grid|72 hybrid sigma-pressure levels]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_horizontal_grids|Horizontal Resolution]]:<br />
|[[GEOS-Chem_horizontal_grids#GMAO_4_x_5_grid|4&deg; latitude x 5&deg; longitude]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[Species_in_GEOS-Chem#Full-chemistry|Advected species]]:<br />
|<u>Gas-phase species:</u> NO, O3, PAN, CO, ALK4, ISOP, HNO3, H2O2, ACET, MEK, ALD2, RCHO, MVK, MACR, PMN (isoprene and non-isoprene), PPN, R4N2, PRPE, C3H8, CH2O, C2H6, N2O5, HNO4, MP, MPN, ISOPND, ISOPNB, MOBA, PROPNN, HAC, GLYC, MVKN, MACRN, MAP, NO2, NO3, HNO2, BENZ, TOLU, XYLE, MTPA, LIMO, MTPO, TSOG0-3, ISOG1-3, ASOG1-3, EOH, MGLY, GLYX, ACTA, HPALD, DHDN, ETHLN, HCOOH, IEPOXA, IEPOXB, IEPOXD, ISN1, RIPA, RIPB, RIPD, IMAE, LVOC, ISN1OG, MONITS, MONITU, HONIT, HC187<br />
<br />
<u>Aerosol species:</u> DMS, SO2, SO4, MSA, NH3, NH4, NIT, BCPO, OCPI, BCPI, OCPI, DST1-4, SALA, SALC, SO4s, NITs, TSOA0-3, ISOA1-3, ASOAN, ASOA1-3, SOAIE, SOAME, SOAGX, SOAMG, LVOCOA, ISN1OA, IONITA, MONITA, INDIOL<br />
<br />
<u>Bromine species:</u> Br2, Br, BrO, HOBr, HBr, BrNO2 BrNO3, CHBr3, CH2Br2, CH3Br<br />
<br />
<u>Stratospherically-important species:</u> N2O, OCS, CH4, BrCl, HCl, CCl4, CH3Cl, CH3CCl3, CFCX, HCFCX, CFC11, CFC12, HCFC22, H1211, H2402, Cl, ClO, HOCl, ClNO3, ClNO2, ClOO, OClO, Cl2, Cl202, H2O<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_chemistry_mechanisms|Chemical Mechanism]]:<br />
|[[FlexChem]] chemical solver<br> using the standard chemistry mechanism ([[NOx-Ox-HC-Aer-Br_chemistry_mechanism|NOx-Ox-HC-Aer-Br]] + [[UCX_chemistry_mechanism|UCX]] + [[Secondary_organic_aerosols#Complex_SOA_scheme|complex SOA]])<br>Chemistry is done in both the troposphere and the stratosphere.<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[FAST-JX_v7.0_photolysis_mechanism|Photolysis Mechanism]]:<br />
|[[FAST-JX_v7.0_photolysis_mechanism|FAST-JX v7.0]] (Prather, 2012, Wild et al, 2000).<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Operations:<br />
|<br />
*[[Advection scheme TPCORE|Advection]]<br />
*[[ISORROPIA II|Aerosol thermodynamical equilibriium]]<br />
*[[Boundary layer mixing]]<br />
*[[Chemistry Issues|Chemistry]]<br />
*[[Cloud convection]] (with updraft scavenging)<br />
*[[Dry deposition]]<br />
*[[Emissions overview|Emissions]]<br />
*[[Photolysis_mechanism|Photolysis]]<br />
*[[Wet deposition]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[List_of_diagnostics_for_v11-01|Diagnostic Output]]:<br />
|All diagnostics above are saved as monthly means.<br />
*Sulfate production and loss quantities<br />
*Dust aerosol sources<br />
*Carbon aerosol sources<br />
*Sea salt aerosol sources<br />
*Acetone sources<br />
*Sulfur sources<br />
*Optical Depths<br />
*Noontime J-values<br />
*Transport fluxes (N/S, E/W, up/down)<br />
*Biomass burning emission fluxes<br />
*CO sources<br />
*Surface Pressure<br />
*NOx sources<br />
*Biofuel emission fluxes<br />
*Anthropogenic emission fluxes<br />
*Scavenging loss from moist convection<br />
*Scavenging loss from wet deposition<br />
*Concentrations of chemically produced OH and HO2<br />
*Dry deposition fluxes and velocities<br />
*Tracer concentrations<br />
*Biogenic emission fluxes<br />
*Tropopause height<br />
*DAO 3-D met fields<br />
*DAO 2-D met fields<br />
*Air masses and grid box heights<br />
*Surface area<br />
*Lifetime of Methylchloroform (CH3CCl3)<br />
*Satellite timeseries of BrO, cloud fraction, and cloud top height<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Benchmark Plots: <br />
|The following plots compare advected species from 3 different benchmark simulations (versions 1-3, where version 3 is the current benchmark version). Plots are created for January, April, July, and October.<br />
*Aerosol optical depth maps (version 1, version 2, and version 3)<br />
*Emission maps (version 1, version 2, and version 3)<br />
*Emisison difference maps (version 3 - version 1, version 3 - version 2)<br />
*Emission ratio maps (version 3 / version 1, version 3 / version 2)<br />
*J-value maps (version 1, version 2, and version 3)<br />
*J-value difference maps (version 3 - version 1, version 3 - version 2)<br />
*J-value ratio maps (version 3 / version 1, version 3 / version 2)<br />
*Tracer difference maps at the surface and 500 hPa (version 3 - version 1, version 3 - version 2)<br />
*Tracer ratio maps at the surface and 500 hPa (version 3 / version 1, version 3 / version 2)<br />
*Tracer difference profiles along longitude slices (15S, 42N) (version 3 - version 1, version 3 - version 2)<br />
<br />
The following plots show data from 3 benchmark simulations side-by-side with observations. GEOS-Chem output is plotted in red for version 1, in green for version 2, and in blue for version 3 (current benchmark version)<br />
*BrO seasonal columns vs. observations<br />
*C2H6 vertical profiles vs. observations from various aircraft campaigns<br />
*C3H8 vertical profiles vs. observations from various aircraft campaigns<br />
*CO seasonal cycle at the surface vs. MOZAIC observations<br />
*CO vertical profiles vs. MOZAIC observations<br />
*CO vertical profiles vs. various sonde observations<br />
*H2O2 vertical profiles vs. observations from various aircraft campaigns<br />
*IMPROVE difference maps (benchmark simulation output vs. surface sites)<br />
*IMPROVE scatter plots (benchmark simulation output vs. surface sites)<br />
*HNO3 vertical profiles vs. observations from various aircraft campaigns<br />
*NO vertical profiles vs. observations from various aircraft campaigns<br />
*O3 seasonal cycle @ the surface vs. MOZAIC observations<br />
*O3 seasonal cycle @ 300, 500, and 800 hPa vs. MOZAIC observations<br />
*O3 seasonal cycle @ 300, 500, and 800 hPa vs. sonde observations<br />
*O3 seasonal cycle @ 150, 300, 500,and 800 hPa vs. sonde observations<br />
*O3 vertical profiles vs. observations from various aircraft campaigns<br />
*O3 vertical profiles vs. observations from various aircraft campaigns<br />
*O3 vertical profiles vs. various sonde observations<br />
*O3 vertical profiles vs. MOZAIC observations<br />
*PAN vertical profiles vs. observations from various aircraft campaigns<br />
*PM2.5 difference maps (benchmark simulation output vs. surface sites)<br />
*PM2.5 scatter plots (benchmark simulation output vs. surface sites)<br />
<br />
|}<br />
<br />
=== Plotting routines ===<br />
<br />
''<span style="color:darkorange">NOTE: The 1-month benchmark plotting routines are currently written in IDL. We are planning on moving these routines to Python for the [[GEOS-Chem v11-02]] release as part of the [[Python_code_for_GEOS-Chem#GCPy|GCPy package]].</span>''<br />
<br />
The 1-year benchmark plotting routines can be downloaded from Bitbucket via Git using:<br />
<br />
git clone https://bitbucket.org/gcst/gc_1yr_benchmark<br />
<br />
The data files needed for the plots are included in the repository and are discussed in more detail [[#Observations|below]].<br />
<br />
=== Observations ===<br />
<br />
Here we provide an overview of the data used in the 1-year benchmark plots.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|-valign="top" bgcolor="#cccccc"<br />
!Directory<br />
!Data year<br />
!Species<br />
!Data source<br />
!Provided by<br />
<br />
|-valign="top"<br />
|<tt>BrO/</tt><br />
|2007-2008<br />
|BrO<br />
|[https://www.eumetsat.int/website/home/Satellites/CurrentSatellites/Metop/MetopDesign/GOME2/index.html GOME-2]<br />
|Justin Parrella<br>(Data used to reproduce Figure 5 of [http://acmg.seas.harvard.edu/publications/2012/parrella2012.pdf Parrella et al. (2012)])<br />
<br />
|-valign="top"<br />
|<tt>cmdl/</tt><br />
|2005, 2009<br>[[#Update 2005/2009 CMDL CO data to 2013/2014 GMD CO data|New data available]]<br />
|CO<br />
|[https://www.esrl.noaa.gov/gmd/ GMD] (formerly CMDL)<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>co.prof.for.gmi/</tt><br />
|2001-2008<br>(varies by station)<br />
|CO<br />
|[http://iagos.sedoo.fr/ MOZAIC]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>eval/aircraft/</tt><br>''NOTE: Other directories in <tt>eval/</tt> aren't currently used''<br />
|1995-2003<br>(varies by aircraft campaign)<br />
|C2H6, C3H8, CO, H2O2, HNO3, NO, O3, PAN<br><br />
''(Not currently used: ACET, ALK4, C2H2, CH2Br2, CH2BrCl, CH3Br, CH3OH, CH4, CHBr2Cl, CHBrCl2, CO2, ETHE, PRPE)''<br />
|See [https://bitbucket.org/gcst/gc_1yr_benchmark/src/6495a17e5c0004f8290d09f141d585c30ce480ef/IDL/data/eval/aircraft/data/README.aircraft.data?at=master&fileviewer=file-view-default README]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>netCDF/</tt><br />
|N/A<br />
|C2H6, C3H8, CH3I, CO, H2O2, HNO3, NO, O3, OH, PAN, Rn<br />
|Various<br>(contains information about station locations)<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>PAN/</tt><br />
|Varies<br />
|PAN<br />
|ARCTAS-A, ARCTAS-B, ARCPAC, INTEX-B, ITCT-2K2<br />
|Emily Fischer<br>(Data used to reproduce Figure S1 of [https://www.atmos-chem-phys.net/14/2679/2014/acp-14-2679-2014-supplement.pdf Fischer et al. (2014) Supplement])<br />
<br />
|-valign="top"<br />
|<tt>pm25_data/</tt><br />
|2005<br />
|[[Particulate_matter_in_GEOS-Chem|PM2.5]]<br />
|[http://vista.cira.colostate.edu/improve/ IMPROVE]<br />
|Colette Heald<br />
<br />
|-valign="top"<br />
|<tt>sondes.for.gmi/</tt><br />
|1990-2008<br>(varies by station)<br />
|O3<br />
|<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>strat/</tt><br />
|2001-2010<br />
|NOy, O3<br />
|[http://www.asc-csa.gc.ca/eng/satellites/odin.asp OSIRIS]<br />
|Dylan Jones<br />
<br />
|-valign="top"<br />
|<tt>surface_ozone/</tt><br />
|<br />
|O3<br />
|[https://www.esrl.noaa.gov/gmd/ CMDL]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|}<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 14:26, 16 August 2017 (UTC)<br />
<br />
==== Update 2005/2009 CMDL CO data to 2013/2014 GMD CO data ====<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
'''''Jenny Fisher wrote:'''''<br />
<br />
:Attached is a zip file containing routines to process the GMD (previously CMDL) CO data for use in the benchmarking scripts, as well as the 2013 and 2014 data. I added the 2014 data because there was no ships data for 2013 (or 2012), so this seemed like the best approximation.<br />
<br />
:To replace the existing benchmark data with these, you will want to do the following in the 1-year benchmark code:<br />
<br />
:#Put the <tt>2013data/</tt> and <tt>2014data/</tt> in the <tt>data/cmdl/</tt> directory of the 1-year benchmark code<br />
:#Change <span style="color:red"><tt>newdata/</tt></span> to <span style="color:green"><tt>2013data/</tt></span> in plot_cmdl_3_models_4_months.pro<br />
:#Change <span style="color:red"><tt>Feb09/</tt></span> to <span style="color:green"><tt>2013data/</tt></span> in plot_surface_co_geos_3_models.pro<br />
:#Change <span style="color:red"><tt>newdata/</tt></span> to <span style="color:green"><tt>2014data/</tt></span> in plot_ships_3_models_4_months.pro and plot_ships_3_models_co.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+'.mn'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2013'</tt></span> in plot_cmdl_3_models_4_months.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+’.mn.2005'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2013'</tt></span> in plot_surface_co_geos_3_models.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+'.mn'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2014'</tt></span> in plot_ships_3_models_4_months.pro and plot_ships_3_models_co.pro<br />
<br />
:As I said before, I think this would be a useful improvement to our benchmarks, rather than using data >10 years old!<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 22:10, 15 August 2017 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=GEOS-Chem_benchmarking&diff=47265GEOS-Chem benchmarking2020-05-26T18:26:08Z<p>Sebastian D. Eastham: /* 1-year benchmark */</p>
<hr />
<div>== Overview ==<br />
<br />
The GEOS-Chem benchmarking procedure is described below.<br />
<br />
#Any update to the GEOS-Chem source code or run directories will change the [[GEOS-Chem_version_numbering_system#Numeric_versioning_system|GEOS-Chem version number ('''X.Y.Z''')]].<br />
#All '''Y''' versions require a dedicated [[#1-month benchmark|1-month benchmark]] with the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|standard full-chemistry mechanism]]. The benchmark results will be posted on the wiki and an email will be sent to the developer(s) and the [http://acmg.seas.harvard.edu/geos/geos_steering_cmte.html GEOS-Chem Steering Committee].<br />
#The developer(s) will assess the benchmark results and review a benchmark assessment form on the wiki. If the developer has any concerns about the benchmark results they will contact the [[GCST|GEOS-Chem Support Team]], the relevant [http://acmg.seas.harvard.edu/geos/geos_working_groups.html GEOS-Chem Working Group Chairs], and/or [http://acmg.seas.harvard.edu/people/faculty/djj/index.html Model Scientist Daniel Jacob]. GEOS-Chem Steering Committee members are also encouraged to examine and comment on the benchmark results.<br />
#If the update is for a [[GEOS-Chem_chemistry_mechanisms#Specialty_simulations|specialty simulation]] (e.g. CO2, CH4, Hg), then a further benchmark may be conducted by the appropriate Working Group.<br />
#Once the developer is satisfied with the changes in the 1-month benchmark, GEOS-Chem Model Scientist Daniel Jacob will review the results and approve the new internal version.<br />
#[[#1-year benchmark|1-year benchmarks]] for '''Y''' versions will be conducted only if justifiably requested by the developer or by GEOS-Chem Steering Committee members.<br />
#Each new major version release (i.e. '''X''' version) will be subject to a 1-year benchmark to be inspected by the GEOS-Chem Steering Committee before approval.<br />
<br />
== List of GEOS-Chem benchmarks ==<br />
<br />
Links to information about past 1-month and 1-year benchmark simulations can be found on the [[GEOS-Chem_Benchmarks|''GEOS-Chem Benchmarks'']] wiki page. For information about 1-year benchmark simulations for GEOS-Chem v8-02-04 and earlier, see [http://acmg.seas.harvard.edu/geos/geos_1yr_plots.html this website].<br />
<br />
== Benchmark output archive ==<br />
<br />
Output files and evaluation plots for 1-month and 1-year benchmark simulations are archived at Harvard as summarized below. GEOS-Chem users may utilize these output for comparisons against their own simulations.<br />
<br />
{| border=1 cellpadding=5 cellspacing=0<br />
|-bgcolor="#CCCCCC" <br />
!width="450px"|Directory <br />
!width="550px"|Description <br />
<br />
|-valign="top" <br />
|<tt>http://ftp.as.harvard.edu/gcgrid/geos-chem/1mo_benchmarks/</tt> <br />
|Contains the following data from the [[GEOS-Chem_benchmarking#1-month_benchmark|1-month benchmarks]] used to evaluate GEOS-Chem:<br />
*Restart files<br />
*Model output<br />
*Log files<br />
*Input files<br />
*Evaluation plots<br />
<br />
|-valign="top" <br />
|<tt>http://ftp.as.harvard.edu/gcgrid/geos-chem/1yr_benchmarks/</tt> <br />
|Contains the following data from the [[GEOS-Chem_benchmarking#1-year_benchmark|1-year benchmarks]] used to evaluate GEOS-Chem:<br />
*Restart files<br />
*Model output<br />
*Log files<br />
*Input files<br />
*Evaluation plots<br />
|}<br />
<br />
== 1-month benchmark ==<br />
<br />
=== Overview ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Dates of run:<br />
|<br />
*July 1, 2013 &ndash; August 1, 2013 (prior to [[GEOS-Chem v11-02#v11-02e|v11-02e]])<br />
*July 1, 2016 &ndash; August 1, 2016 ([[GEOS-Chem v11-02#v11-02e|v11-02e]] and later versions)<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_vertical_grids|Vertical Resolution]]:<br />
|[[GEOS-FP]] with [[GEOS-Chem_vertical_grids#72-layer_vertical_grid|72 hybrid sigma-pressure levels]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_horizontal_grids|Horizontal Resolution]]:<br />
|[[GEOS-Chem_horizontal_grids#GMAO_4_x_5_grid|4&deg; latitude x 5&deg; longitude]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[Species_in_GEOS-Chem#Full-chemistry|Advected species]]:<br />
|<u>Gas-phase species:</u> NO, O3, PAN, CO, ALK4, ISOP, HNO3, H2O2, ACET, MEK, ALD2, RCHO, MVK, MACR, PMN (isoprene and non-isoprene), PPN, R4N2, PRPE, C3H8, CH2O, C2H6, N2O5, HNO4, MP, MPN, ISOPND, ISOPNB, MOBA, PROPNN, HAC, GLYC, MVKN, MACRN, MAP, NO2, NO3, HNO2, BENZ, TOLU, XYLE, MTPA, LIMO, MTPO, TSOG0-3, ISOG1-3, ASOG1-3, EOH, MGLY, GLYX, ACTA, HPALD, DHDN, ETHLN, HCOOH, IEPOXA, IEPOXB, IEPOXD, ISN1, RIPA, RIPB, RIPD, IMAE, LVOC, ISN1OG, MONITS, MONITU, HONIT, HC187<br />
<br />
<u>Aerosol species:</u> DMS, SO2, SO4, MSA, NH3, NH4, NIT, BCPO, OCPI, BCPI, OCPI, DST1-4, SALA, SALC, SO4s, NITs, TSOA0-3, ISOA1-3, ASOAN, ASOA1-3, SOAIE, SOAME, SOAGX, SOAMG, LVOCOA, ISN1OA, IONITA, MONITA, INDIOL<br />
<br />
<u>Bromine species:</u> Br2, Br, BrO, HOBr, HBr, BrNO2 BrNO3, CHBr3, CH2Br2, CH3Br<br />
<br />
<u>Stratospherically-important species:</u> N2O, OCS, CH4, BrCl, HCl, CCl4, CH3Cl, CH3CCl3, CFCX, HCFCX, CFC11, CFC12, HCFC22, H1211, H2402, Cl, ClO, HOCl, ClNO3, ClNO2, ClOO, OClO, Cl2, Cl202, H2O<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_chemistry_mechanisms|Chemical Mechanism]]:<br />
|[[FlexChem]] chemical solver<br> using the standard chemistry mechanism ([[NOx-Ox-HC-Aer-Br_chemistry_mechanism|NOx-Ox-HC-Aer-Br]] + [[UCX_chemistry_mechanism|UCX]] + [[Secondary_organic_aerosols#Complex_SOA_scheme|complex SOA]])<br>Chemistry is done in both the troposphere and the stratosphere.<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[FAST-JX_v7.0_photolysis_mechanism|Photolysis Mechanism]]:<br />
|[[FAST-JX_v7.0_photolysis_mechanism|FAST-JX v7.0]] (Prather, 2012, Wild et al, 2000).<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Operations:<br />
|<br />
*[[Advection scheme TPCORE|Advection]]<br />
*[[ISORROPIA II|Aerosol thermodynamical equilibriium]]<br />
*[[Boundary layer mixing]]<br />
*[[Chemistry Issues|Chemistry]]<br />
*[[Cloud convection]] (with updraft scavenging)<br />
*[[Dry deposition]]<br />
*[[Emissions overview|Emissions]]<br />
*[[Photolysis_mechanism|Photolysis]]<br />
*[[Wet deposition]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[List_of_diagnostics_for_v11-01|Diagnostic Output]]:<br />
|The following diagnostic outputs are archived as monthly means<br />
*Sulfate production and loss quantities<br />
*Dust aerosol sources<br />
*Carbon aerosol sources<br />
*Sea salt aerosol sources<br />
*Acetone sources<br />
*Sulfur sources<br />
*Optical Depths<br />
*Noontime J-values<br />
*Biomass burning emission fluxes<br />
*CO sources<br />
*Surface Pressure<br />
*NOx sources<br />
*Biofuel emission fluxes<br />
*Anthropogenic emission fluxes<br />
*Scavenging loss from moist convection<br />
*Scavenging loss from wet deposition<br />
*Concentrations of chemically produced OH and HO2<br />
*Dry deposition fluxes and velocities<br />
*Tracer concentrations<br />
*Biogenic emission fluxes<br />
*Tropopause height<br />
*DAO 3-D met fields<br />
*DAO 2-D met fields<br />
*Air masses and grid box heights<br />
*Surface area<br />
*Lifetime of Methylchloroform (CH3CCl3)<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Benchmark Plots and Summaries:<br />
|The following plots, budgets, and totals are created from the oxidant-aerosol simulation:<br />
*Budget of Ox and CO<br />
*Mean OH concentration<br />
*Methyl Chloroform Lifetime (w/r/t loss by tropospheric OH)<br />
*Aerosol optical depth maps (this benchmark)<br />
*Aerosol optical depth differences (this benchmark - previous benchmark)<br />
*Concentration maps (this benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Difference maps (this benchmark - previous benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Summary of emission totals (this benchmark vs. previous benchmark)<br />
*Emissions maps (this benchmark) for all emitting tracers<br />
*Emissions difference maps (this benchmark - previous benchmark) for all emitting tracers<br />
*Emissions ratio maps (this benchmark / previous benchmark) for all emitting tracers<br />
*Frequency distribution histogram of ratios (this benchmark vs previous benchmark) for tracers, OH, and optical depths<br />
*J-value maps (this benchmark)<br />
*J-value difference maps (this benchmark - previous benchmark)<br />
*J-value ratio maps (this benchmark / previous benchmark)<br />
*Ratio maps (this benchmark / previous benchmark) of tracers + OH + HO2 at the surface and at 500 hPa<br />
*Zonal mean concentration maps (this benchmark) of tracers + OH + HO2<br />
*Zonal mean difference maps (this benchmark - previous benchmark) of tracers + OH + HO2<br />
<br />
|}<br />
<br />
=== Plotting routines ===<br />
<br />
The 1-month benchmark plotting routines are included with [https://github.com/geoschem/gcpy GCPy], a Python took kit available for GEOS-Chem.<br />
<br />
== 1-year benchmark ==<br />
<br />
=== Overview ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Spin-up: <br />
|<br />
*January 1, 2013 &ndash; January 1, 2014 (prior to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
*January 1, 2015 &ndash; January 1, 2016 (since to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Dates of Run:<br />
|<br />
*January 1, 2013 &ndash; January 1, 2014 (prior to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
*January 1, 2016 &ndash; January 1, 2017 (since to [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]])<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_vertical_grids|Vertical Resolution]]:<br />
|[[GEOS-FP]] with [[GEOS-Chem_vertical_grids#72-layer_vertical_grid|72 hybrid sigma-pressure levels]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_horizontal_grids|Horizontal Resolution]]:<br />
|[[GEOS-Chem_horizontal_grids#GMAO_4_x_5_grid|4&deg; latitude x 5&deg; longitude]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[Species_in_GEOS-Chem#Full-chemistry|Advected species]]:<br />
|<u>Gas-phase species:</u> NO, O3, PAN, CO, ALK4, ISOP, HNO3, H2O2, ACET, MEK, ALD2, RCHO, MVK, MACR, PMN (isoprene and non-isoprene), PPN, R4N2, PRPE, C3H8, CH2O, C2H6, N2O5, HNO4, MP, MPN, ISOPND, ISOPNB, MOBA, PROPNN, HAC, GLYC, MVKN, MACRN, MAP, NO2, NO3, HNO2, BENZ, TOLU, XYLE, MTPA, LIMO, MTPO, TSOG0-3, ISOG1-3, ASOG1-3, EOH, MGLY, GLYX, ACTA, HPALD, DHDN, ETHLN, HCOOH, IEPOXA, IEPOXB, IEPOXD, ISN1, RIPA, RIPB, RIPD, IMAE, LVOC, ISN1OG, MONITS, MONITU, HONIT, HC187<br />
<br />
<u>Aerosol species:</u> DMS, SO2, SO4, MSA, NH3, NH4, NIT, BCPO, OCPI, BCPI, OCPI, DST1-4, SALA, SALC, SO4s, NITs, TSOA0-3, ISOA1-3, ASOAN, ASOA1-3, SOAIE, SOAME, SOAGX, SOAMG, LVOCOA, ISN1OA, IONITA, MONITA, INDIOL<br />
<br />
<u>Bromine species:</u> Br2, Br, BrO, HOBr, HBr, BrNO2 BrNO3, CHBr3, CH2Br2, CH3Br<br />
<br />
<u>Stratospherically-important species:</u> N2O, OCS, CH4, BrCl, HCl, CCl4, CH3Cl, CH3CCl3, CFCX, HCFCX, CFC11, CFC12, HCFC22, H1211, H2402, Cl, ClO, HOCl, ClNO3, ClNO2, ClOO, OClO, Cl2, Cl202, H2O<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[GEOS-Chem_chemistry_mechanisms|Chemical Mechanism]]:<br />
|[[FlexChem]] chemical solver<br> using the standard chemistry mechanism ([[NOx-Ox-HC-Aer-Br_chemistry_mechanism|NOx-Ox-HC-Aer-Br]] + [[UCX_chemistry_mechanism|UCX]] + [[Secondary_organic_aerosols#Complex_SOA_scheme|complex SOA]])<br>Chemistry is done in both the troposphere and the stratosphere.<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[FAST-JX_v7.0_photolysis_mechanism|Photolysis Mechanism]]:<br />
|[[FAST-JX_v7.0_photolysis_mechanism|FAST-JX v7.0]] (Prather, 2012, Wild et al, 2000).<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Operations:<br />
|<br />
*[[Advection scheme TPCORE|Advection]]<br />
*[[ISORROPIA II|Aerosol thermodynamical equilibriium]]<br />
*[[Boundary layer mixing]]<br />
*[[Chemistry Issues|Chemistry]]<br />
*[[Cloud convection]] (with updraft scavenging)<br />
*[[Dry deposition]]<br />
*[[Emissions overview|Emissions]]<br />
*[[Photolysis_mechanism|Photolysis]]<br />
*[[Wet deposition]]<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|[[List_of_diagnostics_for_v11-01|Diagnostic Output]]:<br />
|All diagnostics above are saved as monthly means.<br />
*Sulfate production and loss quantities<br />
*Dust aerosol sources<br />
*Carbon aerosol sources<br />
*Sea salt aerosol sources<br />
*Acetone sources<br />
*Sulfur sources<br />
*Optical Depths<br />
*Noontime J-values<br />
*Transport fluxes (N/S, E/W, up/down)<br />
*Biomass burning emission fluxes<br />
*CO sources<br />
*Surface Pressure<br />
*NOx sources<br />
*Biofuel emission fluxes<br />
*Anthropogenic emission fluxes<br />
*Scavenging loss from moist convection<br />
*Scavenging loss from wet deposition<br />
*Concentrations of chemically produced OH and HO2<br />
*Dry deposition fluxes and velocities<br />
*Tracer concentrations<br />
*Biogenic emission fluxes<br />
*Tropopause height<br />
*DAO 3-D met fields<br />
*DAO 2-D met fields<br />
*Air masses and grid box heights<br />
*Surface area<br />
*Lifetime of Methylchloroform (CH3CCl3)<br />
*Satellite timeseries of BrO, cloud fraction, and cloud top height<br />
<br />
|-valign="top"<br />
!bgcolor="#cccccc"|Benchmark Plots: <br />
|The following plots compare advected species from 3 different benchmark simulations (versions 1-3, where version 3 is the current benchmark version). Plots are created for January, April, July, and October.<br />
*Aerosol optical depth maps (version 1, version 2, and version 3)<br />
*Emission maps (version 1, version 2, and version 3)<br />
*Emisison difference maps (version 3 - version 1, version 3 - version 2)<br />
*Emission ratio maps (version 3 / version 1, version 3 / version 2)<br />
*J-value maps (version 1, version 2, and version 3)<br />
*J-value difference maps (version 3 - version 1, version 3 - version 2)<br />
*J-value ratio maps (version 3 / version 1, version 3 / version 2)<br />
*Tracer difference maps at the surface and 500 hPa (version 3 - version 1, version 3 - version 2)<br />
*Tracer ratio maps at the surface and 500 hPa (version 3 / version 1, version 3 / version 2)<br />
*Tracer difference profiles along longitude slices (15S, 42N) (version 3 - version 1, version 3 - version 2)<br />
<br />
The following plots show data from 3 benchmark simulations side-by-side with observations. GEOS-Chem output is plotted in red for version 1, in green for version 2, and in blue for version 3 (current benchmark version)<br />
*BrO seasonal columns vs. observations<br />
*C2H6 vertical profiles vs. observations from various aircraft campaigns<br />
*C3H8 vertical profiles vs. observations from various aircraft campaigns<br />
*CO seasonal cycle at the surface vs. MOZAIC observations<br />
*CO vertical profiles vs. MOZAIC observations<br />
*CO vertical profiles vs. various sonde observations<br />
*H2O2 vertical profiles vs. observations from various aircraft campaigns<br />
*IMPROVE difference maps (benchmark simulation output vs. surface sites)<br />
*IMPROVE scatter plots (benchmark simulation output vs. surface sites)<br />
*HNO3 vertical profiles vs. observations from various aircraft campaigns<br />
*NO vertical profiles vs. observations from various aircraft campaigns<br />
*O3 seasonal cycle @ the surface vs. MOZAIC observations<br />
*O3 seasonal cycle @ 300, 500, and 800 hPa vs. MOZAIC observations<br />
*O3 seasonal cycle @ 300, 500, and 800 hPa vs. sonde observations<br />
*O3 seasonal cycle @ 150, 300, 500,and 800 hPa vs. sonde observations<br />
*O3 vertical profiles vs. observations from various aircraft campaigns<br />
*O3 vertical profiles vs. observations from various aircraft campaigns<br />
*O3 vertical profiles vs. various sonde observations<br />
*O3 vertical profiles vs. MOZAIC observations<br />
*PAN vertical profiles vs. observations from various aircraft campaigns<br />
*PM2.5 difference maps (benchmark simulation output vs. surface sites)<br />
*PM2.5 scatter plots (benchmark simulation output vs. surface sites)<br />
<br />
|}<br />
<br />
=== Plotting routines ===<br />
<br />
''<span style="color:darkorange">NOTE: The 1-month benchmark plotting routines are currently written in IDL. We are planning on moving these routines to Python for the [[GEOS-Chem v11-02]] release as part of the [[Python_code_for_GEOS-Chem#GCPy|GCPy package]].</span>''<br />
<br />
The 1-year benchmark plotting routines can be downloaded from Bitbucket via Git using:<br />
<br />
git clone https://bitbucket.org/gcst/gc_1yr_benchmark<br />
<br />
The data files needed for the plots are included in the repository and are discussed in more detail [[#Observations|below]].<br />
<br />
=== Observations ===<br />
<br />
Here we provide an overview of the data used in the 1-year benchmark plots.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|-valign="top" bgcolor="#cccccc"<br />
!Directory<br />
!Data year<br />
!Species<br />
!Data source<br />
!Provided by<br />
<br />
|-valign="top"<br />
|<tt>BrO/</tt><br />
|2007-2008<br />
|BrO<br />
|[https://www.eumetsat.int/website/home/Satellites/CurrentSatellites/Metop/MetopDesign/GOME2/index.html GOME-2]<br />
|Justin Parrella<br>(Data used to reproduce Figure 5 of [http://acmg.seas.harvard.edu/publications/2012/parrella2012.pdf Parrella et al. (2012)])<br />
<br />
|-valign="top"<br />
|<tt>cmdl/</tt><br />
|2005, 2009<br>[[#Update 2005/2009 CMDL CO data to 2013/2014 GMD CO data|New data available]]<br />
|CO<br />
|[https://www.esrl.noaa.gov/gmd/ GMD] (formerly CMDL)<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>co.prof.for.gmi/</tt><br />
|2001-2008<br>(varies by station)<br />
|CO<br />
|[http://iagos.sedoo.fr/ MOZAIC]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>eval/aircraft/</tt><br>''NOTE: Other directories in <tt>eval/</tt> aren't currently used''<br />
|1995-2003<br>(varies by aircraft campaign)<br />
|C2H6, C3H8, CO, H2O2, HNO3, NO, O3, PAN<br><br />
''(Not currently used: ACET, ALK4, C2H2, CH2Br2, CH2BrCl, CH3Br, CH3OH, CH4, CHBr2Cl, CHBrCl2, CO2, ETHE, PRPE)''<br />
|See [https://bitbucket.org/gcst/gc_1yr_benchmark/src/6495a17e5c0004f8290d09f141d585c30ce480ef/IDL/data/eval/aircraft/data/README.aircraft.data?at=master&fileviewer=file-view-default README]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>netCDF/</tt><br />
|N/A<br />
|C2H6, C3H8, CH3I, CO, H2O2, HNO3, NO, O3, OH, PAN, Rn<br />
|Various<br>(contains information about station locations)<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>PAN/</tt><br />
|Varies<br />
|PAN<br />
|ARCTAS-A, ARCTAS-B, ARCPAC, INTEX-B, ITCT-2K2<br />
|Emily Fischer<br>(Data used to reproduce Figure S1 of [https://www.atmos-chem-phys.net/14/2679/2014/acp-14-2679-2014-supplement.pdf Fischer et al. (2014) Supplement])<br />
<br />
|-valign="top"<br />
|<tt>pm25_data/</tt><br />
|2005<br />
|[[Particulate_matter_in_GEOS-Chem|PM2.5]]<br />
|[http://vista.cira.colostate.edu/improve/ IMPROVE]<br />
|Colette Heald<br />
<br />
|-valign="top"<br />
|<tt>sondes.for.gmi/</tt><br />
|1990-2008<br>(varies by station)<br />
|O3<br />
|<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|-valign="top"<br />
|<tt>strat/</tt><br />
|2001-2010<br />
|NOy, O3<br />
|[http://www.asc-csa.gc.ca/eng/satellites/odin.asp OSIRIS]<br />
|Dylan Jones<br />
<br />
|-valign="top"<br />
|<tt>surface_ozone/</tt><br />
|<br />
|O3<br />
|[https://www.esrl.noaa.gov/gmd/ CMDL]<br />
|Jennifer Logan and Inna Megretskaia<br />
<br />
|}<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 14:26, 16 August 2017 (UTC)<br />
<br />
==== Update 2005/2009 CMDL CO data to 2013/2014 GMD CO data ====<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
'''''Jenny Fisher wrote:'''''<br />
<br />
:Attached is a zip file containing routines to process the GMD (previously CMDL) CO data for use in the benchmarking scripts, as well as the 2013 and 2014 data. I added the 2014 data because there was no ships data for 2013 (or 2012), so this seemed like the best approximation.<br />
<br />
:To replace the existing benchmark data with these, you will want to do the following in the 1-year benchmark code:<br />
<br />
:#Put the <tt>2013data/</tt> and <tt>2014data/</tt> in the <tt>data/cmdl/</tt> directory of the 1-year benchmark code<br />
:#Change <span style="color:red"><tt>newdata/</tt></span> to <span style="color:green"><tt>2013data/</tt></span> in plot_cmdl_3_models_4_months.pro<br />
:#Change <span style="color:red"><tt>Feb09/</tt></span> to <span style="color:green"><tt>2013data/</tt></span> in plot_surface_co_geos_3_models.pro<br />
:#Change <span style="color:red"><tt>newdata/</tt></span> to <span style="color:green"><tt>2014data/</tt></span> in plot_ships_3_models_4_months.pro and plot_ships_3_models_co.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+'.mn'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2013'</tt></span> in plot_cmdl_3_models_4_months.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+’.mn.2005'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2013'</tt></span> in plot_surface_co_geos_3_models.pro<br />
:#Change the line <span style="color:red"><tt>file=pre+name_sta(kk)+'.mn'</tt></span> to <span style="color:green"><tt>file=pre+name_sta(kk)+’.mn.2014'</tt></span> in plot_ships_3_models_4_months.pro and plot_ships_3_models_co.pro<br />
<br />
:As I said before, I think this would be a useful improvement to our benchmarks, rather than using data >10 years old!<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 22:10, 15 August 2017 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=List_of_MERRA-2_met_fields&diff=43627List of MERRA-2 met fields2019-07-09T02:50:03Z<p>Sebastian D. Eastham: /* A3mstE fields */ Incorrect units for CMFMC fixed</p>
<hr />
<div>[[MERRA-2]] is a new NASA/GMAO reanalysis product. It has a horizontal resolution of 0.5&deg; lat x 0.625&deg; lon x 72 vertical levels. The horizontal resolution is 2x coarser than the GMAO "forward processing" product (which we refer to as [[GEOS-FP]]). But MERRA-2 uses the identical vertical grid as the [[GEOS-5#GEOS-5|GEOS-5]], [[MERRA]], and the "[[GEOS-FP]]" data products used by GEOS-Chem.<br />
<br />
NOTE: GEOS-Chem only uses a subset of the entire MERRA-2 data archive. On this page we list the MERRA-2 met fields that we archive for use with GEOS-Chem.<br />
<br />
== Constant fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Time-invariant fields<br />
**These are mostly parameters pertaining to the horizontal grid<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.20150101.CN.05x0625.CH.nc</tt>&nbsp; (Native resolution nested CH grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.EU.nc</tt>&nbsp; (Native resolution nested EU grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.NA.nc</tt>&nbsp; (Native resolution nested NA grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.NA.nc</tt>&nbsp; (Native resolution nested SE grid)<br />
*<tt>MERRA2.20150101.CN.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.20150101.CN.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*For convenience, we have assigned these data timestamp of <tt>2015/01/01 00:00 UTC</tt><br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|FRLAKE <br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_lake<br />
|<br />
|<br />
*CH4 simulation, <br />
*diagnostics<br />
<br />
|-valign="top"<br />
|FRLAND<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_land<br />
|<br />
|<br />
*Chemistry<br />
*Hg simulation<br />
*CH4 simulation<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|FRLANDIC(E)<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_land_ice<br />
|<br />
*The original name in the GEOS-FP raw data files is FRLANDICE.<br />
*We shorten this to FRLANDIC for GEOS-Chem. GEOS-Chem requires 8-character met field names.<br />
|<br />
*Hg simulation<br />
*CH4 simulation<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|FROCEAN<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_ocean<br />
| <br />
|<br />
*Chemistry<br />
*Hg simulation<br />
*CH4 simulation<br />
*Emissions <br />
<br />
|-valign="top"<br />
|PHIS<br />
|m<sup>2</sup> s<sup>-2</sup><br />
|const_2d_asm_Nx<br />
|surface_geopotential_height<br />
| <br />
|<br />
*Kept for diagnostics<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:19, 3 August 2015 (UTC)<br />
<br />
== A1 fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Various surface fields<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.CH.nc</tt>&nbsp; (Native resolution nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.EU.nc</tt>&nbsp; (Native resolution nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.NA.nc</tt>&nbsp; (Native resolution nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.025x03125.SE.nc</tt>&nbsp; (Native resolution nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps]]:<br />
|<br />
*00:30, 01:30, 02:30, 3:30, 4:30, 5:30 ... 23:30 GMT<br />
**These represent the center of the 1-hour averaging period<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2 data file collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|ALBEDO<br />
|1<br />
|tavg1_2d_rad_Nx<br />
|surface_albedo<br />
|<br />
|<br />
*Dry deposition<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|CLDTOT<br />
|1<br />
|tavg1_2d_rad_Nx<br />
|total_cloud_area_fraction<br />
|<br />
*For all intents and purposes, CLDTOT = the column sum of CLOUD, but at 1-hour resolution.<br />
|<br />
*Photolysis<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|EFLUX<br />
|W m<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|total_latent_energy_flux <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|EVAP<br />
|kg m<sup>-2</sup> s<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|evaporation_from_turbulence <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|FRSEAICE<br />
|1<br />
|tavg1_2d_flx_Nx<br />
|ice_covered_fraction_of_tile<br />
|<br />
*We bin FRSEAICE to create the SEAICE** fields listed below.<br />
|<br />
*Hg simulation<br />
<br />
|-valign="top"<br />
|FRSNO<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|fractional_area_of_land_snowcover <br />
|<br />
|<br />
*PBL mixing <br />
*Hg simulation<br />
<br />
|-valign="top"<br />
|GRN<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|greenness_fraction<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|GWETROOT<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|root_zone_soil_wetness<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|GWETTOP<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|surface_soil_wetness<br />
|<br />
|<br />
*CH4 simulation<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|HFLUX<br />
|W m<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|sensible_heat_flux_from_turbulence<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|LAI<br />
|m<sup>2</sup> m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|leaf_area_index<br />
|<br />
*NOTE: GEOS-Chem uses MODIS LAI instead of the GEOS-FP LAI..<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|LWGNT<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|surface_net_downward_longwave_flux<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|LWI<br />
|1<br />
| -<br />
|land_water_ice_flags<br />
<br />
|<br />
*We derive LWI from the FRSEAICE, FROCEAN, and FRLAND fields. <br />
*GEOS-Chem needs LWI for backwards compatibility. <br />
|<br />
*To determine the overall surface type in a grid box<br />
<br />
|-valign="top"<br />
|LWTUP<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|upwelling_longwave_flux_at_toa <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PARDF<br />
|W m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|surface_downwelling_par_diffuse_flux <br />
|<br />
*The name of this data field in the raw data file is "PARDFLAND".<br />
|<br />
*Biogenic emissions<br />
<br />
|-valign="top"<br />
|PARDR<br />
|W m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|surface_downwelling_par_beam_flux <br />
|<br />
*The name of this data field in the raw data file is "PARDRLAND".<br />
|<br />
*Biogenic emissions<br />
<br />
|-valign="top"<br />
|PBLH<br />
|m<br />
|tavg1_2d_flx_Nx<br />
|planetary_boundary_layer_height<br />
|<br />
|<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|PRECANV <br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|anvil_precipitation<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECCON<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|convective_precipitation<br />
|<br />
|<br />
*Soil NOx emissions<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|PRECLSC<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|nonanvil_large_scale_precipitation <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECSNO<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|snowfall<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECTOT<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|total_precipitation<br />
|<br />
|<br />
*Soil NOx emissions<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|QV2M<br />
|kg kg<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|2-meter_specific_humidity<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|Q850<br />
|kg kg<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|specific_humidity_at_850_hPa<br />
|<br />
|<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|SEAICE00<br />
|1<br />
| -<br />
|sea_area_ice_fraction_0-10%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|SEAICE10<br />
|1<br />
| -<br />
|sea_area_ice_fraction_10-20%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE20<br />
|1<br />
| -<br />
|sea_area_ice_fraction_20-30%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE30<br />
|1<br />
| -<br />
|sea_area_ice_fraction_30-40%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE40<br />
|1<br />
| -<br />
|sea_area_ice_fraction_40-50%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE50<br />
|1<br />
| -<br />
|sea_area_ice_fraction_50-60%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE60<br />
|1<br />
| -<br />
|sea_area_ice_fraction_60-70%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE70<br />
|1<br />
| -<br />
|sea_area_ice_fraction_70-80%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE80<br />
|1<br />
| -<br />
|sea_area_ice_fraction_80-90%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE90<br />
|1<br />
| -<br />
|sea_area_ice_fraction_90-100%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SLP<br />
|Pa<br />
|tavg1_2d_slv_Nx<br />
|sea_level_pressure<br />
|<br />
*We keep the original units of Pa.<br />
*We convert to hPa when reading into GEOS-Chem.<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|SNODP<br />
|m<br />
|tavg1_2d_lnd_Nx<br />
|snow_depth<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|SNOMAS<br />
|kg m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|Total_snow_storage_land <br />
|<br />
|<br />
*Dust mobilization<br />
*Hg simulations<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|SWGDN<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|surface_incoming_shortwave_flux<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%RADSWG</tt><br />
|<br />
*Soil NOx emissions<br />
*Hg simulations<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|TO3<br />
|Dobsons<br />
|tavg1_2d_slv_Nx<br />
|total_column_ozone<br />
| <br />
|<br />
*Used as input to photolysis<br />
<br />
|-valign="top"<br />
|TROPPT<br />
|hPa<br />
|tavg1_2d_slv_Nx<br />
|tropopause_pressure_based_on_thermal_estimate<br />
|<br />
*Original units of TROPPT are Pa.<br />
*We convert Pa -> hPa because GEOS-Chem expects hPa.<br />
|<br />
*Used to determine tropopause height<br />
<br />
|-valign="top"<br />
|TS<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|surface_skin_temperature<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%TSKIN</tt><br />
|<br />
*CH4 simulation<br />
*Hg simulation<br />
*Sea salt emissions<br />
<br />
|-valign="top"<br />
|T2M<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|2-meter_air_temperature<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%TS</tt><br />
*GEOS-Chem uses T2M as a proxy for surface air temp.<br />
|<br />
*Many locations<br />
<br />
|-valign="top"<br />
|T10M<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|10-meter_air_temperature<br />
|<br />
|<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|U10M<br />
|m s<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|10-meter_eastward_wind<br />
|<br />
|<br />
*Dry deposition<br />
*Dust mobilization<br />
*Emissions<br />
*Sea salt aerosols<br />
*Hg simulations<br />
<br />
|-valign="top"<br />
|USTAR<br />
|m s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|surface_velocity_scale<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|V10M<br />
|m s<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|10-meter_northward_wind<br />
|<br />
|<br />
*Dry deposition<br />
*Dust mobilization<br />
*Emissions<br />
*Sea salt aerosols<br />
*Hg simulations<br />
<br />
|-valign="top"<br />
|Z0M<br />
|m<br />
|tavg1_2d_flx_Nx<br />
|surface_roughness<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 16:21, 3 August 2015 (UTC)<br />
<br />
== A3cld fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Cloud parameters<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|CLOUD<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|cloud_fraction_for_radiation<br />
|<br />
*We regrid CLOUD w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Photolysis<br />
*Chemistry<br />
<br />
|-valign="top"<br />
|OPTDEPTH<br />
|1<br />
|none<br />
|in_cloud_optical_thickness<br />
|<br />
*We create OPTDEPTH = TAUCLI + TAUCLW.<br />
*We regrid OPTDEPTH w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Photolysis<br />
*Chemistry<br />
<br />
|-valign="top"<br />
|QI<br />
|kg kg<sup>-1</sup><br />
|none<br />
|mass_fraction_of_cloud_ice_water<br />
|<br />
|<br />
*Chemistry<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|QL<br />
|kg kg<sup>-1</sup><br />
|tavg3_3d_cld_Nv<br />
|mass_fration_of_cloud_liquid_water<br />
|<br />
|<br />
*Chemistry<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|TAUCLI<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|in_cloud_optical_thickness_for_ice_clouds<br />
|<br />
*We use TAUCLI to create OPTDEPTH.<br />
*We regrid TAUCLI w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|TAUCLW<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|in_cloud_optical_thickness_for_liquid_clouds<br />
|<br />
*We use TAUCLW to create OPTDEPTH.<br />
*We regrid TAUCLW w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm]<br />
|<br />
*Kept for diagnostics<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:32, 3 August 2015 (UTC)<br />
<br />
== A3dyn fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Dynamical fields (e.g. winds, relative humidity, detrainment fluxes)<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.CH.nc</tt> (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.EU.nc</tt> (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.NA.nc</tt> (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.SE.nc</tt> (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.2x25.nc</tt> (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.4x5.nc</tt> (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|DTRAIN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_cld_Nv<br />
|detraining_mass_flux<br />
|<br />
|<br />
*Cloud convection<br />
<br />
|-valign="top"<br />
|OMEGA<br />
|Pa s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|vertical_pressure_velocity<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|RH<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|relative_humidity_after_moist<br />
|GMAO computes RH as follows:<br />
*T > 273.16 K: w/r/t liquid<br />
*T < 253.16 K: w/r/t ice<br />
*253.16 K <= T <= 273.16K: weighted avg w/r/t both liquid and ice<br />
|<br />
*Chemistry<br />
*Wet deposition<br />
*Aerosol therm. equilib.<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|U<br />
|m s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|eastward_wind<br />
|<br />
|<br />
*Advection<br />
<br />
|-valign="top"<br />
|V<br />
|m s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|northward_wind<br />
|<br />
|<br />
*Advection<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:36, 3 August 2015 (UTC)<br />
<br />
== A3mstC fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Precipitation and sublimation fields<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.CH.nc</tt> (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.EU.nc</tt> (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.NA.nc</tt> (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.SE.nc</tt> (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.2x25.nc</tt> (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.4x5.nc</tt> (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|DQRCU<br />
|kg kg<sup>-1</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Nv<br />
|convective_rainwater_source <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|DQRLSAN<br />
|kg kg<sup>-1</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Nv<br />
|large_scale_rainwater_source <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|REEVAPCN<br />
|kg kg<sup>-1</sup> s<sup>-1</sup> <br />
|tavg3_3d_mst_Nv<br />
|evap_subl_of_convective_precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|REEVAPLS(AN)<br />
|kg kg<sup>-1</sup> s<sup>-1</sup> <br />
|tavg3_3d_mst_Nv<br />
|evap_subl_of_non_convective_precipitation<br />
|<br />
*In the GEOS-FP raw data files, this field is named REEVAPLSAN.<br />
*In the files created for GEOS-Chem, we change the field name to REEVAPLS.<br />
*GEOS-Chem requires 8-character met field names for backwards compatibility.<br />
|<br />
*Wet deposition<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:46, 3 August 2015 (UTC)<br />
<br />
== A3mstE fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Precipitation and convection fields<br />
**Data are 3-dimensional, stored at the edges of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2 time archiving|Collection]]<br />
!width="300px"|Description<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|CMFMC<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|Upward moist convective mass flux<br />
|<br />
|<br />
*Cloud convection<br />
<br />
|-valign="top"<br />
|PFICU<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of ice convective precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|PFILSAN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of ice non-convective precipitation <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|PFLCU<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of liquid convective precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|PFLLSAN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of liquid non-convective precipitation <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:52, 3 August 2015 (UTC)<br />
<br />
== I3 fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Pressure, temperature, humidity<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested China grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested Europe grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested North America grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE Asia grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, 21:00 GMT<br />
**Timestamps represent instantaneous ("snapshot") values every 3 hours.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="100px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|PS<br />
|hPa<br />
|inst3_3d_asm_Nv<br />
|surface_pressure<br />
|<br />
*We keep the original units of Pa<br />
*We convert Pa -> hPa when reading the PS field in GEOS-Chem.<br />
|<br />
*Advection <br />
*Many other locations<br />
<br />
|-valign="top"<br />
|PV<br />
|K m<sup>2</sup> kg<sup>-1</sup> s<sup>-1</sup><br />
|inst3_3d_asm_Nv<br />
|ertels_potential_vorticity<br />
|<br />
*This field is labeled EPV in the GEOS-FP raw data files.<br />
*GEOS-Chem renames this to "PV" for backwards compatibility with older met products.<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|QV<br />
|kg kg<sup>-1</sup> <br />
|inst3_3d_asm_Nv<br />
|specific_humidity<br />
|In GEOS-Chem:<br />
*QV at time t is converted to g/kg and saved into <tt>State_Met%SPHU1</tt>;<br />
*QV at time t+3hr is converted to g/kg and saved into <tt>State_Met%SPHU2</tt>;<br />
*QV is then interpolated to the current time.<br />
|<br />
*Chemistry<br />
*Wet deposition<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|T<br />
|K<br />
|inst3_3d_asm_Nv<br />
|air_temperature<br />
|In GEOS-Chem:<br />
*T @ time t is saved into <tt>State_Met%TMPU1</tt>;<br />
*T @ time t+3h is saved into <tt>State_Met%TMPU2</tt>;<br />
*T is then interpolated to the current time.<br />
|<br />
*Many locations<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:56, 3 August 2015 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=List_of_MERRA-2_met_fields&diff=43626List of MERRA-2 met fields2019-07-09T02:49:01Z<p>Sebastian D. Eastham: /* A3dyn fields */ Incorrect units for DTRAIN fixed</p>
<hr />
<div>[[MERRA-2]] is a new NASA/GMAO reanalysis product. It has a horizontal resolution of 0.5&deg; lat x 0.625&deg; lon x 72 vertical levels. The horizontal resolution is 2x coarser than the GMAO "forward processing" product (which we refer to as [[GEOS-FP]]). But MERRA-2 uses the identical vertical grid as the [[GEOS-5#GEOS-5|GEOS-5]], [[MERRA]], and the "[[GEOS-FP]]" data products used by GEOS-Chem.<br />
<br />
NOTE: GEOS-Chem only uses a subset of the entire MERRA-2 data archive. On this page we list the MERRA-2 met fields that we archive for use with GEOS-Chem.<br />
<br />
== Constant fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Time-invariant fields<br />
**These are mostly parameters pertaining to the horizontal grid<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.20150101.CN.05x0625.CH.nc</tt>&nbsp; (Native resolution nested CH grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.EU.nc</tt>&nbsp; (Native resolution nested EU grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.NA.nc</tt>&nbsp; (Native resolution nested NA grid)<br />
*<tt>MERRA2.20150101.CN.05x0625.NA.nc</tt>&nbsp; (Native resolution nested SE grid)<br />
*<tt>MERRA2.20150101.CN.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.20150101.CN.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*For convenience, we have assigned these data timestamp of <tt>2015/01/01 00:00 UTC</tt><br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|FRLAKE <br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_lake<br />
|<br />
|<br />
*CH4 simulation, <br />
*diagnostics<br />
<br />
|-valign="top"<br />
|FRLAND<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_land<br />
|<br />
|<br />
*Chemistry<br />
*Hg simulation<br />
*CH4 simulation<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|FRLANDIC(E)<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_land_ice<br />
|<br />
*The original name in the GEOS-FP raw data files is FRLANDICE.<br />
*We shorten this to FRLANDIC for GEOS-Chem. GEOS-Chem requires 8-character met field names.<br />
|<br />
*Hg simulation<br />
*CH4 simulation<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|FROCEAN<br />
|1<br />
|const_2d_asm_Nx<br />
|fraction_of_ocean<br />
| <br />
|<br />
*Chemistry<br />
*Hg simulation<br />
*CH4 simulation<br />
*Emissions <br />
<br />
|-valign="top"<br />
|PHIS<br />
|m<sup>2</sup> s<sup>-2</sup><br />
|const_2d_asm_Nx<br />
|surface_geopotential_height<br />
| <br />
|<br />
*Kept for diagnostics<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:19, 3 August 2015 (UTC)<br />
<br />
== A1 fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Various surface fields<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.CH.nc</tt>&nbsp; (Native resolution nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.EU.nc</tt>&nbsp; (Native resolution nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.05x0625.NA.nc</tt>&nbsp; (Native resolution nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.025x03125.SE.nc</tt>&nbsp; (Native resolution nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A1.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps]]:<br />
|<br />
*00:30, 01:30, 02:30, 3:30, 4:30, 5:30 ... 23:30 GMT<br />
**These represent the center of the 1-hour averaging period<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2 data file collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|ALBEDO<br />
|1<br />
|tavg1_2d_rad_Nx<br />
|surface_albedo<br />
|<br />
|<br />
*Dry deposition<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|CLDTOT<br />
|1<br />
|tavg1_2d_rad_Nx<br />
|total_cloud_area_fraction<br />
|<br />
*For all intents and purposes, CLDTOT = the column sum of CLOUD, but at 1-hour resolution.<br />
|<br />
*Photolysis<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|EFLUX<br />
|W m<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|total_latent_energy_flux <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|EVAP<br />
|kg m<sup>-2</sup> s<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|evaporation_from_turbulence <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|FRSEAICE<br />
|1<br />
|tavg1_2d_flx_Nx<br />
|ice_covered_fraction_of_tile<br />
|<br />
*We bin FRSEAICE to create the SEAICE** fields listed below.<br />
|<br />
*Hg simulation<br />
<br />
|-valign="top"<br />
|FRSNO<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|fractional_area_of_land_snowcover <br />
|<br />
|<br />
*PBL mixing <br />
*Hg simulation<br />
<br />
|-valign="top"<br />
|GRN<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|greenness_fraction<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|GWETROOT<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|root_zone_soil_wetness<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|GWETTOP<br />
|1<br />
|tavg1_2d_lnd_Nx<br />
|surface_soil_wetness<br />
|<br />
|<br />
*CH4 simulation<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|HFLUX<br />
|W m<sup>-2</sup><br />
|tavg1_2d_flx_Nx<br />
|sensible_heat_flux_from_turbulence<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|LAI<br />
|m<sup>2</sup> m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|leaf_area_index<br />
|<br />
*NOTE: GEOS-Chem uses MODIS LAI instead of the GEOS-FP LAI..<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|LWGNT<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|surface_net_downward_longwave_flux<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|LWI<br />
|1<br />
| -<br />
|land_water_ice_flags<br />
<br />
|<br />
*We derive LWI from the FRSEAICE, FROCEAN, and FRLAND fields. <br />
*GEOS-Chem needs LWI for backwards compatibility. <br />
|<br />
*To determine the overall surface type in a grid box<br />
<br />
|-valign="top"<br />
|LWTUP<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|upwelling_longwave_flux_at_toa <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PARDF<br />
|W m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|surface_downwelling_par_diffuse_flux <br />
|<br />
*The name of this data field in the raw data file is "PARDFLAND".<br />
|<br />
*Biogenic emissions<br />
<br />
|-valign="top"<br />
|PARDR<br />
|W m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|surface_downwelling_par_beam_flux <br />
|<br />
*The name of this data field in the raw data file is "PARDRLAND".<br />
|<br />
*Biogenic emissions<br />
<br />
|-valign="top"<br />
|PBLH<br />
|m<br />
|tavg1_2d_flx_Nx<br />
|planetary_boundary_layer_height<br />
|<br />
|<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|PRECANV <br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|anvil_precipitation<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECCON<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|convective_precipitation<br />
|<br />
|<br />
*Soil NOx emissions<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|PRECLSC<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|nonanvil_large_scale_precipitation <br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECSNO<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|snowfall<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|PRECTOT<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|total_precipitation<br />
|<br />
|<br />
*Soil NOx emissions<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|QV2M<br />
|kg kg<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|2-meter_specific_humidity<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|Q850<br />
|kg kg<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|specific_humidity_at_850_hPa<br />
|<br />
|<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|SEAICE00<br />
|1<br />
| -<br />
|sea_area_ice_fraction_0-10%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*Diagnostics<br />
<br />
|-valign="top"<br />
|SEAICE10<br />
|1<br />
| -<br />
|sea_area_ice_fraction_10-20%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE20<br />
|1<br />
| -<br />
|sea_area_ice_fraction_20-30%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE30<br />
|1<br />
| -<br />
|sea_area_ice_fraction_30-40%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE40<br />
|1<br />
| -<br />
|sea_area_ice_fraction_40-50%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE50<br />
|1<br />
| -<br />
|sea_area_ice_fraction_50-60%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE60<br />
|1<br />
| -<br />
|sea_area_ice_fraction_60-70%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE70<br />
|1<br />
| -<br />
|sea_area_ice_fraction_70-80%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE80<br />
|1<br />
| -<br />
|sea_area_ice_fraction_80-90%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SEAICE90<br />
|1<br />
| -<br />
|sea_area_ice_fraction_90-100%<br />
|<br />
*[[#Fractional sea ice|We create this by binning FRSEAICE.]]<br />
|<br />
*Arctic simulations<br />
*[[Planeflight diagnostic]]<br />
<br />
|-valign="top"<br />
|SLP<br />
|Pa<br />
|tavg1_2d_slv_Nx<br />
|sea_level_pressure<br />
|<br />
*We keep the original units of Pa.<br />
*We convert to hPa when reading into GEOS-Chem.<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|SNODP<br />
|m<br />
|tavg1_2d_lnd_Nx<br />
|snow_depth<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|SNOMAS<br />
|kg m<sup>-2</sup><br />
|tavg1_2d_lnd_Nx<br />
|Total_snow_storage_land <br />
|<br />
|<br />
*Dust mobilization<br />
*Hg simulations<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|SWGDN<br />
|W m<sup>-2</sup><br />
|tavg1_2d_rad_Nx<br />
|surface_incoming_shortwave_flux<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%RADSWG</tt><br />
|<br />
*Soil NOx emissions<br />
*Hg simulations<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|TO3<br />
|Dobsons<br />
|tavg1_2d_slv_Nx<br />
|total_column_ozone<br />
| <br />
|<br />
*Used as input to photolysis<br />
<br />
|-valign="top"<br />
|TROPPT<br />
|hPa<br />
|tavg1_2d_slv_Nx<br />
|tropopause_pressure_based_on_thermal_estimate<br />
|<br />
*Original units of TROPPT are Pa.<br />
*We convert Pa -> hPa because GEOS-Chem expects hPa.<br />
|<br />
*Used to determine tropopause height<br />
<br />
|-valign="top"<br />
|TS<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|surface_skin_temperature<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%TSKIN</tt><br />
|<br />
*CH4 simulation<br />
*Hg simulation<br />
*Sea salt emissions<br />
<br />
|-valign="top"<br />
|T2M<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|2-meter_air_temperature<br />
|<br />
*GEOS-Chem carries this as <tt>State_Met%TS</tt><br />
*GEOS-Chem uses T2M as a proxy for surface air temp.<br />
|<br />
*Many locations<br />
<br />
|-valign="top"<br />
|T10M<br />
|K<br />
|tavg1_2d_slv_Nx<br />
|10-meter_air_temperature<br />
|<br />
|<br />
*Dust mobilization<br />
<br />
|-valign="top"<br />
|U10M<br />
|m s<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|10-meter_eastward_wind<br />
|<br />
|<br />
*Dry deposition<br />
*Dust mobilization<br />
*Emissions<br />
*Sea salt aerosols<br />
*Hg simulations<br />
<br />
|-valign="top"<br />
|USTAR<br />
|m s<sup>-1</sup><br />
|tavg1_2d_flx_Nx<br />
|surface_velocity_scale<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|-valign="top"<br />
|V10M<br />
|m s<sup>-1</sup><br />
|tavg1_2d_slv_Nx<br />
|10-meter_northward_wind<br />
|<br />
|<br />
*Dry deposition<br />
*Dust mobilization<br />
*Emissions<br />
*Sea salt aerosols<br />
*Hg simulations<br />
<br />
|-valign="top"<br />
|Z0M<br />
|m<br />
|tavg1_2d_flx_Nx<br />
|surface_roughness<br />
|<br />
|<br />
*Dry deposition<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 16:21, 3 August 2015 (UTC)<br />
<br />
== A3cld fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Cloud parameters<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3cld.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|CLOUD<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|cloud_fraction_for_radiation<br />
|<br />
*We regrid CLOUD w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Photolysis<br />
*Chemistry<br />
<br />
|-valign="top"<br />
|OPTDEPTH<br />
|1<br />
|none<br />
|in_cloud_optical_thickness<br />
|<br />
*We create OPTDEPTH = TAUCLI + TAUCLW.<br />
*We regrid OPTDEPTH w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Photolysis<br />
*Chemistry<br />
<br />
|-valign="top"<br />
|QI<br />
|kg kg<sup>-1</sup><br />
|none<br />
|mass_fraction_of_cloud_ice_water<br />
|<br />
|<br />
*Chemistry<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|QL<br />
|kg kg<sup>-1</sup><br />
|tavg3_3d_cld_Nv<br />
|mass_fration_of_cloud_liquid_water<br />
|<br />
|<br />
*Chemistry<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|TAUCLI<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|in_cloud_optical_thickness_for_ice_clouds<br />
|<br />
*We use TAUCLI to create OPTDEPTH.<br />
*We regrid TAUCLI w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm].<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|TAUCLW<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|in_cloud_optical_thickness_for_liquid_clouds<br />
|<br />
*We use TAUCLW to create OPTDEPTH.<br />
*We regrid TAUCLW w/ [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS-5_cloud_regridding_equations.pdf Hongyu Liu's algorithm]<br />
|<br />
*Kept for diagnostics<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:32, 3 August 2015 (UTC)<br />
<br />
== A3dyn fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Dynamical fields (e.g. winds, relative humidity, detrainment fluxes)<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.CH.nc</tt> (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.EU.nc</tt> (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.NA.nc</tt> (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.05x0625.SE.nc</tt> (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.2x25.nc</tt> (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3dyn.4x5.nc</tt> (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|DTRAIN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_cld_Nv<br />
|detraining_mass_flux<br />
|<br />
|<br />
*Cloud convection<br />
<br />
|-valign="top"<br />
|OMEGA<br />
|Pa s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|vertical_pressure_velocity<br />
|<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|RH<br />
|1<br />
|tavg3_3d_cld_Nv<br />
|relative_humidity_after_moist<br />
|GMAO computes RH as follows:<br />
*T > 273.16 K: w/r/t liquid<br />
*T < 253.16 K: w/r/t ice<br />
*253.16 K <= T <= 273.16K: weighted avg w/r/t both liquid and ice<br />
|<br />
*Chemistry<br />
*Wet deposition<br />
*Aerosol therm. equilib.<br />
*Aerosol microphysics<br />
<br />
|-valign="top"<br />
|U<br />
|m s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|eastward_wind<br />
|<br />
|<br />
*Advection<br />
<br />
|-valign="top"<br />
|V<br />
|m s<sup>-1</sup><br />
|tavg3_3d_asm_Nv<br />
|northward_wind<br />
|<br />
|<br />
*Advection<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:36, 3 August 2015 (UTC)<br />
<br />
== A3mstC fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Precipitation and sublimation fields<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.CH.nc</tt> (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.EU.nc</tt> (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.NA.nc</tt> (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.05x0625.SE.nc</tt> (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.2x25.nc</tt> (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstC.4x5.nc</tt> (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|DQRCU<br />
|kg kg<sup>-1</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Nv<br />
|convective_rainwater_source <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|DQRLSAN<br />
|kg kg<sup>-1</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Nv<br />
|large_scale_rainwater_source <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|REEVAPCN<br />
|kg kg<sup>-1</sup> s<sup>-1</sup> <br />
|tavg3_3d_mst_Nv<br />
|evap_subl_of_convective_precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|REEVAPLS(AN)<br />
|kg kg<sup>-1</sup> s<sup>-1</sup> <br />
|tavg3_3d_mst_Nv<br />
|evap_subl_of_non_convective_precipitation<br />
|<br />
*In the GEOS-FP raw data files, this field is named REEVAPLSAN.<br />
*In the files created for GEOS-Chem, we change the field name to REEVAPLS.<br />
*GEOS-Chem requires 8-character met field names for backwards compatibility.<br />
|<br />
*Wet deposition<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 17:46, 3 August 2015 (UTC)<br />
<br />
== A3mstE fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Precipitation and convection fields<br />
**Data are 3-dimensional, stored at the edges of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested CH grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested EU grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested NA grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.A3mstE.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*01:30, 04:30, 07:30, 10:30, 13:30, 16:30, 19:30, 22:30 GMT <br />
**Timestamps represent the center of the 3-hour averaging period.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="110px"|[[MERRA-2#MERRA-2 time archiving|Collection]]<br />
!width="300px"|Description<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|CMFMC<br />
|kg m<sup>-2</sup> s<sup>-2</sup><br />
|tavg3_3d_mst_Ne<br />
|Upward moist convective mass flux<br />
|<br />
|<br />
*Cloud convection<br />
<br />
|-valign="top"<br />
|PFICU<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of ice convective precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|PFILSAN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of ice non-convective precipitation <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|-valign="top"<br />
|PFLCU<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of liquid convective precipitation <br />
|<br />
|<br />
*Conv. updraft scavenging<br />
<br />
|-valign="top"<br />
|PFLLSAN<br />
|kg m<sup>-2</sup> s<sup>-1</sup><br />
|tavg3_3d_mst_Ne<br />
|3d flux of liquid non-convective precipitation <br />
|<br />
|<br />
*Wet deposition<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:52, 3 August 2015 (UTC)<br />
<br />
== I3 fields ==<br />
<br />
'''''Overview:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Quantities archived in this file type:<br />
|width="700px"|<br />
*Pressure, temperature, humidity<br />
**Data are 3-dimensional, stored at the midpoint of each vertical level<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|File naming convention:<br />
|<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.CH.nc</tt>&nbsp; (Native resolution, nested China grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.EU.nc</tt>&nbsp; (Native resolution, nested Europe grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.NA.nc</tt>&nbsp; (Native resolution, nested North America grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.05x0625.SE.nc</tt>&nbsp; (Native resolution, nested SE Asia grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.2x25.nc</tt>&nbsp; (2&deg; x 2.5&deg; global grid)<br />
*<tt>MERRA2.YYYYMMDD.I3.4x5.nc</tt>&nbsp; (4&deg; x 5&deg; global grid)<br />
|-valign="top" <br />
!bgcolor="#CCCCCC"|[[MERRA-2#MERRA-2 time archiving|Timestamps:]]<br />
|<br />
*00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00, 21:00 GMT<br />
**Timestamps represent instantaneous ("snapshot") values every 3 hours.<br />
|}<br />
<br />
<br />
'''''List of MERRA-2 data fields in this file type:'''''<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|- bgcolor="#CCCCCC"<br />
!width="100px"|Field<br />
!width="80px"|Units<br />
!width="100px"|[[MERRA-2#MERRA-2_data_file_collections|Collection]]<br />
!width="300px"|Standard name<br />
!width="300px"|Notes<br />
!width="200px"|Where used in GEOS-Chem?<br />
<br />
|-valign="top"<br />
|PS<br />
|hPa<br />
|inst3_3d_asm_Nv<br />
|surface_pressure<br />
|<br />
*We keep the original units of Pa<br />
*We convert Pa -> hPa when reading the PS field in GEOS-Chem.<br />
|<br />
*Advection <br />
*Many other locations<br />
<br />
|-valign="top"<br />
|PV<br />
|K m<sup>2</sup> kg<sup>-1</sup> s<sup>-1</sup><br />
|inst3_3d_asm_Nv<br />
|ertels_potential_vorticity<br />
|<br />
*This field is labeled EPV in the GEOS-FP raw data files.<br />
*GEOS-Chem renames this to "PV" for backwards compatibility with older met products.<br />
|<br />
*Kept for diagnostics<br />
<br />
|-valign="top"<br />
|QV<br />
|kg kg<sup>-1</sup> <br />
|inst3_3d_asm_Nv<br />
|specific_humidity<br />
|In GEOS-Chem:<br />
*QV at time t is converted to g/kg and saved into <tt>State_Met%SPHU1</tt>;<br />
*QV at time t+3hr is converted to g/kg and saved into <tt>State_Met%SPHU2</tt>;<br />
*QV is then interpolated to the current time.<br />
|<br />
*Chemistry<br />
*Wet deposition<br />
*PBL mixing<br />
<br />
|-valign="top"<br />
|T<br />
|K<br />
|inst3_3d_asm_Nv<br />
|air_temperature<br />
|In GEOS-Chem:<br />
*T @ time t is saved into <tt>State_Met%TMPU1</tt>;<br />
*T @ time t+3h is saved into <tt>State_Met%TMPU2</tt>;<br />
*T is then interpolated to the current time.<br />
|<br />
*Many locations<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:56, 3 August 2015 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=FlexChem&diff=41803FlexChem2019-05-22T02:34:04Z<p>Sebastian D. Eastham: /* Adding chemical mechanisms in FlexChem */ Description of how to add cross-section data</p>
<hr />
<div>On this page we provide information about the FlexChem chemical solver, which was introduced in [[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]].<br />
<br />
== Overview ==<br />
<br />
The clean and flexible reimplementation of the Kinetic PreProcessor package (aka KPP)&mdash;known as '''FlexChem'''&mdash;is nearing full integration into GEOS-Chem. Most of the remaining FlexChem development work will focus on replacing legacy infrastructure&mdash;which prevents GEOS-Chem from operating efficiently in high-performance computing (HPC) environments&mdash;with newer, more efficient algorithms. <br />
<br />
Check back soon for the latest information!<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:58, 19 May 2016 (UTC)<br />
<br />
== Milestones ==<br />
<br />
The following table shows several milestones that were achieved in the FlexChem implementation, development, as well as ongoing development tasks.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="600px"|Task<br />
!width="150px"|Developer<br />
!width="250px"|Status<br />
<br />
|-valign="top" <br />
|Add FlexChem into [[GEOS-Chem v11-01#v11-01c|v11-01c]]<br />
|Mike Long<br />
|Completed 14 Dec 2015<br />
<br />
|-valign="top" <br />
|Enable the "Tropchem" mechanism<br />
|Mike Long<br />
|Completed 14 Dec 2015<br />
<br />
|-valign="top" <br />
|Restore the OH and HO2 diagnostics (ND43)<br />
|Melissa Sulprizio <br />
|Completed 18 Dec 2015<br />
<br />
|-valign="top" <br />
|Remove CSPEC array and replaced with <tt>State_Chm%Species</tt><br />
|Melissa Sulprizio<br />
|Completed 22 Dec 2015<br />
<br />
|-valign="top" <br />
|Enable a temporary workaround for family tracers (ISOPN, MMN, CFCX, HCFCX)<br />
|Mike Long <br />
|Completed 25 Jan 2016<br />
<br />
|-valign="top" <br />
|Enable FAST-JX photochemistry<br />
|Mike Long <br />
|Completed 25 Jan 2016<br />
<br />
|-valign="top" <br />
|Enable the "Benchmark" (aka "Standard") chemistry mechanism<br />
|Melissa Sulprizio<br />
|Completed 29 Jan 2016<br />
<br />
|-valign="top" <br />
|Restore the broken J-value diagnostic (ND22)<br />
|Melissa Sulprizio<br />
|Completed 15 Mar 2016<br />
<br />
|-valign="top" <br />
|Parallelize the main KPP driver loop; fixed other minor issues<br />
|Bob Yantosca<br />
|Completed 30 Mar 2016<br />
<br />
|-valign="top" <br />
|Enable the "SOA" and "SOA-SVPOA" mechanisms<br />
|Lizzie Lundgren<br />
|Completed 01 Apr 2016<br />
<br />
|-valign="top" <br />
|Merge FlexChem code based on [[GEOS-Chem v11-01#v11-01c|v11-01c]] with [[GEOS-Chem v11-01#v11-01f|v11-01f]]<br />
|Melissa Sulprizio<br />
|Completed 20 Apr 2016<br />
<br />
|-valign="top" <br />
|Add KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp)<br />
|Mike Long<br />
|Completed 19 Apr 2016<br />
<br />
|-valign="top" <br />
|Create new <tt>gckpp_*.F90</tt> files from the updated KPP solver package<br />
|Melissa Sulprizio<br />
|Completed 22 Apr 2016<br />
<br />
|-valign="top" <br />
|Enable the "UCX" mechanism<br />
|Melissa Sulprizio<br />
|Completed 26 Apr 2016<br />
<br />
|-valign="top" <br />
|Introduce a new prod/loss diagnostic into the KPP solver package<br />
|Mike Long<br />
|Completed 29 Apr 2016<br />
<br />
|-valign="top" <br />
|Complete unit tests and 1-month benchmarks for the Standard, Tropchem, UCX, SOA, and SOA-SVPOA simulations<br />
|Melissa Sulprizio<br>Lizzie Lundgren<br />
|Completed 05 May 2016<br />
<br />
|-valign="top" <br />
|Remove tracer indices of Rn, Pb, Be, Hg, and POPs simulations from <tt>tracerid_mod.F</tt>. (This paves the way for us to retire <tt>tracerid_mod.F</tt>.)<br />
|Bob Yantosca<br />
|Completed 02 May 2016<br />
<br />
|-valign="top"<br />
|Add a fast species name lookup algorithm<br />
|Bob Yantosca<br />
|Code is in place as of 04 May 2016, but has not been implemented throughout GEOS-Chem yet.<br />
<br />
|-valign="top" <br />
|Store the unique list of GEOS-Chem species in the GEOS-Chem species database object. (In other words, we combine the list of advected tracers with the list of KPP chemical species and remove duplicate entries).<br />
|Bob Yantosca<br />
|Completed 09 May 2016<br />
<br />
|-valign="top" <br />
|Store the indices of each species in the KPP chemical reaction matrix in the GEOS-Chem species database object.<br />
|Bob Yantosca<br />
|Completed 09 May 2016<br />
<br />
|-valign="top" <br />
|Merge FlexChem with other [[GEOS-Chem v11-01#v11-01g|v11-01g]] updates and bug fixes<br />
|Bob Yantosca<br />
|Completed 17 May 2016<br />
<br />
|-valign="top" <br />
|Remove family tracer fields of the <tt>Input_Opt</tt> object, namely: <tt>TRACER_N_CONST, TRACER_CONST, TRACER_COEFF, ID_EMITTED</tt>. These were only used by SMVGEAR and are now obsolete.<br />
|Bob Yantosca<br />
|Completed 18 May 2016<br />
<br />
|-valign="top" <br />
|Create mapping vectors in the <tt>State_Chm</tt> object to store the ID numbers of species that are advected, dry-deposited, wet-deposited, and/or included in the KPP chemical mechanism<br />
|Bob Yantosca<br />
|Completed 19 May 2016<br />
<br />
|-valign="top" <br />
|Remove all 1-D loop indexing variables (<tt>JLOOP, KLOOP, KTLOOP, JLOP, IXSAVE, IYSAVE, IZSAVE</tt>) that were used by SMVGEAR<br />
|Melissa Sulprizio<br />
|Completed 19 May 2016<br />
<br />
|-valign="top" <br />
|Remove SMVGEAR input files (<tt>globchem.dat, mglob.dat</tt>) and associated subroutines (<tt>readchem.F, reader.F</tt>)<br />
|Melissa Sulprizio<br />
|Completed 30 Jun 2016<br />
<br />
|-valign="top" <br />
|Remove <tt>tracerid_mod.F</tt> and related tracer ID flags (<tt>IDTxxxx, IDxxxx</tt>). Instead, use the GEOS-Chem species database to retrieve species index from species name.<br />
|Jacob Group Code-A-Thon<br />
|Completed 24 Jun 2016<br />
<br />
|-valign="top" <br />
|Remove tracers from restart files and read/write restart file species only<br />
|Lizzie Lundgren<br />
|Completed 12 Jul 2016<br />
<br />
|-valign="top" <br />
|Create unit conversion routines for species that mimic existing routines for tracers or convert to/from molecules/cm3 <br />
|Lizzie Lundgren<br />
|Completed 25 Jul 2016<br />
<br />
|-valign="top" <br />
|Add State_Chm variable to track species units throughout GEOS-Chem (<tt>State_Chm%Spc_Units</tt>)<br />
|Lizzie Lundgren<br />
|Completed 25 Jul 2016<br />
<br />
|-valign="top" <br />
|Remove the remaining family tracers (ISOPN, MMN, CFCX, HCFCX). Henceforth, FlexChem will only work with individual species. <br />
|Melissa Sulprizio<br />
|Completed 28 Jul 2016<br />
<br />
|-valign="top" <br />
|Move the non-advected species initial unit conversion of background values from <tt>INIT_FLEXCHEM</tt> (called during chemistry) to <tt>READ_GC_RESTART</tt> (called during restart file read)<br />
|Lizzie Lundgren<br />
|Completed 4 Aug 2016<br />
<br />
|-valign="top" <br />
|Store species background concentrations values previously stored in <tt>globchem.dat</tt> in the species database<br />
|Lizzie Lundgren<br />
|Completed 11 Aug 2016<br />
<br />
|-valign="top"<br />
|Rebuild Standard, Tropchem, UCX, SOA, SOA-SVPOA chemistry mechanisms to use the new prod/loss functionality in KPP (i.e. <tt>FLUX on</tt>)<br />
|Melissa Sulprizio<br />
|Completed 13 Jul 2016<br />
<br />
|-valign="top" <br />
|Attach the new KPP prod/loss output to the GEOS-Chem prod/loss diagnostic (ND65)<br />
|Melissa Sulprizio<br />
|Completed 11 Aug 2016<br />
<br />
|-valign="top" <br />
|Remove <tt>State_Chm%Tracers</tt> and use species concentrations in <tt>State_Chm%Species</tt> instead<br />
|GCST<br />
|Completed 29 Aug 2016<br />
<br />
|-valign="top" <br />
|Validate FlexChem with [[GEOS-Chem v11-01#v11-01g|v11-01g]] benchmarks<br />
|GCST<br />
|''1-month benchmark:''<br>Approved 14 Sep 2016<br />
''1-year benchmark:''<br>Approved 28 Sep 2016<br />
<br />
|-valign="top" <br />
|Fix P/L diagnostics to ignore cycling reactions<br />
|Mike Long<br />
|08 Nov 2016<br />
<br />
|-valign="top" <br />
|Rebuild Standard, Tropchem, UCX, SOA, SOA-SVPOA chemistry mechanisms with [http://www.paratools.com/Kppa Kppa]<br />
|GCST<br />
|TBD<br />
<br />
|-valign="top" <br />
|Update the GEOS-Chem Makefiles so that a fresh version of KPP will be built (using a custom chemical mechanism that you specify) each time GEOS-Chem is compiled.<br />
|GCST<br />
|TBD<br />
<br />
|}<br />
<br />
== Adding chemical mechanisms in FlexChem ==<br />
<br />
=== KPP source code ===<br />
<br />
The KPP source code for FlexChem is currently available as a Git repository on Bitbucket. It can be obtained using:<br />
<br />
git clone https://bitbucket.org/gcst/kpp<br />
git checkout -b GC_updates origin/GC_updates<br />
<br />
Do not download the KPP source code into your GEOS-Chem source code directory to avoid confusion with the KPP directory there. The KPP directory in the GEOS-Chem contains fortran files created by KPP to define the chemical mechanisms.<br />
<br />
Once you have KPP on your system, you will need to build it:<br />
<br />
cd kpp/kpp-2.2.3_01<br />
make clean<br />
make<br />
<br />
If the build completed successfully, you should see the executable <tt>kpp</tt> in the <tt>kpp/kpp-2.2.3_01/bin/</tt> directory. Next, add KPP to your PATH. For bash users, add the following lines the <tt>~/.bashrc</tt> file:<br />
<br />
export PATH=$PATH:/PATH_TO_KPP/KPP/kpp-2.2.3_01/bin/<br />
export KPP_HOME=/PATH_TO_KPP/KPP/kpp-2.2.3_01<br />
<br />
For csh or tcsh users, add the following lines to the <tt>~/.cshrc</tt> file:<br />
<br />
setenv PATH $PATH:/PATH_TO_KPP/KPP/kpp-2.2.3_01/bin/<br />
setenv KPP_HOME=/PATH_TO_KPP/KPP/kpp-2.2.3_01<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:18, 10 August 2016 (UTC)<br />
<br />
=== Building a custom chemical mechanism ===<br />
<br />
==== In GEOS-Chem v11-02 ====<br />
<br />
[[GEOS-Chem v11-02]] has three pre-built chemical mechanisms: Standard, Tropchem, and SOA_SVPOA. These mechanisms are described on our [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|''GEOS-Chem chemistry mechanisms'' wiki page]].<br />
<br />
GEOS-Chem will eventually include the option to create a custom chemistry mechanism and automatically build that mechanism with KPP when GEOS-Chem is compiled. For now, users still need to build custom chemistry mechanisms manually using the following files that can be found in the Custom mechanism subdirectory (e.g <tt>Code.v11-02/KPP/Custom/</tt>):<br />
<br />
Custom.eqn<br />
gckpp.kpp<br />
build_mechanism.sh<br />
rename_f90.sh (used by build_mechanism.sh)<br />
<br />
The <tt>.eqn</tt> file currently included in each of the KPP mechanism subdirectories defines the variable species (<tt>#DEFVAR</tt>), fixed species (<tt>#DEFFIX</tt>), and reactions (<tt>#EQUATIONS</tt>) to include in that mechanism. The equations section is further broken down into gas-phase reactions, heterogeneous reactions, and photolysis reactions. The default custom mechanism defined in <tt>Custom.eqn</tt> is based on the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|Standard (UCX-based) mechanism]] (found in <tt>KPP/Standard/Standard.eqn</tt>). The production and loss families in the custom gckpp.kpp are also built for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|Standard (UCX-based) mechanism]] (found in <tt> KPP/Standard/gckpp.kpp </tt>), and will not work with the <tt>Tropchem.eqn </tt>. If you would like to base your custom mechanism on the tropchem mechanism instead, simply copy the <tt>Tropchem.eqn </tt> and <tt> gckpp.kpp</tt> files over instead:<br />
<br />
cd KPP/Custom/<br />
cp ../Tropchem/Tropchem.eqn Custom.eqn<br />
cp ../Tropchem/gckpp.kpp gckpp.kpp<br />
<br />
#Edit the <tt>Custom.eqn</tt> to add or modify species and reactions for your mechanism. If you are adding a heterogeneous reaction or photolysis reaction, those require additional modifications to other files. See [[FlexChem#Adding_a_reaction_to_the_mechanism|the ''Adding a reaction to the mechanism section'' below]].<br />
#Modify the <tt>gckpp.kpp</tt> file if needed. This file defines the KPP integrator and tells KPP to use the specified <tt>.eqn</tt> file to build the mechanism. This file also defines the prod/loss families as [[FlexChem#Production_.26_loss_diagnostic|described below]]. <br />
#Rebuild the mechanism with KPP by typing <tt>./build_mechanism.sh</tt>. The <tt>build_mechanism.sh</tt> script will call on KPP to build the necessary <tt>gckpp_*.F90</tt> files.<br />
#Compile GEOS-Chem for the new mechanism by including <tt>CHEM=Custom</tt> in your make command. NOTE: If your custom mechanism is a UCX-based mechanism then you should also include <tt>NO_REDUCED=y</tt> in your make command.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:54, 6 February 2018 (UTC)<br />
<br />
--[[User:Jared Brewer|Jared Brewer]] 20:30, 25 July 2018 (UTC)<br />
<br />
==== In GEOS-Chem v11-01 ====<br />
<br />
[[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]] has five pre-built chemical mechanisms: Standard, Tropchem, SOA, SOA-SVPOA, and UCX. These mechanisms are described on our [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|''GEOS-Chem chemistry mechanisms'' wiki page]].<br />
<br />
GEOS-Chem will eventually include the option to create a custom chemistry mechanism and automatically build that mechanism with KPP when GEOS-Chem is compiled. For now, users still need to build custom chemistry mechanisms manually. The [[#KPP source code|KPP Git repository]] includes the following files:<br />
<br />
geos2kpp_parser.pl<br />
gckpp.kpp<br />
rename_f90.sh<br />
copy_gckpp.sh<br />
<br />
Note: You'll need to checkout the <tt>GC_updates</tt> branch in the KPP repository to access these files. This can be achieved with <code>git checkout GC_updates</code>.<br />
<br />
These files can be used to build a custom chemistry mechanisms with KPP. Follow these steps:<br />
<br />
#The <tt>geos2kpp_parser.pl</tt> script can be used to create <tt>globchem.eqn</tt>, <tt>globchem.spc</tt>, and <tt>globchem.def</tt> files from a <tt>globchem.dat</tt> file. You may also choose to start from the preexisting <tt>globchem.eqn</tt>, <tt>globchem.spc</tt>, and <tt>globchem.def</tt> files found in the <tt>KPP</tt> subdirectories of the GEOS-Chem source code (e.g. <tt>Code.v11-01/KPP/Standard/</tt>).<br />
#If needed, edit <tt>globchem.eqn</tt> to add or modify reactions for your mechanism (see below) and edit <tt>globchem.spc</tt> to add/modify species to your mechanism. Put the final <tt>globchem.*</tt> files in the same directory as the <tt>gckpp.kpp</tt> file.<br />
#Modify the <tt>gckpp.kpp</tt> file if needed. This file defines the KPP integrator and tells KPP to use the <tt>globchem.spc</tt> and <tt>globchem.eqn</tt> files to build the mechanism. This file also defines the prod/loss families as [[FlexChem#Production_.26_loss_diagnostic|described below]].<br><span style="color:red">IMPORTANT: The default <tt>gckpp.kpp</tt> file that is included with KPP does not define any prod/loss families. Therefore, you must make sure the ND65 prod/loss diagnostic is turned off in <tt>input.geos</tt> when you run GEOS-Chem. If you would like to use prod/loss families in your custom mechanism, you can see the <tt>gckpp.kpp</tt> files in the <tt>KPP</tt> subdirectories of the GEOS-Chem source code (e.g. <tt>Code.v11-01/KPP/Standard/gckpp.kpp</tt>) for examples.</span><br />
#Execute KPP using <code>kpp gckpp.kpp</code>. This will create the necessary <tt>gckpp_*.f90</tt> files.<br />
#Run <code>./rename_f90.sh</code> to rename <tt>gckpp_*.f90</tt> to <tt>gckpp_*.F90</tt>.<br />
#Open <tt>copy_gckpp.sh</tt> and modify the line for <tt>codedir</tt>. Save and run <code>./copy_gckpp.sh</code>. This will copy the <tt>gckpp_*.F90</tt> files to <tt>codedir/Custom/</tt>.<br />
#Compile GEOS-Chem for the new mechanism by including <tt>CHEM=Custom</tt> in your make command.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:18, 10 August 2016 (UTC)<br />
<br />
=== Adding a reaction to the mechanism ===<br />
<br />
No matter what reaction is being added, the general procedure is the same. A new line must be added to <tt>.eqn</tt> of the following form:<br />
<br />
{700} A + B = C + 2.000D : REQN(ARG_A,ARG_B);<br />
<br />
The first number (700) is a KPP tag. The specific value has no effect on the reaction, but this should uniquely identify the reaction. The second section denotes the reactants (A and B) as well as the products (C and D) of the reaction. If exactly one molecule is consumed or produced, then the factor can be omitted; otherwise the number of molecules consumed or produced should be specified with at least 1 decimal place of accuracy. The final section, between the colon and semi-colon, specifies the function and arguments which will be used to calculate the reaction rate constant k. For a two-body reaction, the overall rate at which the reaction proceeds will be calculated as k[A][B].<br />
<br />
'''Two-body reactions'''<br />
<br />
In the case of two-body reactions proceeding according to the Arrhenius equation, calculation of k is straightforwardly implemented by calling the GCARR function. For example, the most recent JPL chemical data evaluation (as of February 2017) specifies that the reaction O3 + NO produces NO2 and O2, and its Arrhenius parameters are A = 3.0x10^-12 and E/R = 1500. The entry for this reaction therefore reads as follows (noting the different sign convention used for E/R)<br />
<br />
{1} O3 + NO = NO2 + O2 : GCARR(3.00E-12,0,-1500); <br />
<br />
The exact implementation of the Arrhenius rate calculation can be found in <tt>gckpp.kpp</tt>, as can other rate functions such as that required for three-body, pressure-dependent reactions. Any rate function which is to be referenced in the <tt>.eqn</tt> file must be available in <tt>gckpp.kpp</tt> prior to building the reaction mechanism.<br />
<br />
'''Photolysis reactions'''<br />
<br />
Similarly, a photolysis reaction can be specified by giving the correct index of the <tt>PHOTOL</tt> array. This index can be determined by inspecting the file [[FAST-JX_v7.0_photolysis_mechanism#FJX_j2j.dat|<tt>FJX_j2j.dat</tt>]] in your run directory. For example, one branch of the NO3 photolysis reaction is specified in the <tt>.eqn</tt> file as<br />
<br />
{522} NO3 + hv = NO2 + O : PHOTOL(<span style="color:red">12</span>) <br />
<br />
Referring back to <tt>FJX_j2j.dat</tt> shows that reaction 12, as specified by the left-most index, is indeed NO3 = NO2 + O:<br />
<br />
<span style="color:red">12</span> NO3 PHOTON NO2 O 0.886 /NO3 /<br />
<br />
If your reaction is not already in <tt>FJX_j2j.dat</tt>, you may add it there. You may also need to modify <tt>FJX_spec.dat</tt> (also found in your run directory) to include cross-sections for your species (see below).<br />
<br />
Finally, you will need to update routine <tt>PHOTO_JX</tt> found in <tt>fast_jx_mod.F</tt> to archive the J-values for your new reaction to the ND22 diagnostic. The J-values are obtained from array <tt>ZPJ</tt> which uses the same index found in the <tt>FJX_j2j.dat</tt> file. For example:<br />
<br />
!---------------------------------------------------------------<br />
! Archive J-values for ND22 diagnostic<br />
!---------------------------------------------------------------<br />
IF ( ND22 > 0 ) THEN<br />
<br />
! Save J-values for 2PM diagnostic boxes<br />
IF ( LTJV(ILON,ILAT) > 0 ) THEN<br />
<br />
DO L = 1, LD22<br />
! AD22 IDs 5, 6, and 15 (J-values for O3 and O2)<br />
! are handled in routine PHOTRATE_ADJ<br />
! Hardcode ZPJ indices based on valued from FJX_j2j.dat<br />
! for now (mps, 3/15/16)<br />
AD22(ILON,ILAT,L, 1) = AD22(ILON,ILAT,L, 1) + ! JNO2<br />
& ZPJ(L,<span style="color:red">11</span>,ILON,ILAT)<br />
...<br />
<br />
Index 11 used for obtaining JNO2 correcponds to the index found <tt>FJX_j2j_mod.F90</tt>:<br />
<br />
<span style="color:red">11</span> NO2 PHOTON NO O 1.000 /NO2 /<br />
<br />
If your reaction involves new cross section data, you will need to follow an additional set of steps. Specifically, you will need to 1) estimate the cross section of each wavelength bin (using the correlated-k method), and 2) add this data to the <tt>FJX_spec.dat</tt> file. For the first step, you can use tools already available on the Prather research group website. To generate the cross-sections used by Fast-JX, download the file "UCI_fastJ_addX_73cx.zip" from: [ftp://128.200.14.8/public/prather/Fast-J_&_Cloud-J/]. You can then simply add your data to <tt>FJX_spec.dat</tt> and refer to it in <tt>FJX_j2j.dat</tt> as specified above. The following then describes how to generate a new set of cross-section data for the example of some new species MEKR:<br />
<br />
To generate the photolysis cross sections of a new species, come up with some unique name which you will use to refer to it in the FJX <tt>j2j</tt> and <tt>spec</tt> files - e.g. MEKR. You will need to copy one of the addX_*.f routines and make your own (say, addX_MEKR.f). Your edited version will need to read in whatever cross section data you have available, and you'll need to decide how to handle out-of-range information - this is particularly crucial if your cross section data is not defined in the visible wavelengths, as there have been some nasty problems in the past caused by implicitly assuming that the XS can be extrapolated (I would recommend buffering your data with zero values at the exact limits of your data as a conservative first guess). Then you need to compile that as a standalone code and run it; this will spit out a file fragment containing the aggregated 18-bin cross sections, based on a combination of your measured/calculated XS data and the non-contiguous bin subranges used by Fast-JX. Once that data has been generated, just add it to <tt>FJX_spec.dat</tt> and refer to it as above. There are examples in the addX files of how to deal with variations of cross section with temperature or pressure, but the main takeaway is that you will generate multiple cross section entries to be added to <tt>FJX_spec.dat</tt> with the same name.<br />
<br />
An important complication: if your cross section data varies as a function of temperature AND pressure, you need to do something a little different. The acetone XS documentation shows one possible way to handle this; Fast-JX currently interpolates over either T or P, but not both, so if your data varies over both simultaneously then this will take some thought. The general idea seems to be that one determines which dependence is more important and uses that to generate a set of 3 cross sections (for interpolation), assuming values for the unused variable based on the standard atmosphere.<br />
<br />
'''Heterogeneous reactions'''<br />
<br />
Implementing new heterogeneous chemistry requires an additional step. For the reaction in question, a reaction should be added as usual, but this time the rate function should be given as an entry in the <tt>HET</tt> array. A simple example is uptake of HO2, specified as<br />
<br />
{285} HO2 = O2 : HET(ind_HO2,1);<br />
<br />
Note that the product in this case, O2, is actually a fixed species, so no O2 will actually be produced. O2 is used in this case only as a dummy product to satisfy the KPP requirement that all reactions have at least one product. Here, <tt>HET</tt> is simply an array of pre-calculated rate constants. The rate constants in <tt>HET</tt> are actually calculated in <tt>gckpp_HetRates.F90</tt>. To implement an additional heterogeneous reaction, the rate calculation must be added to this file. The following example illustrates a (fictional) heterogeneous mechanism which converts the species XYZ into CH2O. This reaction is assumed to take place on the surface of all aerosols, but not cloud droplets (this requires additional steps not shown here). Three steps would be required:<br />
<br />
* Add a new line to the <tt>.eqn</tt> file, such as <tt>{900} XYZ = CH2O : HET(ind_XYZ,1);</tt><br />
* Add a new function to <tt>gckpp_HetRates.F90</tt> designed to calculate the heterogeneous reaction rate. As a simple example, we can copy the function <tt>HETNO3</tt> and rename it <tt>HETXYZ</tt>. This function accepts two arguments: molecular mass of the impinging gas-phase species, in this case XYZ, and the reaction's "sticking coefficient" - the probability that an incoming molecule will stick to the surface and undergo the reaction in question. In the case of <tt>HETNO3</tt>, it is assumed that all aerosols will have the same sticking coefficient, and the function returns a first-order rate constant based on the total available aerosol surface area and the frequency of collisions.<br />
* Add a new line to the function <tt>SET_HET</tt> in <tt>gckpp_HetRates.F90</tt> which calls the new function with the appropriate arguments and passes the calculated constant to <tt>HET</tt>. Example: assuming a molar mass of 93 g/mol, and a sticking coefficient of 0.2, we would write <tt>HET(ind_XYZ, 1) = HETXYZ(9.30E1_fp, 2E-1_fp)</tt><br />
<br />
The function <tt>HETXYZ</tt> can then be specialized to distinguish between aerosol types, or extended to provide a second-order reaction rate, or whatever the user desires.<br />
<br />
--[[User:Sebastian D. Eastham|Sebastian D. Eastham]] ([[User talk:Sebastian D. Eastham|talk]]) 22:45, 14 February 2017 (UTC)<br />
<br />
== Chemical species in FlexChem ==<br />
<br />
A complete list of chemical species included in the pre-built (Standard, Tropchem, SOA, SOA-SVPOA, UCX) mechanisms can be viewed on our [[Species in GEOS-Chem]] wiki page.<br />
<br />
=== Adding a chemical species ===<br />
<br />
Adding chemical species to FlexChem can be achieved be following these simple steps:<br />
<br />
#Add the species name(s) to the <tt>.spc</tt> file under the <tt>#DEFVAR</tt> or <tt>#DEFFIX</tt> section.<br />
#Add or modify any reactions in the <tt>.eqn</tt> file under the <tt>#EQUATIONS</tt> section.<br />
#Build the chemical mechanism with KPP by following [[#Building a custom chemical mechanism|the steps outlined above]].<br />
<br />
NOTE: If a species is defined by KPP, it will automatically be added to the species database with the default settings for non-advected chemical species when GEOS-Chem runs. However, we recommend also adding your species to the species database by following [[GEOS-Chem_species_database#Adding_new_species_to_the_GEOS-Chem_species_database|these instructions]]. Including a species in the species database is required if the new species is to be defined as an advected species in <tt>input.geos</tt>.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:27, 22 November 2016 (UTC)<br />
<br />
=== Removal of family tracers ===<br />
<br />
In [[GEOS-Chem v9-02]] we removed all family tracers from GEOS-Chem. For example, the NOx family was replaced by individual tracers NO, O3, NO3, and HNO2. Similarly, the Ox family was replaced by individual tracers O3, NO2, and NO3.<br />
<br />
But certain updates that were made to GEOS-Chem after v9-02 introduced new family tracers into the various chemistry mechanisms:<br />
<br />
* The [[Caltech isoprene scheme]] added the ISOPN and MVKN families<br />
* The [[UCX chemistry mechanism]] added the CFCX and HCFCX families<br />
<br />
The implementation of the FlexChem chemical solver package in [[GEOS-Chem v11-01]] forced us to remove these family tracers, because the KPP chemical solver is designed to only include individual species in its mechanism. Removing these families also allows us to avoid some cumbersome sections of code that were used to construct each family from its constituent members.<br />
<br />
Therefore, the following families have been removed from [[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]], and replaced with individual species:<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="125px" bgcolor="#FF0000"|Removed<br />
!width="375px" colspan="3" bgcolor="#00FF00"|Added as individual advected species<br />
!width="350px" bgcolor="#CCCCCC"|[[GEOS-Chem_chemistry_mechanisms#NOx-Ox-hydrocarbon-aerosol_chemistry_and_variants|Mechanisms]] in which these are used<br />
<br />
|-valign="top"|<br />
|width="125px"|ISOPN<br />
|width="125px"|ISOPND<br />
|width="125px"|ISOPNB <br />
|<br />
|width="350px"|Standard, UCX, TropChem, SOA, SOA-SVPOA<br />
<br />
|-valign="top" <br />
|MVKN <br />
|MACRN<br />
|MVKN<br />
|<br />
|Standard, UCX, TropChem, SOA, SOA-SVPOA<br />
<br />
|-valign="top"<br />
|CFCX <br />
|CFC113<br />
|CFC114<br />
|CFC115<br />
|Standard, UCX<br />
<br />
|-valign="top<br />
|HCFCX<br />
|HCFC22<br />
|HCFC141b<br />
|HCFC142b<br />
|Standard, UCX<br />
<br />
|}<br />
<br />
The constituents of each former family are now included as advected species in the various GEOS-Chem mechanisms. To obtain diagnostic output for the former families, you can save out each of the individual species and combine the output in post-processing. <br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:20, 16 August 2016 (UTC)<br />
<br />
== Production & loss diagnostic ==<br />
<br />
Mike Long implemented the functionality for chemical prod/loss families in the KPP source code. With this option turned on, KPP will calculate the net prod/loss rates for user-defined chemical families.<br />
<br />
=== Adding production & loss families ===<br />
<br />
KPP prod/loss families are turned on by the <tt>#FAMILIES</tt> token in the <tt>gckpp.kpp</tt> file. For example:<br />
<br />
#INTEGRATOR rosenbrock<br />
#LANGUAGE Fortran90<br />
#DRIVER none<br />
<br />
#INCLUDE globchem.spc<br />
#INCLUDE globchem.eqn<br />
<br />
<span style="color:green">#FAMILIES<br />
POx : O3 + NO2 + 2NO3 + PAN + PMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D;<br />
LOx : O3 + NO2 + 2NO3 + PAN + PMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D;<br />
PCO : CO;<br />
LCO : CO;<br />
PSO4 : SO4;</span><br />
<br />
To add a new prod/loss family, add a new line to the <tt>#FAMILIES</tt> section with the format<br />
<br />
FAM_NAME : MEMBER_1 + MEMBER_2 + ... + MEMBER_N;<br />
<br />
The family name must start with <tt>P</tt> or <tt>L</tt> to indicate whether KPP should calculate a production or a loss rate.<br />
<br />
The maximum number of families allowed by KPP is currently set to 50. Depending on how many prod/loss families you add, you may need to increase that to a larger number to avoid errors in KPP. You can change the number for <tt>MAX_FAMILIES</tt> in <tt>KPP/kpp-2.2.3_01/src/gdata.h</tt> and then [[FlexChem#KPP_source_code|rebuild KPP]].<br />
<br />
#define MAX_EQN 800<br />
#define MAX_SPECIES 800<br />
#define MAX_SPNAME 30<br />
#define MAX_IVAL 40<br />
/* MAX_EQNTAG = max length of equation ID in eqn file */<br />
#define MAX_EQNTAG 12<br />
/* MAX_K = max length of rate expression in eqn file */<br />
#define MAX_K 150<br />
#define MAX_ATOMS 10<br />
#define MAX_ATNAME 10<br />
#define MAX_ATNR 250 <br />
#define MAX_PATH 120<br />
#define MAX_FILES 20<br />
<span style="color:green">#define MAX_FAMILIES 50</span><br />
#define MAX_MEMBERS 150<br />
#define MAX_EQNLEN 200<br />
<br />
<span style="color:red">'''IMPORTANT:''' When adding a prod/loss family or changing any of the other settings in <tt>gckpp.kpp</tt>, the chemistry mechanism will need to be rebuilt with KPP as [[#Building a custom chemical mechanism|described above]].</span><br />
<br />
The pre-built chemistry mechanisms (Standard, Tropchem, SOA, SOA-SVPOA, and UCX) were built with the default prod/loss families listed in the example above. For the Tropchem, SOA, and SOA-SVPOA mechanisms several species (ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D) were removed from the Ox family because those species are not defined in those mechanisms. The Ox and CO rates are used in GEOS-Chem for computing budgets in the [http://acmg.seas.harvard.edu/geos/geos_benchmark.html 1-month benchmark simulations] and PSO4 is required for simulations using [[TOMAS_aerosol_microphysics|TOMAS aerosol microphysics]].<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
=== Tagging reactions ===<br />
<br />
Reactions may be manually tagged so that reaction rates can be saved out to the prod/loss diagnostic. To do this, follow these steps:<br />
<br />
1. Create dummy species in <tt>#DEFVAR</tt> section in the <tt>.eqn</tt> file<br />
<br />
#DEFVAR<br />
<br />
A3O2 = IGNORE; {CH3CH2CH2OO; Primary RO2 from C3H8}<br />
ACET = IGNORE; {CH3C(O)CH3; Acetone}<br />
ACTA = IGNORE; {CH3C(O)OH; Acetic acid}<br />
...<br />
<span style="color:green">RXN1 = IGNORE; {Dummy species to tag reaction}</span><br />
<br />
2. Add the dummy species as a product in desired reaction<br />
<br />
#EQUATIONS<br />
//<br />
// Gas-phase reactions<br />
//<br />
O3 + NO = NO2 + O2 <span style="color:green">+ RXN1</span>: GCARR(3.00E-12, 0.0E+00, -1500.0);<br />
<br />
3. Add the dummy species to the <tt>#FAMILIES</tt> section in <tt>gckpp.kpp</tt><br />
<br />
#FAMILIES<br />
POx : O3 + NO2 + 2NO3 + PAN + NPMN + PPN + HNO4 + 3N2O5 + ...;<br />
LOx : O3 + NO2 + 2NO3 + PAN + NPMN + PPN + HNO4 + 3N2O5 + ...;<br />
PCO : CO;<br />
LCO : CO;<br />
PSO4 : SO4<br />
<span style="color:green">PRXN1 : RXN1;</span><br />
<br />
4. Rebuild the mechanism with KPP. Each mechanism subdirectory (e.g. <tt>Code.v11-02/KPP/Standard/</tt>) in [[GEOS-Chem v11-02]] includes a <tt>build_mechanism.sh</tt> script that will call KPP and create the <tt>gckpp*.F90</tt> files. To build the mechanism, type <tt>./build_mechanism.sh</tt>.<br />
<br />
5. Recompile and run GEOS-Chem, making sure you [[FlexChem#Saving_out_production_.26_loss_rates|turn on the prod/loss diagnostics]].<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:31, 6 February 2018 (UTC)<br />
<br />
=== How it works ===<br />
<br />
==== In GEOS-Chem v11-02 and later versions ====<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span><br />
<br />
In [[GEOS-Chem v11-02]], KPP has been updated to greatly simplify how the prod/loss rates are computed. In v11-02a, the chemical mechanisms were rebuilt with KPP at commit <tt>Fix to add coefficients to *_Monitor.F90 - MSL.</tt>. In the updated KPP, prod/loss families now produce one dummy species that is now named with the family name in the <tt>SPC_NAMES</tt> array. For example, POx is now computed using KPP species <tt>POx</tt> in the variable species array <tt>VAR</tt> instead of using several <tt>RR*</tt> species. This greatly reduces the number of dummy species down to the number of prod/loss families that are defined in the input file <tt>gckpp.kpp</tt>. KPP will tag a reaction with the prod/loss family name by processing all reactions to determine if they are net production or net loss for that family.<br />
<br />
GEOS-Chem can now obtain the prod/loss rates directly from the <tt>VAR</tt> array in KPP. The following updates were made to routine <tt>Do_FlexChem</tt> in <tt>GeosCore/flexchem_mod.F90</tt> in v11-02a to properly use the updated KPP prod/loss rates. Text <span style="color:green">green</span> (<span style="color:red">red</span>) indicates code that was added (removed).<br />
<br />
:1. Declare new variable <tt>KppID</tt> and remove obsolete variables for the prod/loss diagnostic<br />
<br />
!<br />
! !LOCAL VARIABLES: <br />
!<br />
INTEGER :: I, J, L, N, F, SpcID, <span style="color:green">KppID</span><br />
<br />
...<br />
<br />
<span style="color:red">! For prod/loss diagnostic<br />
REAL(fp) :: FAM(NFAM)<br />
INTEGER :: IND<br />
INTEGER :: COEF<br />
CHARACTER(LEN=14) :: NAME</span><br />
<br />
:2. Declare <tt>KppID</tt> as <tt>!OMP PRIVATE</tt><br />
<br />
!$OMP PRIVATE ( SpcID, <span style="color:green">KppID</span>, F ) &<br />
<br />
:3. Initialize the prod/loss rates to zero in KPP each time <tt>Do_FlexChem</tt> is called<br />
<br />
!===========================================================<br />
! Initialize species concentrations<br />
!===========================================================<br />
! Loop over KPP Species<br />
DO N=1,NSPEC<br />
<br />
! GEOS-Chem species ID<br />
SpcID = State_Chm%Map_KppSpc(N)<br />
<br />
! Initialize KPP species concentration array<br />
IF ( SpcID .eq. 0) THEN<br />
C(N) = 0.0_dp<br />
ELSE<br />
C(N) = State_Chm%Species(I,J,L,SpcID)<br />
ENDIF<br />
<br />
ENDDO<br />
<br />
<span style="color:green">IF ( Input_Opt%DO_SAVE_PL ) THEN<br />
<br />
! Loop over # prod/loss families<br />
DO F = 1, NFAM<br />
<br />
! Determine dummy species index in KPP<br />
KppID = Ind_(TRIM(FAM_NAMES(F)),'K')<br />
<br />
! Initialize prod/loss rates<br />
IF ( KppID > 0 ) C(KppID) = 0.0_dp<br />
<br />
ENDDO<br />
<br />
ENDIF</span><br />
<br />
:4. Update the prod/loss rate diagnostic code<br />
<br />
!==============================================================<br />
! Obtain prod/loss rates from KPP [molec/cm3]<br />
!==============================================================<br />
IF ( Input_Opt%DO_SAVE_PL ) THEN<br />
<br />
<span style="color:red">! Obtain prod/loss rates from KPP [molec/cm3]<br />
CALL ComputeFamilies( VAR, FAM )</span><br />
<br />
! Loop over # prod/loss families<br />
DO F = 1, NFAM<br />
<br />
<span style="color:green">! Determine dummy species index in KPP<br />
KppID = Ind_(TRIM(FAM_NAMES(F)),'K')</span><br />
<br />
!--------------------------------------------------------<br />
! Add to AD65 array [molec/cm3/s]<br />
!--------------------------------------------------------<br />
<span style="color:red">AD65(I,J,L,F) = AD65(I,J,L,F) + FAM(F) / DT</span><br />
<span style="color:green">IF ( KppID > 0 ) THEN<br />
AD65(I,J,L,F) = AD65(I,J,L,F) + VAR(KppID) / DT<br />
ENDIF</span><br />
<br />
!--------------------------------------------------------<br />
! Save out P(Ox) and L(Ox) from the fullchem simulation<br />
! for a future tagged O3 run<br />
!--------------------------------------------------------<br />
IF ( Input_Opt%DO_SAVE_O3 ) THEN<br />
IF ( TRIM(FAM_NAMES(F)) == 'POx' ) THEN<br />
<span style="color:red">POx(I,J,L) = FAM(F) / DT</span><br />
<span style="color:green">POx(I,J,L) = VAR(KppID) / DT</span><br />
ENDIF<br />
IF ( TRIM(FAM_NAMES(F)) == 'LOx' ) THEN<br />
<span style="color:red">LOx(I,J,L) = FAM(F) / DT</span><br />
<span style="color:green">LOx(I,J,L) = VAR(KppID) / DT</span><br />
ENDIF<br />
ENDIF<br />
<br />
#if defined( TOMAS )<br />
!-------------------------------------------------------<br />
! FOR TOMAS MICROPHYSICS:<br />
!<br />
! Obtain P/L with a unit [kg S] for tracing <br />
! gas-phase sulfur species production (SO2, SO4, MSA)<br />
! (win, 8/4/09)<br />
!-------------------------------------------------------<br />
<br />
! Calculate H2SO4 production rate [kg s-1] in each<br />
! time step (win, 8/4/09)<br />
IF ( TRIM(FAM_NAMES(F)) == 'PSO4' ) THEN <br />
! Hard-coded MW<br />
<span style="color:red">H2SO4_RATE(I,J,L) = FAM(F) / AVO * 98.e-3_fp * &</span><br />
<span style="color:green">H2SO4_RATE(I,J,L) = VAR(KppID) / AVO * 98.e-3_fp * &</span><br />
State_Met%AIRVOL(I,J,L) * &<br />
1e+6_fp / DT<br />
ENDIF<br />
#endif<br />
ENDDO<br />
<br />
ENDIF<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:12, 23 March 2017 (UTC)<br />
<br />
<br />
The table below shows the speedup that is obtained with the improved prod/loss rate diagnostics.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="125px"|Run name, <br>timesteps,<br>and submitter<br />
!width="175px"|Machine or Node<br>and Compiler<br />
!width="100px"|CPU vendor<br />
!width="150px"|CPU model<br />
!width="75px"|Speed [MHz]<br />
!width="50px"|# of<br>CPUs<br />
!width="85px"|CPU time<br />
!width="120px"|Wall time<br />
!width="75px|CPU / Wall<br>ratio<br />
!width="75px"|% of ideal<br />
<br />
|-valign="top" <br />
|v11-01-public<br>(C20T10)<br>Bob Yantosca<br />
|regal16.rc.fas.harvard.edu<br>ifort 11.1<br />
|GenuineIntel<br />
|Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz<br />
|2199.915<br />
|8<br />
|62554.07 s<br>'''17:22:34'''<br />
|9355.80 s<br>'''02:35:59'''<br />
|6.6861<br />
|83.58<br />
<br />
|-valign="top"<br />
|v11-02a-P/L<br>(C20T10)<br>Melissa Sulprizio<br />
|regal17.rc.fas.harvard.edu<br>ifort 11.1<br />
|GenuineIntel <br />
|Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz<br />
|2199.993<br />
|8<br />
|55853.62 s<br>'''15:30:54'''<br />
|8373.14 s<br>'''02:19:44'''<br><span style="color:red">1.12X faster than v11-01-public</span><br />
|6.6706<br />
|83.38<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 15:58, 9 February 2017 (UTC)<br />
<br />
==== In GEOS-Chem v11-01 ====<br />
<br />
<span style="color:darkorange">'''''NOTE: The way that KPP computes production and loss families was greatly simplified in [[GEOS-Chem v11-02#v11-02a|GEOS-Chem v11-02a]]. See the [[#In GEOS-Chem v11-02 and later versions|post above]] for more information.'''''</span><br />
<br />
The number of prod/loss families is defined by <tt>NFAM</tt> in <tt>gckpp_Parameters.F90</tt>. KPP automatically sets this number according to the number of families listed in the <tt>gckpp.kpp</tt> file used to build the mechanism. The prod/loss family names are defined in array <tt>FAM_NAMES</tt> in <tt>gckpp_Monitor.F90</tt>. For example, for the default prod/loss families listed above we have:<br />
<br />
CHARACTER(LEN=15), PARAMETER, DIMENSION(5) :: FAM_NAMES = (/ &<br />
'POx ','LOx ','PCO ', & ! index 1 - 3<br />
'LCO ','PSO4 ' /)<br />
<br />
KPP computes the prod/loss families in routine <tt>ComputeFamilies</tt> (found in <tt>gckpp_Util.F90</tt>). The <tt>FAM</tt> array in that routine contains the accumulated prod/loss rates for that family. For example, the POx family (family 1) is computed as:<br />
<br />
FAM(1) = V(13)+V(14)+V(15)+V(16)+V(17)+V(18)+V(19)+V(20)+V(21)+2*V(22)+...<br />
<br />
The <tt>V</tt> array here corresponds to KPP's <tt>VAR</tt> array containing species concentrations in molec/cm3. The indices passed to <tt>V</tt> indicate which reaction rates are used to compute the prod/loss rate for that family. Here are the steps you can take to validate the reactions used for a given family:<br />
<br />
#Select any index number for array V used in the computation<br />
#Find the index number in SPC_NAMES (defined in <tt>gckpp_Monitor.F90</tt>)<br />
#Find the dummy RR species in <tt>EQN_NAMES</tt> (defined in <tt>gckpp_Monitor.F90</tt>)<br />
#Make sure the reaction identified in the previous step includes a family member as a product (for prod families) or a reactant (for loss families)<br />
<br />
Following these steps for the POx family example, we have:<br />
<br />
#Select <tt>V(13)</tt><br />
#Index 13 corresponds to <tt>RR10</tt> in <tt>SPC_NAMES</tt><br />
#<tt>RR10</tt> is found in <tt>HO2 + NO --> RR10 + NO2 + OH</tt> in <tt>EQN_NAMES</tt><br />
#NO2 is a member of the POx family and is a product in the above reaction &#10004;<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
=== Saving out production & loss rates ===<br />
<br />
==== Binary punch format ====<br />
<br />
The prod/loss rates from KPP are saved out in GEOS-Chem via the [http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#PLMenu ND65 diagnostic]. To activate this diagnostic, set the option for ND65 (stored in <tt>Input_Opt%DO_SAVE_PL</tt>) to <tt>T</tt> in the input.geos file:<br />
<br />
-------------------------------------------------------------------------------<br />
%%% PROD & LOSS MENU %%%:<br />
Turn on P/L (ND65) diag?: '''T'''<br />
# of levels for ND65 : 72<br />
Save O3 P/L (ND20)? : F<br />
------------------------+------------------------------------------------------<br />
<br />
When <tt>Input_Opt%DO_SAVE_PL</tt> is true, FlexChem will call KPP routine <tt>ComputeFamilies</tt> (found in <tt>gckpp_Util.F90</tt>) to obtain the prod/loss rates stored in array <tt>FAM</tt>. The ND65 diagnostic is set up to automatically save out <tt>NFAM</tt> families to the output file and obtain the family names from <tt>FAM_NAMES</tt>, so no code modifications are required when adding prod/loss families to the chemical mechanism.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
==== NetCDF format ====<br />
<br />
[[GEOS-Chem v11-02]] introduces the option to save GEOS-Chem diagnostics to netCDF format by compiling with <tt>NC_DIAG=y</tt>. To save out the prod/loss diagnostics to netCDF format, you can add the following field names to your defined collection(s) in <tt>HISTORY.rc</tt>:<br />
<br />
'Prod_?PRD?', 'GIGCchem', <br />
'Loss_?LOS?', 'GIGCchem', <br />
<br />
where <tt>?PRD?</tt> and <tt>?LOS?</tt> are wildcards that will be placed with all production and loss species as defined in GEOS-Chem. '''''NOTE: GCHP doesn't accept wildcards at this time, so each prod/loss species will need to be listed separately.'''''<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:21, 6 February 2018 (UTC)<br />
<br />
== Validation ==<br />
<br />
=== Benchmark simulations ===<br />
<br />
FlexChem was implemented in [[GEOS-Chem v11-01#v11-01g|v11-01g]] and validated with a 1-month benchmark and a 1-year benchmark. Please see the following links for more information:<br />
<br />
#[[GEOS-Chem_v11-01_benchmark_history#v11-01g|''Approval form for 1-month benchmark simulation v11-01g'']]<br />
#[[GEOS-Chem_v11-01_benchmark_history#v11-01g-Run0|''Results for 1-year benchmark simulation v11-01g-Run0'']]<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 18:38, 9 November 2016 (UTC)<br />
<br />
=== Preliminary timing tests ===<br />
<br />
[[GEOS-Chem_performance#7-day_time_tests|Seven-day time tests]] were performed with the FlexChem code in order to evaluate model performance. The time tests all used 4&deg; x 5&deg; GEOS-FP met fields and were assigned 8 CPUs. Two model version were evaluated: [[GEOS-Chem v11-01#v11-01f|v11-01f]] and [[GEOS-Chem v11-01#v11-01g|v11-01g]] (which includes FlexChem). The results for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|standard mechanism]] and [[NOx-Ox-HC-aerosol|tropchem mechanism]] are summarized below.<br />
<br />
<br />
'''Standard Chemistry Mechanism'''<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="160px"|Model Version<br />
!width="100px"|Wall Time<br />
!width="100px"|CPU Time<br />
!width="160px"|CPU Time / Wall Time<br />
!width="100px"|Memory<br />
|-<br />
|v11-01f<br />
|1:43:15<br />
|10:55:22<br />
|6.3474 (79.34% ideal)<br />
|6.32 GB<br />
|-<br />
|v11-01g<br />
|2:10:37<br />
|14:19:33<br />
|6.5807 (82.26% ideal)<br />
|5.00 GB<br />
<br />
|}<br />
<br />
<br />
'''Tropchem Chemistry Mechanism'''<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="160px"|Model Version<br />
!width="100px"|Wall Time<br />
!width="100px"|CPU Time<br />
!width="160px"|CPU Time / Wall Time<br />
!width="100px"|Memory<br />
|-<br />
|v11-01f<br />
|0:48:23<br />
|5:15:25<br />
|6.5191 (81.49% ideal)<br />
|3.57 GB<br />
|-<br />
|v11-01g<br />
|0:50:24<br />
|5:37:04<br />
|6.6878 (83.60% ideal)<br />
|2.70 GB<br />
|}<br />
<br />
The GEOS-Chem Support Team will continue to evaluate and improve the performance of the FlexChem code for the [[GEOS-Chem v11-01]] release.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:26, 7 September 2016 (UTC)<br />
<br />
== Previous issues that are now resolved ==<br />
<br />
=== FlexChem bug fix: do not zero ACTA, EOH, HCOOH ===<br />
<br />
<span style="color:green">'''''This fix was included in [[GEOS-Chem 12#12.0.0|GEOS-Chem 12.0.0]].'''''</span><br />
<br />
'''''[[User:Katherine Travis|Katie Travis]] wrote:'''''<br />
<br />
<blockquote>I am working on a VOC simulation, and noticed that in my copy of v11-02f, the following species are set to zero in two places:</blockquote><br />
<br />
! Zero certain species<br />
C(ind_ACTA) = 0.e0_dp<br />
C(ind_EOH) = 0.e0_dp<br />
C(ind_HCOOH) = 0.e0_dp<br />
<br />
<blockquote>And</blockquote><br />
<br />
C(ind_ACTA) = 0.0_dp<br />
C(ind_HCOOH) = 0.0_dp<br />
<br />
<blockquote>Since none of these species are fixed in Tropchem.eqn, shouldn’t they NOT be set to zero?</blockquote><br />
<br />
'''''Mike Long wrote:'''''<br />
<br />
<blockquote>I think the code should be removed. This must have been a patch added to maintain parity with SMVGEAR w/o anticipating that the species would become active.</blockquote><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:19, 17 May 2018 (UTC)<br />
<br />
=== Fix for compiling with CHEM=Custom ===<br />
<br />
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-01#v11-01 public release|GEOS-Chem v11-01 public release]]'''''</span><br />
<br />
'''''Prasad Kasibhatla wrote:'''''<br />
<br />
:I am trying to create a custom simulation with some chemistry added to the SOA_SVPOA simulation. I followed all the steps in the wiki to create the <tt>gckpp*F90</tt> files and copy them to the <tt>Code.v11-01/KPP/Custom</tt> directory. I then compile from <tt>Code.v11-01</tt> using the command<br />
<br />
make -j4 MET=geosfp GRID=4x5 CHEM=Custom<br />
<br />
:I noticed that during the compile, the KPP files being compiled are in the <tt>Standard</tt> KPP directory. So it looks like the <tt>CHEM=Custom</tt> option is not directing the compiler to the right place.<br />
<br />
:I solved the problem by adding the following to <tt>Makefile_header.mk</tt> in the Code directory:<br />
<br />
# %%%%% Test if Custom %%%%%<br />
REGEXP :=(^[Cc][Uu][Ss][Tt][Oo][Mm])<br />
ifeq ($(shell <nowiki>[[ "$(CHEM)" =~ $(REGEXP) ]]</nowiki> && echo true),true)<br />
KPP_CHEM :=Custom<br />
IS_CHEM_SET :=1<br />
endif<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 22:43, 17 January 2017 (UTC)<br />
<br />
=== Remove calls to UPDATE_SUN, UPDATE_RCONST from gckpp_Integrator.F90 ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-01 benchmark history#v11-01 provisional release|GEOS-Chem v11-01 provisional release]]'''''</span><br />
<br />
A slow down in GEOS-Chem run time was observed following the implementation of FlexChem in [[GEOS-Chem v11-01|v11-01]]. To resolve this, a temporary workaround was implemented. This fix may be replaced with a more permanent solution in [[GEOS-Chem v11-01#v11-01 public release|GEOS-Chem v11-01 public release]].<br />
<br />
'''''[[User:Bmy|Bob Yantosca]] wrote:'''''<br />
<br />
<blockquote>KPP automatically places calls to <tt>UPDATE_SUN</tt> and <tt>UPDATE_RCONST</tt> in the routines <tt>FunTemplate</tt> and <tt>JacTemplate</tt> (both in the <tt>gckpp_Integrator.F90</tt> module). This assumes that you are not interfacing KPP into any other model, and that you will use KPP to compute the sun angles at each timestep.<br />
<br />
We now call <tt>UPDATE_RCONST</tt> once per grid box before calling the KPP integrator. Also, because we use FAST-JX to get the photo rates, we no longer need to call <tt>UPDATE_SUN</tt>. These duplicate calls were causing a performance bottleneck, as <tt>UPDATE_RCONST</tt> was being called more than 7 million times per day.<br />
<br />
We have removed the duplicate calls from the <tt>gckpp_Integrator.F90</tt> modules in each of the chemistry mechanisms. But we will also need to make sure that when building KPP fresh from an equation file, that this step gets automatically added to the build sequence.</blockquote><br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:53, 9 January 2017 (UTC)<br />
<br />
=== Incorrect species units used in routines UCX_NOX and UCX_H2SO4PHOT ===<br />
<br />
<span style="color:green">'''''This update was validated with the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01j|v11-01j]] and approved on 03 Dec 2016'''''</span><br />
<br />
[[User:Sebastian_D._Eastham|Seb Eastham]] reported an error in <tt>FlexChem_mod.F90</tt> routine <tt>DO_FLEXCHEM</tt>, where UCX routines <tt>UCX_NOX</tt> and <tt>UCX_H2SO4PHOT</tt> are called when species concentrations are in the wrong units. Both routines expect species concentrations in units of kg but species are not converted from molec/cm3 to kg until after the calls. <br />
<br />
'''''Seb Eastham wrote:'''''<br />
<br />
<blockquote><br />
The consequences of this error can actually be seen in the v11-01g benchmark zonal mean concentrations. N2O should be uniform in the trop and then lost in the strat, but if you check out the color bar you’ll see that there is a very difficult-to-see (but huge!) maximum in the mesosphere. This is why the concentration in the trop, which should be the maximum, is so low on the color scale.<br />
</blockquote><br />
<br />
To correct this issue, the UCX routines are now called after the species unit conversion to kg.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 22:01, 14 November 2016 (UTC)<br />
<br />
== Known issues ==<br />
<br />
TBD</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=Stratospheric_Working_Group&diff=41013Stratospheric Working Group2019-03-09T16:37:05Z<p>Sebastian D. Eastham: /* Current GEOS-Chem Stratosphere Projects (please add yours!) */</p>
<hr />
<div>All users interested in the GEOS-Chem stratosphere are encouraged to subscribe to the stratosphere email list (click on the link in the [[#Contact information|contact information section]] section below). <br />
<br />
== Contact information ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Stratospheric Working Group Co-Chairs<br />
|width="600px"|<br />
*[mailto:dbj@atmosp.physics.utoronto.ca Dylan Jones]<br />
*[mailto:susan.e.strahan@nasa.gov Susan Strahan]<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|Stratospheric Working Group email list<br />
|<tt>geos-chem-stratosphere[at] g.harvard.edu</tt><br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To subscribe to email list<br />
|Either<br />
*Send an email to <tt>geos-chem-stratosphere+subscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-stratosphere GEOS-Chem Stratosphere Google Group]<br />
*Click on '''Subscribe to this group'''<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To unsubscribe from email list<br />
|Either<br />
*Send an email to <tt>geos-chem-stratosphere+unsubscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to the [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-stratosphere GEOS-Chem Stratosphere Google Group]<br />
*Click on the '''My Settings''' button<br />
*Click on '''Leave this group'''<br />
|}<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:44, 8 March 2019 (UTC)<br />
<br />
== Current GEOS-Chem Stratosphere Projects (please add yours!) ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|- bgcolor="#cccccc"<br />
!width="200px"|User Group <br />
!width="600px"|Description <br />
!width="300px"|Contact Person<br />
<br />
|-valign="top"<br />
|<br />
|<br />
|<br />
<br />
|-valign="top"<br />
|Harvard (Keith Group)<br />
|Size-resolved stratospheric aerosols for evaluation of volcanic eruption impacts<br />
|[mailto:seastham@mit.edu Sebastian Eastham]<br />
<br />
|-valign="top"<br />
|Add yours here!<br />
|&nbsp;<br />
|&nbsp;<br />
|}<br />
<br />
== Current GEOS-Chem Stratosphere Issues ==<br />
<br />
TBD</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=Stratospheric_Working_Group&diff=41012Stratospheric Working Group2019-03-09T16:36:44Z<p>Sebastian D. Eastham: /* Current GEOS-Chem Stratosphere Projects (please add yours!) */ Adding stratospheric aerosol project</p>
<hr />
<div>All users interested in the GEOS-Chem stratosphere are encouraged to subscribe to the stratosphere email list (click on the link in the [[#Contact information|contact information section]] section below). <br />
<br />
== Contact information ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Stratospheric Working Group Co-Chairs<br />
|width="600px"|<br />
*[mailto:dbj@atmosp.physics.utoronto.ca Dylan Jones]<br />
*[mailto:susan.e.strahan@nasa.gov Susan Strahan]<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|Stratospheric Working Group email list<br />
|<tt>geos-chem-stratosphere[at] g.harvard.edu</tt><br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To subscribe to email list<br />
|Either<br />
*Send an email to <tt>geos-chem-stratosphere+subscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-stratosphere GEOS-Chem Stratosphere Google Group]<br />
*Click on '''Subscribe to this group'''<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To unsubscribe from email list<br />
|Either<br />
*Send an email to <tt>geos-chem-stratosphere+unsubscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to the [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-stratosphere GEOS-Chem Stratosphere Google Group]<br />
*Click on the '''My Settings''' button<br />
*Click on '''Leave this group'''<br />
|}<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:44, 8 March 2019 (UTC)<br />
<br />
== Current GEOS-Chem Stratosphere Projects (please add yours!) ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|- bgcolor="#cccccc"<br />
!width="200px"|User Group <br />
!width="600px"|Description <br />
!width="300px"|Contact Person<br />
<br />
|-valign="top"<br />
|<br />
|<br />
|<br />
<br />
|-valign="top"<br />
|Keith Group<br />
|Size-resolved stratospheric aerosols for evaluation of volcanic eruption impacts<br />
|[mailto:seastham@mit.edu Sebastian Eastham]<br />
<br />
|-valign="top"<br />
|Add yours here!<br />
|&nbsp;<br />
|&nbsp;<br />
|}<br />
<br />
== Current GEOS-Chem Stratosphere Issues ==<br />
<br />
TBD</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=Halogen_chemistry_mechanism&diff=36765Halogen chemistry mechanism2018-05-18T01:22:52Z<p>Sebastian D. Eastham: /* Changes in heterogeneous chemistry */ Describe kIIrILrd</p>
<hr />
<div>== Overview ==<br />
<br />
The halogen simulation present in [[GEOS-Chem v11-02#v11-02d|GEOS-Chem v11-02d]] (approved 12 Feb 2018) was build atop of [[GEOS-Chem v10-01]] and brought into the main code branch at v11-01g. This code brings together published halogen developments in GEOS-Chem as described in detail by Sherwen et al [2016b], including the methyl iodide simulation [Bell et al 2002], the iodine simulation from Sherwen et al [2016a], the original bromine simulation in GEOS-Chem [Parrella et al 2012] ([http://wiki.seas.harvard.edu/geos-chem/index.php/Bromine_chemistry_mechanism as described on the wiki]), the UCX simulation including stratospheric halogens [Eastham et al 2014], and updates to bromine mechanism [Schmidt et al 2016]. Further updates were made to use NASA JPL15-10 halogen cross-sections and rates [Sherwen et al. 2017].<br />
<br />
The gas-phase chemistry follows Sherwen et al [2016b], with updates made to the heterogenous code to work with structural changes from v10-01 to v11-01.<br />
<br />
<br />
:Key additions vs. "out of the box" v10-01:<br />
<br />
*Addition of 21 new tracers (for further details on these tracers, please see the [http://wiki.seas.harvard.edu/geos-chem/index.php/Species_in_GEOS-Chem GEOS-Chem species wiki page]). All halogen tracers are shown below, with '''new ones in bold'''. This includes five aerosol tracers for bromine (BrSALA, BrSALC) and iodine (ISALA, ISALC, AERI).<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 align="center"<br />
|-valign="top"<br />
|CHCl3 ||'''IONO''' ||BrNO2 ||HCFC142b ||Cl2O2<br />
|-valign="top"<br />
|CH2Cl2 ||'''IONO2''' ||BrNO3 ||CFC11 ||'''INO'''<br />
|-valign="top"<br />
|'''CH3I''' ||'''I2O2''' ||CHBr3 ||CFC12 ||HBr<br />
|-valign="top"<br />
|'''CH2I2''' ||'''I2O3''' ||CH2Br2 ||HCFC22 ||HCFC141b<br />
|-valign="top"<br />
|'''CH2ICl''' ||'''I2O4''' ||CH3Br ||H1211 ||Cl2<br />
|-valign="top"<br />
|'''CH2IBr''' ||'''ISALA''' ||BrCl ||H1301 ||'''OIO'''<br />
|-valign="top"<br />
|'''HOI''' ||'''ISALC''' ||HCl ||H2402 ||HOBr<br />
|-valign="top"<br />
|'''I2''' ||'''AERI''' ||CCl4 ||Cl ||HCFC123<br />
|-valign="top"<br />
|'''IBr''' ||'''BrSALA''' ||CH3Cl ||ClO ||OClO<br />
|-valign="top"<br />
|'''ICl''' ||'''BrSALC''' ||CH3CCl3 ||HOCl || <br />
|-valign="top"<br />
|'''I''' ||Br2 ||CFC113 ||ClNO3 || <br />
|-valign="top"<br />
|'''IO''' ||Br ||CFC114 ||ClNO2 || <br />
|-valign="top"<br />
|'''HI''' ||BrO ||CFC115 ||ClOO || <br />
|}<br />
<br />
*Emissions of iodocarbons (CH3I, CH2I2, CH2ICl, CH2IBr) have been included following Ordonez et al [2012]. Emissions of inorganic iodine (HOI, I2) has been using the parameterisation from Carpenter et al [2013] and Macdonald et al [2014].<br />
*Wet deposition of 10 species (HOCl, ClNO3, HI, HOI, INOy, I2OX, AERI) and dry deposition of 8 species (HI, HOI, INOy, I2OX, AERI). <br />
<br />
=== Chlorine ===<br />
<br />
Stratospheric chlorine chemistry is from UCX [Eastham et al 2014]. Tropospheric chlorine chemistry follows that described in Eastham et al [2014] and Schmidt et al [2016], with additions described in Sherwen et al [2016b]. These additions include tropospherically relevant reactions based on the JPL 10-6 compilation [Sander et al., 2011] and IUPAC [Atkinson et al., 2006]. The heterogenous reaction of N2O5 on aerosols was updated to yield<br />
products of ClNO2 and HNO3 [Bertram and Thornton, 2009; Roberts et al., 2009] on sea salt and 2HNO3 on other aerosol types. Reaction probabilities are unchanged [Evans and Jacob,<br />
2005].<br />
<br />
=== Bromine ===<br />
<br />
The bromine simulation incorporates the work of Parrella et al [2012] (See wiki article here on incorporation in earlier versions), with updates (especially to heterogenous process) as described in detail by Schmidt et al [2016]. Minor updates to Schmidt et al [2016] are described in Sherwen et al [2016b].<br />
<br />
=== Iodine ===<br />
<br />
The iodine simulation is described in Sherwen et al [2016a], with updates to coupling with bromine and chlorine described in Sherwen et al [2016b]. Notably, the cycling of iodine on aerosol now results in production of ICl and IBr, instead of I2 as in Sherwen et al [2016a].<br />
<br />
=== Key differences from publication === <br />
<br />
Certain changes were made during implementation of the halogens code in v10-01 into v11-02 that are not described in Sherwen et al (2016b). These include: <br />
*In combination with UCX [Eastham et al 2014], halogen chemistry is calculated online for both troposphere and stratosphere. In Sherwen et al [2016a, 2016b, 2107] the troposphere was calculated offline.<br />
*Updates to heterogeneous chemistry (see separate section with detail below). <br />
*Minor deposition routes included in previous publications were removed for simplicity (Br2, ICl, IBr, I2). <br />
*Rates were updated following the [https://jpldataeval.jpl.nasa.gov/ JPL15-10 complication] [Sherwen et al 2017]. Rates were also updated to more consistently use JPL over alternative options (e.g. vs IUPAC).<br />
*Updates to VOCs ([http://wiki.seas.harvard.edu/geos-chem/index.php/PAN#Acetaldehyde_ocean_source inc. oceanic acetaldehyde source]) in the simulation (see [http://wiki.seas.harvard.edu/geos-chem/index.php/PAN “PAN updates”]) will decrease Bry mixing ratios and therefore halogen impacts.<br />
*Uptake of HOBr by Br-/Cl-/S(IV) in aerosols and cloud droplets now treated as a "one-bulk" process following Chen et al [2017], rather than "multiple" uptake of HOBr by Br-/Cl-/S(IV) in aerosol and cloud droplets.<br />
<br />
=== Changes in heterogeneous chemistry ===<br />
<br />
Due to updates structuctural changes in GEOS-Chem (aka Flexchem making the smvgear mechanism obsolete), the heterogenous chemistry routines have been updated to allow for use of more complex heterogenous chemistry previously calculated in Calcrate.F [Eastham et al 2014, Schmidt et al. 2016, Sherwen et al 2016b].<br />
<br />
This work required a revamp of the heterogeneous chemistry. As a result, all heterogeneous reactions except for direct uptake (e.g. HO2) and those involving sea salt Cl- (which is not explicitly tracked) are now calculated using a second-order rate constant. This should help to make the het-chem easier to extend, as new functions have been implemented which will automatically convert a pseudo-first-order rate constant into a second order constant while performing safety checks and imposing (if requested) limits on depletion rates to avoid instability.<br />
<br />
These changes are implemented using the helper function "kIIrILtd" in gckpp_HetRates.F90. It’s a helper function which converts an pseudo-1st-order reaction to a 2nd-order one, by dividing the reaction rate by the concentration of the other reactant (kII from kI). If provided, a minimum reactant lifetime can also be provided, which has been important in the past for some chlorine activation chemistry (hence Ltd). For example, the reaction rate for ClONO2 + HCl –aerosol--> Cl2 + HNO3 is calculated as the first order rate kI, but if we write the reaction as ClONO2 = Cl2 + HNO3 then we will get an artificial source of chlorine (while also failing to account for possible chemical depletion of HCl). The answer is to use kIIrILtd to convert kI to kII, where kII = kI / [HCl]. The overall reaction rate will be unaffected, but we can now write the “correct” reaction rate in the KPP reaction file, and will not run into the problems described above in terms of balancing Cl atoms and capturing HCl loss.<br />
<br />
=== Inclusion of sulfur-halogen chemistry from Chen et al [2017] ===<br />
<br />
Sulfur oxidation by reactive halogens, as described by Chen et al [2017], was included in the same development branch (v11-2d) of the GEOS-Chem code as the updates to the halogen simulation detailed here.<br />
<br />
From Chen et al [2017]:<br />
<br />
<blockquote><br />
Sulfur and reactive bromine (Bry) play important roles in tropospheric chemistry and the global radiation budget. The oxidation of dissolved SO2 (S(IV)) by HOBr increases sulfate aerosol abundance and may also impact the Bry budget, but is generally not included in global climate and chemistry models. In this study, we implement HOBr + S(IV) reactions into the GEOS-Chem global chemical transport model and evaluate the global impacts on both sulfur and Bry budgets. Modeled HOBr mixing ratios on the order of 0.1–1.0 parts per trillion (ppt) lead to HOBr + S(IV) contributing to 8% of global sulfate production and up to 45% over some tropical ocean regions with high HOBr mixing ratios (0.6–0.9 ppt). Inclusion of HOBr + S(IV) in the model leads to a global Bry decrease of 50%, initiated by the decrease in bromide recycling in cloud droplets. Observations of HOBr are necessary to better understand the role of HOBr + S(IV) in tropospheric sulfur and Bry cycles.<br />
</blockquote><br />
<br />
Text S2 in [http://onlinelibrary.wiley.com/store/10.1002/2017GL073812/asset/supinfo/grl56123-sup-0001-2017GL073812-SI.docx?v=1&s=50a4b1defa58571990b4a7eda5585f9207db7713 the supporting document for Chen et al [2017]] describes the parameterisation of HOBr + S(IV) reactions now included in GEOS-Chem.<br />
<br />
=== Key differences in Simulation ===<br />
<br />
In addition to changes seen on implementation of halogen chemistry in v10-01 detailed in publications [Eastham et al 2014, Schmidt et al. 2016, Sherwen et al 2016b]. Please find some details on changes to the standard simulation seen (full 1yr benchmark plots are found [http://wiki.seas.harvard.edu/geos-chem/index.php/GEOS-Chem_v11-02_benchmark_history#v11-02d inked here]).<br />
<br />
==== Differences in simulation to publications ====<br />
<br />
Once v11-2 is released, detail will be added here on how different configurations of v11-2 compare to published versions. <br />
<br />
=== Source code and data files ===<br />
<br />
A monthly inventory of Iodocarbon emissions are included from Ordonez et al. [2012]. These files were the result of a project lead by Alfonso Saiz-Lopez and he has kindly allowed for them to be distributed with the main GEOS-Chem code. <br />
<br />
These new data files are contained in the [[HEMCO_data_directories|HEMCO data directory tree]]. For detailed instructions on how to download these data files to your disk server, please see our [[HEMCO_data_directories#Downloading_the_HEMCO_data_directories|''Downloading the HEMCO data directories'' wiki post]].<br />
<br />
=== Known issues ===<br />
<br />
*CH3I is not currently calculated on-line. Instead the emissions of Bell et al [2002] are currently read in from an offline NetCDF.<br />
*For consistency with published work. Certain reactions that are included in the stratosphere (e.g. ClNO3+HCl, BrNO3+HCl, HOCl+HCl and HOCl+HBr) remain unconsidered in the troposphere. <br />
*ClNO2 production on sulfate following condensation of HCl is not considered (HCl+N2O5=(sulfate aerosol)>ClNO2) for consistency with Sherwen et al 2016b.<br />
*The “uptake” reaction of HCl results in destruction of Cl, as there is no aerosol-phase Cl tracer.<br />
*There are only aerosol-phase bromine tracers for sea-salt, so Bry uptake cannot occur on sulfate.<br />
*Release of IX by heterogenous iodine cycling (HOI, INOy) leads to net production of Cly and Bry as no aqueous phase Cl/Br is considered in the reaction (e.g. excess Cl-/Br- is assumed).<br />
<br />
== Configuring simulations ==<br />
<br />
=== Switching on sea-salt bromide emission ===<br />
<br />
Sea-salt debromination was "switched on" in Chen et al. [2016], but not in the updated heterogenous Br simulation [Schmidt et al. 2016] and subsequent papers that included this scheme [Sherwen et al 2016a,b,c,2017]. To turn on "sea-salt debromination" in v11-2, bromide is emitted with sea-salt. This is done in v11-2d by updating the HEMCO extension settings in HEMCO_Config.rc as below:<br />
<br />
:from:<br />
<br />
--> Emit Br2 : false<br />
--> Br2 scaling : 1.0<br />
--> Model sea salt Br- : <span style="color:red">'''false'''</span><br />
--> Br- mass ratio : 2.11e-3<br />
<br />
:to:<br />
<br />
--> Emit Br2 : false<br />
--> Br2 scaling : 1.0<br />
--> Model sea salt Br- : <span style="color:green">'''true'''</span><br />
--> Br- mass ratio : 2.11e-3<br />
<br />
=== Switching off HOBr + S(IV) chemistry ===<br />
<br />
Chen et al [2016] describes "HOBr + S(IV)" chemistry, which is included in the standard simulation from v11-2d. Other recent GEOS-Chem halogen papers do not include this chemistry [Eastham et al 2014, Schmidt et al. 2016, Sherwen et al 2016a,b,c,2017]. To switch off this chemistry you just update in gckpp_HetRates.F90 (in KPP/Standard/, at line ~650) as shown below. <br />
<br />
:from: <br />
!--------------------------------------------------------------------<br />
! Get parameters for HOBr + S(IV)<br />
!--------------------------------------------------------------------<br />
<br />
! Cloud bisulfite (HSO3-) concentration [mol/l] from sulfate_mod.F<br />
<span style="color:red">HSO3conc_Cld = State_Chm%HSO3_AQ(I,J,L) </span><br />
<br />
! Cloud sulfite (SO3--) concentration [mol/l] from sulfate_mod.F<br />
<span style="color:red">SO3conc_Cld = State_Chm%SO3_AQ(I,J,L) </span><br />
<br />
:to:<br />
!--------------------------------------------------------------------<br />
! Get parameters for HOBr + S(IV)<br />
!--------------------------------------------------------------------<br />
<br />
! Cloud bisulfite (HSO3-) concentration [mol/l] from sulfate_mod.F<br />
<span style="color:green">HSO3conc_Cld = TINY(1e+0_fp) </span><br />
<br />
! Cloud sulfite (SO3--) concentration [mol/l] from sulfate_mod.F<br />
<span style="color:green">SO3conc_Cld = TINY(1e+0_fp) </span><br />
<br />
== On-going development ==<br />
<br />
The halogen simulation will developed further in the future. Please see the [[GEOS-Chem_model_development_priorities|GEOS-Chem model development priorities]] for more details.<br />
<br />
== Previous issues that are now resolved ==<br />
<br />
=== Fix for N2O5 uptake ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02f|v11-02f]] (approved 17 May 2018).'''''</span><br />
<br />
NOTE: The bugs listed below are only present in the [[GEOS-Chem v11-02#v11-02d|v11-02d]]/[[GEOS-Chem v11-02#v11-02e|v11-02e]] development code and not in any of the halogen chemistry papers referred to above.<br />
<br />
'''''Xuan Wang wrote:'''''<br />
<br />
:In KPP directory, gckpp_HetRates.F90, around line 700:<br />
<br />
HET(ind_N2O5, 1) = kIIR1Ltd( spcVec, Ind_('N2O5'), Ind_('H2O'), &<br />
HETN2O5(1.08E2_fp, 1E-1_fp))<br />
<br />
:This changes the N2O5 uptake rate calculation from 1st order to 2nd order, but no corresponding changes in equation file are found. To fix it, change the equation file from:<br />
<br />
N2O5 = 2.000HNO3 : HET(ind_N2O5,1);<br />
<br />
:to:<br />
<br />
N2O5 + H2O = 2.000HNO3 : HET(ind_N2O5,1);<br />
<br />
This bug decreases the HNO3 budget and increase N2O5.<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 15:59, 17 May 2018 (UTC)<br />
<br />
=== Fixes in gckpp_HetRates.F90 following implementation in v11-02d ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
NOTE: The bugs listed below are only present in the [[GEOS-Chem v11-02#v11-02d|v11-02d]] development code and not in any of the halogen chemistry papers referred to above.<br />
<br />
'''''Lei Zhu wrote:'''''<br />
<br />
:There are still a few bugs in gckpp_HetRates.F90 to be fixed in [[GEOS-Chem v11-02#v11-02e|v11-02d]]. Here is my list. <br />
<br />
:1. Around line 6163 and 6171, signs of Henry’s volatility constant, CR, should be positive. This bug and its fix have been submitted to GCST by Seb.<br />
<br />
:2. Around line 4382, 4489, and 4646, the sign of H_HOBr_E is also wrong. It should be defined as:<br />
<br />
REAL(fp), PARAMETER :: H_HOBr_E = -6014.0<br />
<br />
:As suggested by Tomas and Seb, we may want to retrieve Henry’s law parameters in gckpp_HetRates.F90 directly from the species database. This would prevent this kind (both 1 and 2) of bug in future.<br />
<br />
:3. Cloud fraction (CLDF) should not be used in calculating the cloud volume (Vliq and VIce) in CLD_PARAMS function around line 6074-6075. Cloud water mixing ratio (QL and QI), by [http://acmg.seas.harvard.edu/geos/wiki_docs/geos5/GEOS5_Glossary_11_01_2011.pdf definition], is kg of cloud water per kg of dry air mass in the grid. So QL and QI contain cloud fraction information already. To fix it, change<br />
<br />
VLiq = CLDF(I,J,L) * QL * AD(I,J,L) / dens_h2o<br />
VIce = CLDF(I,J,L) * QI * AD(I,J,L) / dens_h2o<br />
<br />
:to<br />
<br />
VLiq = QL * AD(I,J,L) / dens_h2o<br />
VIce = QI * AD(I,J,L) / dens_h2o<br />
<br />
:4. Lastly, we may want to reevaluate the impact of bromide from sea salt aerosol given recent updates. Now the model has additional sinks of Bry via oceanic Br+ALD2 and HOBr+S(IV). I will do some sensitivity tests on this topic.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:38, 21 February 2018 (UTC)<br />
<br />
== References ==<br />
<br />
#Bell, N., L. Hsu, D. J. Jacob, M. G. Schultz, D. R. Blake, J. H. Butler, D. B. King, J. M. Lobert, and E. Maier-Reimer (2002), Methyl iodide: Atmospheric budget and use as a tracer of marine convection in global models, ''J. Geophys. Res-Atmos.'', 107(D17), ACH 8-1–ACH 8-12, doi:http://dx.doi.org/10.1029/2001jd001151 <br />
#Eastham, S. D., D. K. Weisenstein, and S. R. H. Barrett (2014), Development and evaluation of the unified tropospheric–stratospheric chemistry extension (UCX) for the global chemistry-transport model GEOS-Chem, ''Atmos. Environ.'', 89, 52–63, doi:http://dx.doi.org/10.1016/j.atmosenv.2014.02.001 <br />
#Parrella, J. P. et al. (2012), Tropospheric bromine chemistry: implications for present and pre-industrial ozone and mercury, ''Atmos. Chem. Phys.'', 12(15), 6723–6740, doi:http://dx.doi.org/10.5194/acp-12-6723-2012 <br />
#Schmidt, J. A. et al. (2016), Modeling the observed tropospheric BrO background: Importance of multiphase chemistry and implications for ozone, OH, and mercury, ''J Geophys. Res-Atmos.'', doi:http://dx.doi.org/10.1002/2015JD024229 <br />
#Sherwen, T. et al. (2016a), Iodine’s impact on tropospheric oxidants: a global model study in GEOS-Chem, Atmos. ''Chem. Phys.'', 16(2), 1161–1186, doi:http://dx.doi.org/10.5194/acp-16-1161-2016 <br />
#Sherwen, T. et al. (2016b), Global impacts of tropospheric halogens (Cl, Br, I) on oxidants and composition in GEOS-Chem, ''Atmos. Chem. Phys.'', 16(18), 12239–12271, doi:http://dx.doi.org/10.5194/acp-16-12239-2016 <br />
#MacDonald, S. M., J. C. Gómez Martín, R. Chance, S. Warriner, A. Saiz-Lopez, L. J. Carpenter, and J. M. C. Plane (2014), A laboratory characterisation of inorganic iodine emissions from the sea surface: dependence on oceanic variables and parameterisation for global modelling, ''Atmos. Chem. Phys.'', 14(11), 5841–5852, doi:http://dx.doi.org/10.5194/acp-14-5841-2014 <br />
#Carpenter, L. J., S. M. MacDonald, M. D. Shaw, R. Kumar, R. W. Saunders, R. Parthipan, J. Wilson, and J. M. C. Plane (2013), Atmospheric iodine levels influenced by sea surface emissions of inorganic iodine, ''Nat. Geosci.'', 6(2), 108–111, doi:http://dx.doi.org/10.1038/ngeo1687<br />
#Ordóñez, C., Lamarque, J.-F., Tilmes, S., Kinnison, D. E., Atlas, E. L., Blake, D. R., Sousa Santos, G., Brasseur, G., and Saiz-Lopez, A.: Bromine and iodine chemistry in a global chemistry-climate model: description and evaluation of very short-lived oceanic sources, ''Atmos. Chem. Phys.'', 12, 1423–1447, doi:http://dx.doi.org/10.5194/acp-12-1423-2012 , 2012<br />
#Tomás Sherwen, Mathew John J Evans, Roberto Sommariva, Lloyd D. J. Hollis, Stephen Ball, Paul Monks, Christopher Reed, Lucy Carpenter, James D Lee, Grant Forster, Brian Bandy, Claire Reeves and William Bloss, Effects of halogens on European air-quality, Faraday Discussions, 200, 2017, DOI:http://dx.doi.org/10.1039/c7fd00026j<br />
#Chen, Q., J. A. Schmidt, V. Shah, L. Jaeglé, T. Sherwen, and B. Alexander, Sulfate production by reactive bromine: Implications for the global sulfur and reactive bromine budgets, Geophys. Res. Lett., 44, 7069–7078, doi:http://dx.doi.org/10.1002/2017GL073812, 2017<br />
#Bertram, T. H. and Thornton, J. A.: Toward a general parameterization of N2O5 reactivity on aqueous particles: the competing effects of particle liquid water, nitrate and chloride, Atmos. Chem. Phys., 9, 8351-8363, https://doi.org/10.5194/acp-9-8351-2009, 2009<br />
#Sander, S. P., Friedl, R. R., Abbatt, J. P. D., Barker, J. R., Burkholder, J. B., Golden, D. M., Kolb, C. E., Kurylo, M. J., Moortgat, G. K., Wine, P. H., Huie, R. E., and Orkin, V. L.: Chemical kinetics and photochemical data for use in atmospheric studies, Evaluation Number 17, Tech. rep., NASA Jet Propulsion Laboratory, 2011<br />
#Atkinson, R., Baulch, D. L., Cox, R. A., Crowley, J. N., Hampson, R. F., Hynes, R. G., Jenkin, M. E., Rossi, M. J., Troe, J., and IUPAC Subcommittee: Evaluated kinetic and photochemical data for atmospheric chemistry: Volume II &ndash; gas phase reactions of organic species, Atmos. Chem. Phys., 6, 3625–4055, doi:http://dx.doi.org/10.5194/acp-6-3625-2006, 2006<br />
#Atkinson, R., Baulch, D. L., Cox, R. A., Crowley, J. N., Hampson, R. F., Hynes, R. G., Jenkin, M. E., Rossi, M. J., and Troe, J.: Evaluated kinetic and photochemical data for atmospheric chemistry: Volume III - gas phase reactions of inorganic halogens, Atmos. Chem. Phys., 7, 981–1191, 2007<br />
#Atkinson, R., Baulch, D. L., Cox, R. A., Crowley, J. N., Hampson, R. F., Hynes, R. G., Jenkin, M. E., Rossi, M. J., Troe, J., and Wallington, T. J.: Evaluated kinetic and photochemical data for atmospheric chemistry: Volume IV - gas phase reactions of organic halogen species, J. Phys. Chem. Ref. Data, 8, 4141–4496, 2008<br />
#Evans, M. J. and Jacob, D. J.: Impact of new laboratory studies of N2O5 hydrolysis on global model budgets of tropospheric nitrogen oxides, ozone, and OH, Geophys. Res. Lett., 32, L09 813, doi:http://dx.doi.org/10.1029/2005GL022469, 2005<br />
#Roberts, J. M., Osthoff, H. D., Brown, S. S., Ravishankara, A. R., Coffman, D., Quinn, P., and Bates, T.: Laboratory studies of products of N2O5 uptake on Cl containing substrates, Geophys. Res. Lett., 36, doi:http://dx.doi.org/10.1029/2009GL040448, 2009</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=GEOS-Chem_v11-02&diff=36109GEOS-Chem v11-022018-04-05T22:14:34Z<p>Sebastian D. Eastham: /* Add fix for IPMN reactions contributing to high P(Ox) and L(NOx) */</p>
<hr />
<div>== Overview ==<br />
<br />
=== History ===<br />
<br />
The table below shows the previous, current, and successive versions of GEOS-Chem:<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-align="center"<br />
!width="250px"|Previous version<br />
!width="250px" bgcolor="#CCFFFF"|This version<br />
!width="250px"|Next version<br />
<br />
|-align="center"<br />
|[[GEOS-Chem v11-01]]<br />
|bgcolor="#CCFFFF"|'''GEOS-Chem v11-02'''<br />
|[[GEOS-Chem v11-03]]<br />
<br />
|-align="center"<br />
|PUBLIC RELEASE 01 Feb 2017<br />
|bgcolor="#CCFFFF"|'''TBD'''<br />
|TBD<br />
<br />
|-align="center"<br />
|[[GEOS-Chem v11-01 benchmark history|View v11-01 benchmark history]]<br />
|bgcolor="#CCFFFF"|'''[[GEOS-Chem v11-02 benchmark history|View v11-02 benchmark history]]'''<br />
|[[GEOS-Chem v11-03 benchmark history|View v11-03 benchmark history]]<br />
|}<br />
<br />
=== What's new in this version ===<br />
<br />
''NOTE: v11-02a, v11-02b, etc. denote 1-month benchmark simulations, which are designed to evaluate GEOS-Chem's performance at intermediate stages of development.''<br />
<br />
==== v11-02a ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02a:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02a|''Approval form for 1-month benchmark simulation v11-02a'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02a-Run0|''Results for 1-year benchmark simulation v11-02a-Run0'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02a-Run0|''Results for 1-year benchmark simulation v11-02a-Run1'']] (final version)<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[Updates_in_JPL_Publication_15-10|Update chemistry rate constants based on ''JPL Publication 15-10'']]<br />
|Barron Henderson (US EPA),<br>Mat Evans (U. York), &<br>[[Chemistry Issues|Oxidants and Chemistry WG]]<br />
|Science<br />
|Approved 12 May 2017<br />
<br />
|-valign="top"<br />
|[[Chemistry_Issues#Fixes_to_correct_ALK4_lumping_issue|Fixes to correct ALK4 lumping issue]]<br />
|Barron Henderson (US EPA)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[PAN|PAN updates]], including:<br />
*Updates to emissions, deposition, species, chemistry<br />
*Ocean+biogenic ALD2 emissions from Millet al. [2010]<br />
|Emily Fischer (CSU)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[EPA/NEI11_North_American_emissions#Monthly_mean_emissions|Monthly mean NEI2011 emissions]]<br />
|[[GCST]] &<br>Katie Travis (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|Bug fixes in the GEOS-Chem sulfate module:<br />
*[[Sulfate_aerosols#Fix_error_in_production_of_SO4s.2C_NITs_in_SEASALT_CHEM_routine|Fix error in production of SO4s and NITs in <tt>SEASALT_CHEM</tt>]]<br />
*[[Sulfate_aerosols#Fix_bug_in_CHEM_NIT_routine|Fix bug in <tt>CHEM_NIT</tt>]]<br />
*[[Sulfate_aerosols#Fix_for_sulfate_production_in_HET_DROP_CHEM|Fix for sulfate production in <tt>HET_DROP_CHEM</tt>]]<br />
*[[Sulfate_aerosols#Fix_bugs_in_sulfate_chemistry_routines|Fix bugs in sulfate chemistry routines]]<br />
|<br>Prasad Kasibhatla (Duke)<br>Prasad Kasibhatla (Duke)<br>Qianjie Chen (UW)<br>Viral Shah (UW)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Dry_deposition#Bug_in_computation_of_aerodynamic_resistance_RA|Fix bug in dry deposition aerodynamic resistance]]<br />
|Brian Boys (Dalhousie)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Acetone#Fix_acetone_parameterization_in_hcox_seaflux_mod.F90|Fix acetone parameterization in <tt>hcox_seaflux_mod.F90</tt>]]<br />
|[[GCST]]<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-01#Bug_in_cos.28SZA.29_for_start_of_timestep|Bug fix in cos(SZA) for start of timestep]]<br />
|Lizzie Lundgren ([[GCST]])<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Include_TOA_pressure_when_calculating_dry_pressure_edges|Include TOA pressure when calculating dry pressure edges]]<br />
|Seb Eastham (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[ISORROPIA_II#Implement_ISORROPIA_v2.0_as_a_Fortran_module|Implement ISORROPIA v2.0 as a Fortran module]]<br />
|Seb Eastham (Harvard) &<br>[[GCST]]<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|Updates to the HEMCO emissions component:<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02a|Update to HEMCO v2.0.004]]<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Fixed_bug_in_computation_of_local_time_in_HCO_GetSuncos|Fixed bug in computation of local time in <tt>HCO_GetSuncos</tt>]]<br />
*[[EPA/NEI11_North_American_emissions#Default_US_emissions_to_NEI2011_after_2013|Default US emissions to NEI2011 after 2013]]<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Read_default_DEP_RESERVOIR_fields_from_file_when_not_found_in_HEMCO_restart_file|Read default <tt>DEP_RESERVOIR</tt> fields from file]]<br />
|<br>Christoph Keller (NASA GMAO)<br>Seb Eastham (Harvard)<br>Jessica Morena (Dalhousie)<br>Brian Boys (Dalhousie) & [[GCST]]<br />
|Structural<br>& Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|Updates to gain computational speedup:<br />
*[[FlexChem#In_GEOS-Chem_v11-02_and_later_versions|Add simplified prod/loss families to KPP]]<br />
*[[Cloud_convection#Computational_bottleneck_in_the_v11-01_convection_module|Remove computational bottleneck in the convection module]]<br />
|<br>Mike Long (Harvard)<br>Bob Yantosca ([[GCST]])<br />
|Structural<br>& Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Mercury#Fixed_typo_in_nested_grid_transport_routine_INIT_WINDOW|Fixed typo in <tt>INIT_WINDOW</tt>]]<br />
|Bob Yantosca ([[GCST]])<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|netCDF file I/O updates:<br />
*[[The NcdfUtilities package#Enable_compression_in_netCDF-4_output_files|Enable data compression in netCDF-4 output files]]<br />
*[[The NcdfUtilities package#Routine DO_ERR_OUT now returns a non-zero error code|Routine <tt>DO_ERR_OUT</tt> now returns a non-zero error code]]<br />
*[[Implementation of HEMCO in GEOS-Chem#HEMCO diagnostic and restart files now have an unlimited time dimension|HEMCO files now have an unlimited time dimension]]<br />
|<br>Chris Holmes (Florida State)<br>Andy Jacobson (NOAA)<br>[[GCST]]<br />
|Bug fix &<br>Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|Makefile and build sequence updates:<br />
*[[GEOS-Chem_Makefile_Structure#Bug_fix:_Specifying_NO_REDUCED.3Dno_now_compiles_GEOS-Chem_for_reduced_grids|Specifying <tt>NO_REDUCED=no</tt> now compiles GEOS-Chem for reduced grids]]<br />
*[[GEOS-Chem_Makefile_Structure#Removed_the_COMPILER_variable_from_Makefile_header.mk_for_a_cleaner_build_sequence|Removed the <tt>COMPILER</tt> variable from <tt>Makefile_header.mk</tt>]]<br />
|<br>Jiawei Zhang (Harvard)<br>[[GCST]]<br />
|Bug fix &<br>Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[UCX_chemistry_mechanism#Bug_fixes_for_running_UCX_in_ESMF_environment|Bug fixes for running UCX in ESMF environment]]<br />
|Christoph Keller (NASA GMAO)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|Bug fixes for diagnostics:<br />
*[[Particulate_matter_in_GEOS-Chem#Save_out_PM2.5_diagnostic_at_STP_conditions|Save out PM2.5 diagnostic at STP conditions]]<br />
*[[GEOS-Chem_v11-01#Bugs_in_convective_flux_diagnostics_.28ND14.29|Bug fixes in convective mass flux diagnostic]]<br />
*[[GEOS-Chem_v11-01#P.28OH.29_not_saved_out_in_ND22_diagnostic|Restore P(OH) in ND22 diagnostic]]<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Make_anthropogenic_emissions_diagnostics_3D|Make anthropogenic emissions diagnostics 3D]]<br />
*[[Tagged_CO_simulation#Fix_ND65_bugs_in_tagged_CO_simulation|Fix ND65 bugs in tagged CO simulation]]<br />
*[[Mineral_dust_aerosols#Bug_in_ND21_diagnostic_indexing_for_size-resolved_dust_species|Fix bug in ND21 diagnostic indexing for dust species]]<br />
|<br>Aaron van Donkelaar (Dalhousie)<br>Jenny Fisher (U. Wollongong)<br>[[GCST]]<br>Jenny Fisher (U. Wollongong)<br>Chris Holmes (Florida State)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|Removal of obsolete variables:<br />
*[[#Removed_the_NNPAR_parameter_from_CMN_SIZE_mod.F|Removed the <tt>NNPAR</tt> parameter from <tt>CMN_SIZE_mod.F</tt>]]<br />
*[[Wet_deposition#Removal_of_obsolete_variables_NSOL_and_IDWETD|Removed obsolete variables <tt>NSOL</tt> and <tt>IDWETD</tt>]]<br />
*[[Derived type objects used by GEOS-Chem#Summary of fields removed from Input_Opt|Removed obsolete fields of the <tt>Input_Opt</tt> object]]<br />
|[[GCST]]<br />
|Structural<br />
|" "<br />
<br />
|}<br />
<br />
==== v11-02b ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02b:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02b|''Approval form for 1-month benchmark simulation v11-02b'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|''Approval form for 1-month benchmark simulation v11-02b with high performance option (v11-02b-HP)'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02b-HP-Run0|''Results for 1-year standard benchmark simulation of v11-02b-HP Run0'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02b-HP-Run1|''Results for 1-year standard benchmark simulation of v11-02b-HP Run1'']] (uses offline archived lightning and dust emissions)<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-year_Rn-Pb-Be|''Results for 1-year RnPbBe benchmark simulation of v11-02b-HP'']]<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem HP|Source code updates for high performance option (GCHP)]]<br />
|Seb Eastham (Harvard)<br>Lizzie Lundgren (Harvard)<br>Mike Long (Harvard)<br>Jiawei Zhuang (Harvard)<br>Bob Yantosca (Harvard)<br />
|Structural<br />
|Approved 16 Jun 2017<br />
<br />
|-valign="top"<br />
|Bug fixes for diagnostics:<br />
*[[GEOS-Chem_v11-02#ND26_vertical_flux_diagnostic_does_not_yield_mass_balance_in_advection|Use FZ array to compute ND26 vertical flux diagnostic]]<br />
*[[GEOS-Chem_v11-02#ND40_planeflight_diagnostic_not_always_written_out_when_turned_on|Always write ND40 planeflight diagnostic when enabled]]<br />
|<br>Ilya Stanevic (Toronto)<br>Lee Murray (Rochester)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Tagged_O3_simulation#Write_initial_and_final_Ox_mass_to_file|Write initial and final Ox mass to file when using the tagged O3 simulation]]<br />
|Bob Yantosca ([[GCST]])<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#CO2_emissions_unit_conversion_not_consistent_with_new_advection_pressure|Convert CO2 emissions units using dry pressure used in advection]]<br />
|Meemong Lee (JPL)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[QFED_biomass_burning_emissions|Add QFED emissions for 2014-2016]]<br />
|Christoph Keller (NASA GMAO)<br />
|Science<br />
|" "<br />
<br />
|}<br />
<br />
==== v11-02c ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02c:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02c|''Approval form for 1-month benchmark simulation v11-02c'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02c-Run0|''Results for 1-year benchmark simulation v11-02c-Run0'']]<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[Secondary_organic_aerosols#Simple_SOA_scheme|Enhance default GEOS-Chem simple SOA]]<br />
|Sal Farina (Colorado State)<br>Aerosols Working Group Chairs<br />
|Science<br />
|''1-month benchmark:''<br> Approved on 07 Sep 2017<br />
<br />
''1-year benchmark:''<br> Approved 21 Sep 2017<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_chemistry_mechanisms#Updated_isoprene_and_monoterpene_chemistry|Updates to isoprene and monoterpene chemistry]]<br />
|Katie Travis (MIT)<br>Jenny Fisher (U. Wollongong)<br>Elo&iuml;se Marais (U. Birmingham)<br>Christopher Chan Miller (Harvard)<br>Kelvin Bates (Caltech)<br>Rebecca Schwantes(Caltech)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Secondary_organic_aerosols#SOA_formation_from_aqueous_isoprene_uptake|Add aqueous isoprene uptake to SOA scheme]]<br />
|Eloise Marais (U. Birmingham)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Chemistry_Issues#Fixes_for_carbon_creating_reactions|Carbon balance (fix C creation)]]<br />
|Sarah Safieddine (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[PAN#Bug_fixes_for_EOH_and_MGLY|Fix bugs for EOH and MGLY following implementation of PAN updates in v11-02a]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02c|Update HEMCO from v2.0.004 to v2.1.001]]<br />
|Christoph Keller (NASA GMAO)<br />
|Structural<br />
|" "<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|HEMCO updates:<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02c|Add a HEMCO-standalone run directory for benchmarking purposes]]<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Now_use_YYYYMMDDhhmm_format_for_time_stamp_values|Now use <tt>YYYYMMDDhhmm</tt> for time stamp values]]<br />
*[[Implementation_of_HEMCO_in_GEOS-Chem#Avoid_segmentation_fault_in_DustGinoux_extension|Add error trap in to avoid a segmentation fault when the DustGinoux extension is turned off]]<br />
|<br>Christoph Keller (NASA GMAO)<br>Andy Jacobson (NOAA)<br>Paulo Tuccella (L'Aquila)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|Fixes for several minor issues:<br />
*[[#Bug fixes for the ND50 timeseries diagnostic|Bug fixes for the ND50 timeseries diagnostic]]<br />
*[[#Fixed_an_incorrect_format_statement_in_input_mod.F|Fixed an incorrect format statement in <tt>input_mod.F</tt>]]<br />
*[[#Add MERRA2 to #if and #elif statements where it had been omitted|Add MERRA2 to <tt>#if</tt> and <tt>#elif</tt> statements where it had been omitted]]<br />
*[[Mercury#Bug_fixes_for_Hg_emissions|Bug fixes for Hg emissions]]<br />
*[[Aerosol_emissions#Bug_fix_for_MOPO_and_MOPI_definitions_in_species_database|Fix bug in species definitions for marine POA simulation]]<br />
*[[Secondary_organic_aerosols#Fix_diagnostics_bugs_in_the_SOA-SVPOA_simulation|Fix diagnostic bugs in the SOA-SVPOA simulation]]<br />
|<br>Chris Holmes (Florida State)<br>Chris Holmes (Florida State)<br>Jiawei Zhuang (Harvard)<br>Amanda Giang (MIT)<br>Katie Travis (MIT)<br>Katie Travis(MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|Fixes for the TOMAS simulation:<br />
*[[TOMAS_aerosol_microphysics#Fixes_for_TOMAS_simulation_in_v11-02c|Fixes for TOMAS simulation in v11-02c]]<br />
*[[TOMAS_aerosol_microphysics#Typo_in_wetscav_mod.F_for_TOMAS30_simulation|Fix typo in wetscav_mod.F for TOMAS30]]<br />
*Remove a couple of array temporaries and an out-of-bounds error<br />
|<br>Sal Farina (Colorado State)<br>Jack Kodros (Colorado State)<br>Bob Yantosca ([[GCST]])<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Stratospheric_chemistry#STE_fluxes|Fix STE flux diagnostics and add to benchmark procedure]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Bug fix &<br>Benchmarking<br />
|" "<br />
<br />
|-valign="top"<br />
|Initial structural modifications for netCDF diagnostics:<br />
*Introduce <tt>Headers/State_Diag</tt> as a stub module (for now)<br />
*Add a registry object into <tt>State_Met</tt>, <tt>State_Diag</tt>, and <tt>State_Chm</tt> in order to obtain a pointer to any module variable (or slice) by looking up its name<br />
*Add new module <tt>Headers/registry_mod.F90</tt> which contains derived types and routines for registering module variables.<br />
|Bob Yantosca ([[GCST]])<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Code_cleanup_suggestions|Combine timestep settings in input.geos in a Timesteps menu]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_benchmarking#Update_2005.2F2009_CMDL_CO_data_to_2013.2F2014_GMD_CO_data|Update CO data used in 1-year benchmark plots]]<br />
|Jenny Fisher (U. Wollongong)<br />
|Benchmarking<br />
|" "<br />
<br />
|}<br />
<br />
==== v11-02d ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02d:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02d|''Approval form for 1-month benchmark simulation v11-02d'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02d-Run2|''Results for 1-year benchmark simulation v11-02d-Run2'']]<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[Halogen chemistry mechanism|Halogen chemistry updates]]<br />
|Tom&aacute;s Sherwen (York)<br>Johan Schmidt (Harvard)<br>Seb Eastham (MIT)<br>Lei Zhu (Harvard)<br>[[Chemistry Issues|Oxidants and Chemistry WG]]<br />
|Science<br />
|Approved 12 Feb 2018<br />
<br />
|-valign="top"<br />
|[[Sulfate_aerosols#Sulfur_oxidation_by_reactive_halogens|Sulfur oxidation by reactive halogens]]<br />
|Qianjie Chen (UW)<br />
|Science<br />
|<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Add_bug_fixes_for_GLYX.2C_MGLY.2C_IEPOX.2C_and_IMAE_heterogeneous_chemistry_added_in_v11-02c|Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry]]<br />
|Sebastian Eastham (MIT)<br />
|Bug fix<br />
|<br />
<br />
|-valign="top"<br />
|[[UCX_chemistry_mechanism#Fix_bug_impacting_dust_radius_obtained_in_RDUST_ONLINE|Fix bug impacting dust radius obtained in RDUST_ONLINE for UCX simulations]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Bug fix<br />
|<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Add_fix_for_IPMN_reactions_contributing_to_high_P.28Ox.29_and_L.28NOx.29|Add fix for IPMN reactions contributing to high P(Ox) and L(Ox)]]<br />
|Melissa Sulprizio ([[GCST]])<br>Elo&iuml;se Marais (U. Birmingham)<br />
|Bug fix<br />
|<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Update_CH4_latitude_bands_for_2014-2016|Update CH4 latitude bands for 2014-2016]]<br />
|Katie Travis (MIT)<br />
|Science<br />
|<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Remove_support_for_GCAP.2C_GEOS-4.2C_MERRA.2C_GEOS-5|Remove support for GCAP, GEOS-4, MERRA, GEOS-5]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Structural<br />
|<br />
<br />
|-valign="top"<br />
|[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02d|Timestamp HEMCO diagnostics filename with start time rather than end time]]<br />
|Lizzie Lundgren ([[GCST]])<br />
|Structural<br />
|<br />
<br />
|-valign="top"<br />
|[[List of diagnostics for v11-02|Structural updates for netCDF diagnostics]]<br />
|[[GCST]]<br />
|Structural<br />
|<br />
<br />
|}<br />
<br />
==== v11-02e ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02e:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e|''Approval form for 1-month benchmark simulation v11-02e'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e_using_spun-up_restart_file|''Approval form for 1-month benchmark simulation v11-02e using a spun-up restart file'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e-Run0|''Results for 1-year benchmark simulation v11-02e-Run0'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e-RnPbBePasv--Run0|''Results for 1-year Rn-Pb-Be benchmark simulation with fixed GEOS-FP met fields'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e-RnPbBePasv-Run1|''Results for 1-year Rn-Pb-Be benchmark simulation using 72 levels'']]<br />
<br />
We also completed a second set of benchmark simulations for GEOS-Chem v11-02e using 2016 GEOS-FP met fields. Please see the following links:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e_using_2016_GEOS-FP_met_fields|''Approval form for 1-month benchmark simulation v11-02e using 2016 GEOS-FP met fields'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e-Run1|''Results for 1-year benchmark simulation v11-02e-Run1'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02e-RnPbBePasv-Run2|''Results for 1-year Rn-Pb-Be benchmark simulation using 2016 GEOS-FP met fields'']]<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[NOx-Ox-HC-aerosol#Monthly mean surface distributions|Monthly mean surface methane distributions]]<br />
|Lee Murray (Rochester)<br />
|Science<br />
|''1-month benchmark:''<br>Approved on 15 Mar 2018<br />
<br />
''1-year benchmark:''<br>Approved 24 Mar 2018<br />
<br />
|-valign="top"<br />
|UCX updates, including:<br />
*[[UCX_chemistry_mechanism#v11-02|Remove initial stratospheric 2D mixing ratio option]]<br />
*[[UCX_chemistry_mechanism#UCX_stratospheric_water_boundary_condition_update|UCX stratospheric water boundary condition update]]<br />
*[[UCX_chemistry_mechanism#Remove_UCX_.23ifdefs_and_replace_with_Input_Opt.25LUCX|Remove <tt>UCX=y</tt> as compile switch and use <tt>Input_Opt%LUCX</tt> instead]]<br />
|<br>Seb Eastham (Harvard)<br>Chris Holmes (Florida State)<br>Melissa Sulprizio ([[GCST]])<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Use monthly mean stratospheric prod/loss rates from UCX simulation for all species]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Aerosol_optical_properties#Add_BC_absorption_enhancement_factor|Update density of BC to 1.8 and add absorption enhancement factor in input.geos]]<br />
|Xuan Wang (MIT)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Sulfate_aerosols#Metal_catalyzed_oxidation_of_SO2|Metal catalyzed oxidation of SO2 as a switch]] (on by default)<br />
|Viral Shah (UW)<br>Becky Alexander (UW)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|Add SOA updates and bug fixes, including:<br />
*[[GEOS-Chem_v11-02#Remove_MONX_from_chemical_mechanisms|Remove MONX from chemical mechanisms]]<br />
*[[Secondary_organic_aerosols#Add_MTPO_as_an_advected_and_chemical_species_to_all_full-chemistry_simulations|Add MTPO as a species in full-chemistry simulations]]<br />
*[[Secondary_organic_aerosols#Update_simple_SOA_entries_in_HEMCO_to_follow_MTPA.2BLIMO.2BMTPO|Updating SOAP and SOAS entries in HEMCO to follow MTPA+LIMO+MTPO rather than MONX]]<br />
*[[Secondary_organic_aerosols#Calculation_of_PM2.5.2C_AOD.2C_and_aerosol_mass|Use simple SOA in calculation of PM2.5, AOD, and aerosol mass by default]]<br />
*[[Secondary_organic_aerosols#SOA_formation_from_aqueous_isoprene_uptake|Always use SOA formation from aqueous isoprene uptake (remove switch from input.geos)]]<br />
*[[Secondary_organic_aerosols#Fixes_for_isoprene_SOA_for_consistency_with_Marais_et_al._.282016.29|Fixes for isoprene SOA for consistency with Marais et al. (2016)]]<br />
|Sam Silva (MIT)<br>[[Chemistry_Issues|Chemistry Working Group]]<br>[[Aerosols Working Group]]<br>[[GCST]]<br>Eloise Marais (U. Birmingham)<br />
|Science & Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Fix_dust_rainout_settings_to_match_BCPO|Fix dust rainout settings to match BCPO]]<br />
|Colette Heald (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Halogen_chemistry_mechanism#Fixes_in_gckpp_HetRates.F90_following_implementation_in_v11-02d|Fixes in gckpp_HetRates.F90 for halogen chemistry]]<br />
|Lei Zhu (Harvard)<br>Seb Eastham (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Sulfate_aerosols#Add_bug_fix_in_sulfate_mod.F_involving_reorder_IF_statements_for_Fahey_and_Seinfeld_decision_algorithm|Add bug fix in sulfate_mod.F involving reorder IF statements for Fahey and Seinfeld decision algorithm]]<br />
|Chris Holmes (FSU)<br>Becky Alexander (UW)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Downloading_GEOS-Chem_source_code_and_data#Inconsistency_in_GEOS-FP_files_at_Harvard_and_Dalhousie_for_July_2013|Sync GEOS-FP files on Harvard ftp with files at Dalhousie]]<br />
|[[GCST]]<br />
|Bug fix<br />
|" "<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[Particulate_matter_in_GEOS-Chem#Option_to_include_spatially_and_seasonally_varying_OM.2FOC|Spatially varying OM/OC as a switch]] (off by default)<br />
|Sajeev Philip (Dalhousie/NASA Ames)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Rn-Pb-Be_simulation#Vertical_Grid|Update Rn-Pb-Be-Pasv simulations to use 72 levels by default]]<br />
|Melissa Sulprizio ([[GCST]])<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[ISORROPIA_II#Bug_fixes_for_ISORROPIA_II_stable_mode|Bug fixes for ISORROPIA II stable mode]]<br />
|Jingyuan Shao (UW)<br>Shaojie Song (Harvard)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Change_timestep_units_from_minutes_to_seconds|Change input.geos timestep units from minutes to seconds]]<br />
|Lizzie Lundgren ([[GCST]])<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Fixes_for_two_new_ND21_binary_diagnostics_introduced_in_v11-02|Fixes for ND21 binary diagnostics]]<br />
|Lizzie Lundgren ([[GCST]])<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02e|Fix bug in HEMCO reference time code]]<br />
|Barron Henderson (US EPA)<br />
|Bug fix<br />
|" "<br />
<br />
|}<br />
<br />
==== v11-02f ====<br />
<br />
Please see the following link for complete information about the validation of GEOS-Chem v11-02f:<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02f|''Approval form for 1-month benchmark simulation v11-02f'']]<br />
#[[GEOS-Chem_v11-02_benchmark_history#v11-02f-Run0|''Results for 1-year benchmark simulation v11-02f-Run0'']]<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="100px"|Type<br />
!width="150px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[Implementation_of_HEMCO_in_GEOS-Chem#Features_added_in_v11-02f|Update HEMCO from v2.1.001 to v2.1.005]]<br />
*HEMCO v2.1.003 requires [[MEGAN_v2.1_plus_Guenther_2012_biogenic_emissions#Global_0.25x0.25_MEGAN_input_and_MODIS_LAI|updated MODIS LAI data]]<br />
|Christoph Keller (NASA GMAO)<br />
|Structural<br />
|In progress<br />
<br />
|-valign="top"<br />
|[[MEGAN_v2.1_plus_Guenther_2012_biogenic_emissions#Global_0.25x0.25_MEGAN_input_and_MODIS_LAI|Use global 0.25x0.25 files for MEGAN input and MODIS LAI]]<br />
|Jenny Fisher (U. Wollongong)<br>Eloise Marais (U. Birmingham)<br>Dylan Millet (UMN)<br />
|Bug fix/<br>Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Lightning_NOx_emissions|Update lightning BETA values and OTD/LIS files for consistency with latest met fields]]<br />
|Lee Murray (Rochester)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Volcanic_SO2_emissions_from_Aerocom#OMI-based_volcanic_emissions|OMI-based Volcanic emissions 2005-2012]]<br />
|Cui Ge (U. Iowa)<br>Jun Wang (U. Iowa)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[http://www.globalchange.umd.edu/ceds/ CEDS global anthropogenic emissions (1950-2014)]<br />
*This inventory will be the default global anthropogenic emissions inventory<br />
*Includes a fix for NOx unit conversion<br />
|Lu Shen (Harvard)<br>Melissa Sulprizio (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[EDGAR_v4.3_anthropogenic_emissions|EDGAR v4.3.1 emissions]]<br />
*This inventory will be included as an option<br />
|Chi Li (Dalhousie)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Use_1x1_GEIA_NH3_emissions|Use 1x1 GEIA NH3 emissions]]<br />
|Eleanor Morris (York)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[CAC_anthropogenic_emissions#Historical_Canadian_emissions|Historical Canadian emissions]]<br />
|Chi Li (Dalhousie)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Anthropogenic_emissions#C2H6|Global ethane emissions]]<br />
|Zitely Tzompa-Sosa (CSU)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[DICE-Africa anthropogenic emissions inventory|Inefficient combustion emissions in Africa (DICE-Africa inventory)]]<br />
|Eloise Marais (U. Birmingham)<br>Christine Wiedinmyer (NCAR)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Trash burning emissions]]<br />
|Eloise Marais (U. Birmingham)<br>Christine Wiedinmyer (NCAR)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GFED4_biomass_burning_emissions#Update_GFED4_emission_factors|Update GFED4 emission factors]]<br />
|Katie Travis (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GFED3_biomass_burning_emissions|Retire GFED3 biomass burning emissions]]<br />
|Katie Travis (MIT)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|MEIC emissions over China (2000-2015)<br />
|Lu Shen (Harvard)<br>Melissa Sulprizio (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Mineral_dust_aerosols#Anthropogenic_PM2.5_dust_source_in_GEOS-Chem|Anthropogenic PM2.5 dust source]]<br />
|Sajeev Philip (Dalhousie)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[FINNv1_biomass_burning_emissions|FINN biomass burning emissions for 2014-2016]]<br />
|Barron Henderson (US EPA)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|Ammonia emissions from Arctic seabirds<br />
|Betty Croft (Dalhousie)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|EPA NEI2011 Version EK<br />
|Zitely Tzompa-Sosa (CSU)<br>Emily Fischer (CSU)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|Fixes for prod/loss rates used in linearized chemistry routines:<br />
*[[GEOS-Chem_v11-02#Restore_use_of_prod.2Floss_rates_from_GMI_in_the_mesosphere_for_UCX-based_simulations|Restore use of prod/loss rates from GMI in the mesosphere for UCX-based simulations]]<br />
*[[GEOS-Chem_v11-02#Fix_bug_in_units_of_UCX_P.2FL_rates|Fix bug in units of UCX prod/loss rates]]<br />
|Chris Holmes (FSU)<br>Christoph Keller (NASA GMAO)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[UCX_chemistry_mechanism#Fix_for_UCX_mesospheric_NOy_routine|Add fix for UCX mesospheric NOy routine]]<br />
|Sebastian Eastham (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Physical_properties_of_GEOS-Chem_species#Fix_Henry.27s_law_parameters_for_HCl|Fix Henry's Law parameters for HCl]]<br />
|Xuan Wang (Harvard)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Halogen_chemistry_mechanism#Fix_for_N2O5_uptake|Fix for N2O5 uptake]]<br />
|Xuan Wang (Harvard)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#Fix_for_organic_nitrate_chemistry|Add fix for organic nitrate chemistry]]<br />
|Xuan Wang (Harvard)<br />
|Bug fix<br />
|" "<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features '''not''' affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[CH4_simulation#Updated_CH4_simulation_in_v11-02_and_later|Updated CH4 simulation]]<br />
|Bram Maasakkers (Harvard)<br>Melissa Sulprizio (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Tagged_CO_simulation#New_tagged_CO_simulation_in_v11-02_and_later|Updated Tagged CO simulation]]<br />
|Jenny Fisher (Wollongong)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[http://www.atmos-chem-phys.net/17/6353/2017/acp-17-6353-2017.pdf Updates to Hg chemistry from Horowitz et al. (2017)]<br />
|Hannah Horowitz (U. Washington)<br>Colin Thackray (Harvard)<br>Rebecca Stern (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[MERRA-2_implementation_details#Default_timestep_for_MERRA-2_nested_grid_simulations|Change default timestep for MERRA-2 nested grid simulations]]<br />
|Bram Maasakkers (Harvard)<br />
|Science<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Chemistry_Issues#Correcting_ozone_from_the_height_of_the_lowest_model_level_to_10m|Add ND49 timeseries diagnostic for correcting ozone from the height of the lowest model level to 10m]]<br />
|Katie Travis (MIT)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Biomass_burning_emissions#Fix_bug_in_biomass_burning_emissions_when_GFED_is_turned_off|Fix bug in biomass burning emissions when GFED is turned off]]<br />
|Corey Trujillo (U. Colorado)<br>Therese Carter (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[RCP_future_emissions_scenarios#Fix_missing_HCOOH_factors_for_RCP_in_HEMCO_Config.rc|Fix missing HCOOH factors for RCP in HEMCO_Config.rc]]<br />
|Seb Eastham (MIT)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[Tagged_O3_simulation#Fix_bug_in_calculation_of_L.28Ox.29|Fix bug in calculation of L(Ox) for tagged Ox simulations]]<br />
|Lu Shen (Harvard)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[CO2_simulation#CO2_emissions_are_double_counted|Fix double counting of CO2 emissions in CO2 simulations]]<br />
|Beata Bukosa (UW)<br />
|Bug fix<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-02#KPP_errors_with_halogen_chemistry_and_tropchem-based_mechanisms|Change tolerance value as a temporary fix for convergence errors in 2x2.5 tropchem simulations]]<br />
|Katie Travis (MIT)<br>[[Chemistry_Issues|Chemistry WG]]<br />
|Bug fix<br />
|" "<br />
<br />
|}<br />
<br />
=== New data directories ===<br />
<br />
The following [[HEMCO data directories]] have been added or updated for GEOS-Chem v11-02. You will have to download the directories relevant to your simulation.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|-bgcolor="#CCCCCC"<br />
!width="200px"|Inventory<br />
!width="400px"|What was added?<br />
!width="100px"|When added?<br />
!width="380px"|Directory<br />
<br />
|-valign="top"<br />
|[[EPA/NEI11_North_American_emissions|NEI2011 North American emissions]]<br />
|[http://ftp.as.harvard.edu/gcgrid/data/ExtData/HEMCO/NEI2011/v2017-02-MM/README Monthly mean data files] (created from the existing hourly data in <tt>HEMCO/NEI2011/v2015-03</tt>)<br />
|[[#v11-02a|v11-02a]]<br />
|<tt>HEMCO/NEI2011/v2017-02-MM/</tt><br />
<br />
|-valign="top"<br />
|ALD2<br />
|[http://ftp.as.harvard.edu/gcgrid/data/ExtData/HEMCO/ALD2/v2017-03/README Fields for ALD2 emissions], including:<br />
*Seawater concentration of acetaldehyde<br />
*Heterotrophic respiration rates, used to compute biogenic emissions of ALD2 and EOH<br />
(added with the [[PAN#Updates_to_Emissions|PAN updates]])<br />
|[[#v11-02a|v11-02a]]<br />
|<tt>HEMCO/ALD2/v2017-03/</tt><br />
<br />
|-valign="top"<br />
|POET<br />
|[http://ftp.as.harvard.edu/gcgrid/data/ExtData/HEMCO/POET/v2017-03/README Anthropogenic emissions of ethanol from the POET inventory]<br>(added with the [[PAN#Updates_to_Emissions|PAN updates]])<br />
|[[#v11-02a|v11-02a]]<br />
|<tt>HEMCO/POET/v2017-03/</tt><br />
<br />
|-valign="top"<br />
|[[Hudman_et_al_2012_soil_NOx_emissions_algorithm|Soil NOx]]<br />
|New file: <tt>DepReservoirDefault.nc</tt><br>[[Implementation_of_HEMCO_in_GEOS-Chem#Read_default_DEP_RESERVOIR_fields_from_file_when_not_found_in_HEMCO_restart_file|Read default DEP_RESERVOIR fields from file when not found in HEMCO restart file]]<br />
|[[#v11-02a|v11-02a]]<br />
|<tt>HEMCO/SOILNOX/v2014-07/</tt><br />
<br />
|-valign="top"<br />
|[[QFED_biomass_burning_emissions|QFED]]<br />
|Data for 2014-2016<br />
|[[#v11-02b|v11-02b]]<br />
|<tt>HEMCO/QFED/v2014-09/</tt><br />
<br />
|-valign="top"<br />
|GMI<br />
|New symbolic links:<br />
*<tt>gmi.clim.RIPA.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25</tt><br />
*<tt>gmi.clim.RIPB.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25</tt><br />
*<tt>gmi.clim.RIPD.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25</tt><br />
*<tt>gmi.clim.IPMN.geos5.2x25.nc -> gmi.clim.PMN.geos5.2x25</tt><br />
*<tt>gmi.clim.NPMN.geos5.2x25.nc -> gmi.clim.PMN.geos5.2x25</tt><br />
|[[#v11-02c|v11-02c]]<br />
|<tt>HEMCO/GMI/v2015-02/</tt><br />
<br />
|-valign="top"<br />
|IODINE<br />
|[[Halogen_chemistry_mechanism#Source_code_and_data_files|Monthly emission fluxes of organic iodine compounds (CH3I, CH2I2, CH2ICl, CH2IBr) from Carlos Ordonez.]]<br />
|[[#v11-02d|v11-02d]]<br />
|<tt>HEMCO/IODINE/v2017-03/</tt><br />
<br />
|-valign="top"<br />
|UCX<br />
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d]]<br />
*<span style="color:red">The files in this directory contain a bug in the P(Ox) and L(Ox) fields have been superseded by those in <tt>HEMCO/UCX/v2018-02/</tt>.</span><br />
|[[#v11-02d|v11-02d]]<br />
|<tt>HEMCO/UCX/v2017-12/</tt><br />
<br />
|-valign="top"<br />
|UCX<br />
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d]]<br />
|[[#v11-02e|v11-02e]]<br />
|<tt>HEMCO/UCX/v2018-02/</tt><br />
<br />
|-valign="top"<br />
|[[MEGAN_v2.1_plus_Guenther_2012_biogenic_emissions|MEGAN]]<br />
|[[MEGAN_v2.1_plus_Guenther_2012_biogenic_emissions#Global_0.25x0.25_MEGAN_input_and_MODIS_LAI|Global 0.25x0.3125 CLM4 PFT and emission factor input files for MEGAN]]<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/MEGAN/v2017-07/</tt><br />
<br />
|-valign="top"<br />
|[[MODIS_leaf_area_indices|MODIS LAI]]<br />
|[[MEGAN_v2.1_plus_Guenther_2012_biogenic_emissions#Global_0.25x0.25_MEGAN_input_and_MODIS_LAI|Updated 0.25 x 0.25 MODIS LAI files (2005-2011)]]<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>CHEM_INPUTS/MODIS_LAI_201707/</tt><br />
<br />
|-valign="top"<br />
|[[Lightning_NOx_emissions|Lightning NOx]]<br />
|GEOS-FP OTD-LIS redistribution factors for Apr 2012 - Jul 2017 and MERRA-2 OTD-LIS redistribution factors for any date<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/LIGHTNOX/v2017-09/</tt><br />
<br />
|-valign="top"<br />
|[[Volcanic_SO2_emissions_from_Aerocom|Volcanic SO2 emissions]]<br />
|[[Volcanic_SO2_emissions_from_Aerocom#OMI-based_volcanic_emissions|OMI-based volcanic emissions for 2005-2012]]<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/VOLCANO/v2018-03/</tt><br />
<br />
|-valign="top"<br />
|APEI<br />
|[[CAC_anthropogenic_emissions#Historical_Canadian_emissions|Historical Canadian emissions]]<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/APEI/v2016-11/</tt><br />
<br />
|-valign="top"<br />
|[[EDGAR_v4.3_anthropogenic_emissions|EDGAR v4.3]]<br />
|Annual global anthropogenic emissions for 1970-2010 at 0.1x0.1 resolution<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/EDGARv43/v2016-11/</tt><br />
<br />
|-valign="top"<br />
|C2H6_2010<br />
|[[Anthropogenic_emissions#C2H6|Global fossil fuel and biofuel emissions of C2H6 for 2010]]<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/C2H6_2010/v2017-05/</tt><br />
<br />
|-valign="top"<br />
|[[DICE-Africa_anthropogenic_emissions_inventory|DICE-Africa]]<br />
|Biofuel and diffuse anthropogenic emissions for Africa<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/DICE_Africa/v2016-10/</tt><br />
<br />
|-valign="top"<br />
|[[Trash burning emissions]]<br />
|Global trash burning emissions from Wiedinmyer et al. (2014)<br />
|[[#v11-02f|v11-02f]]<br />
|<tt>HEMCO/TrashEmis/v2015-03/</tt><br />
<br />
|}<br />
<br />
== Validation ==<br />
<br />
In this section we provide information about the benchmarks and tests that we have done to validate GEOS-Chem v11-02.<br />
<br />
=== 1-month and 1-year benchmarks ===<br />
<br />
For complete information about the benchmark simulations used to validate GEOS-Chem v11-02, please see [[GEOS-Chem v11-02 benchmark history|our ''GEOS-Chem v11-02 benchmark history'' wiki page]].<br />
<br />
=== Unit tests for GEOS-Chem v11-02 ===<br />
<br />
We perform a full set of unit tests on GEOS-Chem on an almost daily basis. These tests ensure that each new feature being added does not break any existing functionality. <br />
<br />
Here are the unit tests that we ran before submitting 1-month benchmark simulation for v11-02. Click on the links below to see the results from each set of unit tests:<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="100px"|Unit test<br />
!width="100px"|Date<br />
<br />
|-valign="top"<br />
|[http://ftp.as.harvard.edu/gcgrid/geos-chem/unit_tests/v11-02/v11-02a.results.html v11-02a]<br />
|17 Apr 2017<br />
<br />
|-valign="top"<br />
|[http://ftp.as.harvard.edu/gcgrid/geos-chem/unit_tests/v11-02/v11-02b.results.html v11-02b]<br />
|18 May 2017<br />
<br />
|-valign="top"<br />
|[http://ftp.as.harvard.edu/gcgrid/geos-chem/unit_tests/v11-02/v11-02c.results.html v11-02c]<br />
|5 Sep 2017<br />
<br />
|-valign="top"<br />
|[http://ftp.as.harvard.edu/gcgrid/geos-chem/unit_tests/v11-02/v11-02d.results.html v11-02d]<br />
|5 Jan 2018<br />
<br />
|-valign="top"<br />
|v11-02e<br />
|TBD<br />
<br />
|-valign="top"<br />
|v11-02f<br />
|TBD<br />
<br />
|}<br />
<br />
== Previous issues now resolved in GEOS-Chem v11-02 ==<br />
<br />
The following bugs and/or technical issues have been resolved in v11-02.<br />
<br />
=== Removed the NNPAR parameter from CMN_SIZE_mod.F ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span><br />
<br />
The <tt>NNPAR</tt> parameter is a holdover from when we used <tt>COMMON</tt> blocks to store GEOS-Chem arrays. With the advent of the [[GEOS-Chem species database]], we now use <tt>State_Chm%nSpecies</tt> to represent the total number of species in the chemistry mechanism, and <tt>State_Chm%nAdvect</tt> to represent the total number of advected species.<br />
<br />
We have therefore removed the following lines (in <span style="color:red">RED</span>) from <tt>CMN_SIZE_mod.F</tt>:<br />
<br />
<span style="color:red">!=================================================================<br />
! TRACER & EMISSION SPECIES PARAMETERS<br />
!<br />
! NNPAR = max number of tracers<br />
! NEMPARA = max number of anthropogenic emission species<br />
! NEMPARB = max number of biogenic emission species<br />
!=================================================================<br />
! increase NNPAR and NEMPARA an extra amount (hotp 7/31/09)<br />
#if defined( TOMAS )<br />
# if defined( TOMAS40 )<br />
INTEGER, PARAMETER :: NNPAR = 430 ! For TOMAS40 (sfarina 6/11/13)<br />
# elif defined( TOMAS15 )<br />
INTEGER, PARAMETER :: NNPAR = 205 ! For TOMAS15 (sfarina 6/11/13)<br />
# elif defined( TOMAS12 )<br />
INTEGER, PARAMETER :: NNPAR = 178 ! For TOMAS12 (sfarina 6/11/13)<br />
# else<br />
INTEGER, PARAMETER :: NNPAR = 340 ! For TOMAS (win, bmy, sfarina 6/11/13)f<br />
# endif<br />
#else<br />
INTEGER, PARAMETER :: NNPAR = 150 ! For non-TOMAS simulations<br />
#endif</span><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:27, 17 March 2017 (UTC)<br />
<br />
=== Print the version number to the log file ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span><br />
<br />
In routine <tt>DISPLAY_GRID_AND_MODEL</tt> of <tt>GeosCore/main.F</tt>, we now print out the version number, e.g.<br />
<br />
Using GEOS-Chem version: v11-02<br />
<br />
to the log file (i.e. stdout output stream). This will facilitate debugging.<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 18:21, 16 March 2017 (UTC)<br />
<br />
=== Include TOA pressure when calculating dry pressure edges ===<br />
<br />
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span><br />
<br />
For physicality and consistency with GCHP, the top-of-atmosphere (TOA) pressure is now included when calculating dry pressure edges. The following lines in <tt>GeosCore/dao_mod.F</tt> were changed from:<br />
<br />
! Reset dry surface pressure to zero<br />
PS_DRY = 0.0e+0_fp<br />
<br />
to:<br />
<br />
! Reset dry surface pressure to TOA value<br />
PS_DRY = GET_AP(LLPAR+1)<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:47, 14 April 2017 (UTC)<br />
<br />
=== ND26 vertical flux diagnostic does not yield mass balance in advection ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02b|v11-02b]] and approved on 16 Jun 2017.'''''</span><br />
<br />
To achieve mass balance in the advection diagnostic output (ND24, ND25, and ND26) Ilya Stanevic (U. Toronto) suggested that the <tt>FZ</tt> array be used to compute the ND26 vertical mass flux diagnostic for all levels. This is similar to how <tt>FX</tt> is used for ND24 and <tt>FY</tt> for ND25. Note that this fix is only for global advection since the <tt>FZ</tt> array is not defined for the nested model. With this update, the global ND26 vertical flux diagnostic is defined as the flux into the grid box above (e.g. ND26(:,:,1) is flux from level 1 to level 2 and ND26(:,:,LLPAR) is all zeros). <br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:41, 9 May 2017 (UTC)<br />
<br />
=== ND40 planeflight diagnostic not always written out when turned on ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02b|v11-02b]] and approved on 16 Jun 2017.'''''</span><br />
<br />
'''''Lee Murray (University of Rochester) wrote:'''''<br />
<br />
<blockquote>I think the FlexChem implementation accidentally disabled the planeflight diagnostic for the full chemistry simulation. We used to initialize the planeflight diagnostic in chemdr.F for full chemistry simulations (now no more) and all the other versions in main.F. We should change main.F to always call <tt>SETUP_PLANEFLIGHT</tt> whenever the diagnostic is turned on (remove code in <span style="color:red">RED</span>, add code in <span style="color:green">GREEN</span>).</blockquote><br />
<br />
! Plane following diagnostic<br />
IF ( ND40 > 0 .and. DO_DIAG_WRITE ) THEN <br />
<br />
! Call SETUP_PLANEFLIGHT routine if necessary<br />
IF ( ITS_A_NEW_DAY() ) THEN<br />
<br />
<span style="color:red">! ! If it's a full-chemistry simulation but LCHEM=F,<br />
! ! or if it's an offline simulation, call setup routine <br />
! IF ( ITS_A_FULLCHEM_SIM ) THEN<br />
! IF ( .not. LCHEM ) THEN<br />
! CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt,<br />
! & State_Chm, RC )<br />
! ENDIF<br />
! ELSE<br />
! CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt, <br />
! & State_Chm, RC )<br />
! ENDIF</span><br />
<br />
<span style="color:green"> CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt, State_Chm, RC )</span><br />
<br />
ENDIF<br />
ENDIF<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 19:44, 10 May 2017 (UTC)<br />
<br />
=== CO2 emissions unit conversion not consistent with new advection pressure ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02b|v11-02b]] and approved on 16 Jun 2017.'''''</span><br />
<br />
[[CO2 simulation#CO2_emissions_unit_conversion_not_consistent_with_new_advection_pressure|We have moved the discussion of this issue]] to our ''CO2 simulation'' wiki page.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 19:44, 10 May 2017 (UTC)<br />
<br />
=== Fixed an incorrect format statement in input_mod.F ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
'''''[[User:Chris Holmes|Chris Holmes]] wrote:'''''<br />
<br />
<blockquote>An incorrect format specification caused GEOS-Chem to crash rather than write a helpful error message when the transport timestep is too big. The code in <span style="color:red">RED</span> was removed and the lines in <span style="color:green">GREEN</span> was added at approximately line 3324 of <tt>input_mod.F</tt>.</blockquote><br />
<br />
IF ( Input_Opt%TS_DYN > MAX_DYN .and. LTRAN ) THEN<br />
<span style="color:red">write(MSG,'(I8,a,L)') '<>', Input_Opt%TS_DYN, Input_Opt%HPC</span><br />
<span style="color:green">WRITE( MSG, 300 ) 'Transport timestep exceeds max:',<br />
& Input_Opt%TS_DYN, MAX_DYN<br />
300 FORMAT( a, i8, ' >', i8 )</span> <br />
CALL ERROR_STOP( MSG, LOCATION )<br />
ENDIF<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:55, 18 April 2017 (UTC)<br />
<br />
=== Bug fixes for the ND50 timeseries diagnostic ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
'''''[[User:Chris Holmes|Chris Holmes]] wrote:'''''<br />
<br />
<blockquote>I have found what I suspect are two bugs in ND50.<br />
<br />
1. Function <tt>ITS_TIME_FOR_WRITE_DIAG50()</tt> checks if the integer part of the hour is zero to decide whether to write to disk. With the 20 minute time steps recommended in v11-01, Diag50 gets written and overwritten multiple times in the first hour of every day! The fix is simply to have this function return TRUE if the GMT time is 00:00.<br />
<br />
2. Within WRITE_DIAG50 there is the following block of code</blockquote><br />
<br />
! Pick the proper divisor, depending on whether or not the<br />
! species in question is archived only each chem timestep<br />
SELECT CASE ( ND50_TRACERS(W) )<br />
CASE (91, 92, 76, 77 )<br />
DIVISOR = COUNT_CHEM3D<br />
CASE DEFAULT<br />
DIVISOR = COUNT<br />
END SELECT<br />
<br />
<blockquote>I see nothing special about tracers 76, 77, 91, and 92 that should make them divided by a different number. The special tracers numbers are all >= 150 for ND50. I suspect this is left over from a previous code revision. I think it should be <code>DIVISOR=COUNT</code> for all <code>ND50_Tracers</code>.</blockquote><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 14:42, 14 April 2017 (UTC)<br />
<br />
=== Add MERRA2 to #if and #elif statements where it had been omitted ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
'''''[[User:JiaweiZhuang|Jiawei Zhuang]] wrote:'''''<br />
<br />
<blockquote>In v11-02, (commit 8d27b9a), I am trying to unify <tt>defined( GEOS_FP )</tt> and <tt>defined( MERRA )</tt> by a adding a new tag <tt>defined( FlexGrid )</tt>. However, I find some model codes that treat them differently without explanation:</blockquote><br />
<br />
<blockquote>(1) In <tt>GeosCore/convection_mod.F</tt>: At the <tt>#if</tt> statement at line 1443, MERRA2 will execute the <tt>#else</tt> block. But it should execute the <tt>#if</tt> block:</blockquote><br />
<br />
#if defined( GEOS_5 ) || defined( GEOS_FP ) || defined( MERRA )<br />
! Do nothing, these are all hybrid grids<br />
#else<br />
... etc ...<br />
<br />
<blockquote>(2) In <tt>HEMCO/Core/hco_interp_mod.F90</tt>, MERRA2 will skip the <tt>#elif</tt> block at line 531:</blockquote><br />
<br />
#elif defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )<br />
! Full grid<br />
... etc ...<br />
<br />
<blockquote>(3) At line 1193 of <tt>GeosCore/hcoi_gc_main_mod.F90</tt>, I noticed what appears to be a typo:</blockquote><br />
<br />
#if defined ( GEOS_FP ) || ( MERRA2 )<br />
<br />
<blockquote>(4) At line 779 of <tt>GeosCore/land_mercury_mod.F</tt>, I noticed this <tt>#if</tt> block, which could be written better:</blockquote><br />
<br />
IF ( FIRSTTIME ) THEN<br />
#if !defined( MERRA2 ) || !defined( GEOS_FP )<br />
WRITE( 6, * ) 'WARNING: Snow emission parameterization '//<br />
& 'designed for use with incident '<br />
WRITE( 6, * ) 'shortwave radiation. Only net shortwave '//<br />
& 'radiation available.'<br />
#endif<br />
FIRSTTIME = .FALSE.<br />
ENDIF<br />
<br />
<blockquote>(5) In <tt>KPP/Standard/gckpp_HetRates.F90</tt>, there are 3 places that seem to miss <tt>defined (MERRA2)</tt>:</blockquote><br />
<br />
! continental or marine clouds only...<br />
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )<br />
IF ( (FRLAND (I,J) > 0) .or. (FROCEAN(I,J) > 0) ) THEN<br />
#else<br />
! Above line is to skip over land ice (Greenland and Antartica). This<br />
! should do the same (and also work for GEOS-5, but leave above for now).<br />
IF ( IS_LAND .and. .not. IS_ICE ) THEN<br />
#endif<br />
<br />
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )<br />
IF ( FRLAND(I,J) > FROCEAN(I,J) ) THEN<br />
#else<br />
IF ( IS_LAND ) THEN<br />
#endif<br />
<br />
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )<br />
! QL is [g/g]<br />
Vc = CLDF(I,J,L) * QL * AD(I,J,L) / dens_h2o<br />
#else<br />
! QL is [cm3/cm3]<br />
Vc = CLDF(I,J,L) * QL * XAIRM3<br />
#endif<br />
<br />
These appear to have been oversights. To fix the issues, simply add <span style="color:green">the code in GREEN</span> to the <tt>#if</tt> blocks mentioned above:<br />
<br />
At line 1443 of convection_mod.F: <br />
#if defined( GEOS_5 ) || defined( GEOS_FP ) || defined( MERRA ) <span style="color:green"><tt>|| defined( MERRA2 )</tt></span><br />
<br />
At line 531 of hco_interp_mod.F90:<br />
#elif defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) <span style="color:green"><tt>|| defined( MERRA2 )</tt></span><br />
<br />
At line 1193 of <tt>hcoi_gc_main_mod.F90</tt><br />
#if defined( GEOS_FP ) || <span style="color:green">defined( MERRA2 )</span><br />
<br />
At line 779 of <tt>land_mercury_mod.F</tt>:<br />
<span style="color:green">#if defined( GEOS_FP ) || defined( MERRA2 )<br />
! do nothing<br />
#else</span><br />
WRITE( 6, * ) ... etc ...<br />
<br />
At lines 1953, 2029, and 2047 of <tt>KPP/Standard/gckpp_HetRates.F90</tt><br />
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) <span style="color:green"><tt>|| defined( MERRA2 )</tt></span><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:28, 22 May 2017 (UTC)<br />
<br />
=== Code cleanup suggestions ===<br />
<br />
<span style="color:green">'''''Suggestion 1 was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] and approved on 21 Sep 2017.'''''</span><br />
<br />
<span style="color:darkorange">'''''Suggestion 2 is slated for inclusion later in [[GEOS-Chem v11-02]].'''''</span><br />
<br />
'''''[[User:Chris Holmes|Chris Holmes]] wrote:'''''<br />
<br />
:I have a few housekeeping suggestions that I think would be helpful to GC users. <br />
<br />
:#Combine all of the timestep settings in input.geos in a single “Timesteps” menu. With the default timesteps being much shorter now, there seems to be much more interest in changing these timesteps (e.g. do model development with large time steps, then publication runs with small time steps), myself included. It would be nice to change all of the time steps in one place. Besides making it easier to double or halve them all, a single menu would also help clarify whether the time steps for each process have the recommended 1:2 ratio for operator splitting.<br />
:#Move all of the photolysis and aerosol optics data files out of the run directory and into a folder in ExtData. That would allow them to be documented, tracked and updated like emissions. As far as I have seen, these files are rarely modified by users, so they don’t need to be in the run directory. That would include the following files...<br />
<br />
brc.dat<br />
dust.dat<br />
FJX_j2j.dat<br />
FJX_spec.dat<br />
h2so4.dat<br />
jv_spec_mie.dat<br />
org.dat<br />
so4.dat<br />
soot.dat<br />
ssa.dat<br />
ssc.dat<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:37, 19 July 2017 (UTC)<br />
<br />
=== Update CH4 latitude bands for 2014-2016 ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02d|v11-02d]] (approved 12 Feb 2018).'''''</span><br />
<br />
The last year of latitudinal CH4 concentration data (based on CMDL flask observations) was 2013. (Data is provided in 4 [[NOx-Ox-HC-Aer-Br_chemistry_mechanism#Latitude_bands|latitude bands]]: 90&deg;S-30&deg;S, 30&deg;S-0&deg;N:, 0&deg;N-30&deg;N, 30&deg;N-90&deg;N.) [[User:Katherine Travis|Katherine Travis]] has updated the subroutine <code>get_global_ch4.F</code> with additional years of latitudinal CH4 data from 2014 thru 2016. <br />
<br />
[http://www.ldeo.columbia.edu/~ltmurray/ Lee Murray] will provide additional latitudinal CH4 concentration data through present day, once it is available. See [[NOx-Ox-HC-aerosol#Latitude bands|this post on our ''NOx-Ox-HC-aerosol'' wiki page]] for more information.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:16, 5 September 2017 (UTC)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 21:59, 20 February 2018 (UTC)<br />
<br />
=== Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry added in v11-02c ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02d|v11-02d]] (approved 12 Feb 2018).'''''</span><br />
<br />
'''''Sebastian Eastham wrote:'''''<br />
<br />
:There’s a bug in the v11-02c het rate code. In <tt>KPP/Standard/gckpp_HetRates.F90</tt>, many of the dedicated routines (e.g. HetIMAE) loop over NAERO. The loop looks like<br />
<br />
Do N=1,NAERO<br />
! [Comment]<br />
If (N==8) Then<br />
XSTKCF = [number] <br />
End If<br />
If (N == 13) Then<br />
ADJUSTEDRATE = XAREA(N)*XSTKCF<br />
Else<br />
ADJUSTEDRATE = ARSL1K( XAREA(N), XRADI(N), XDENA, XSTKCF, XTEMP, (A**0.5_FP) )<br />
End If<br />
Het_IMAE = Het_IMAE + ADJUSTEDRATE<br />
End Do<br />
<br />
:The problem here is that every aerosol after aerosol 8 is inheriting the sticking coefficient from aerosol 8. Crucially, this includes SOAS – so the fact that the simple SOA tracer is missing could affect this. GCC is artificially increasing the het rate on all aerosols because of this bug, whereas GCHP is not. Fixing this would be as simple as inserting either XSTKCF = 0.0 or XSTKCF = B at the start of the loop, where I’ve written <tt>! [Comment]</tt>. The question of which is correct is really a science question (probably XSTKCF = B, although I’d ask the original authors). However, what’s definitely true is that one of these two options needs to be put in or the result of the calculation will be wrong.<br />
<br />
:Fixing this bug is likely to change SOA burdens in both GCC and GCHP. In gckpp_HetRates, the following routines are definitely affected:<br />
:*HetGLYX<br />
:*HetMGLY<br />
:*HetIEPOX (forms SOAIE)<br />
:*HetIMAE (forms SOAME)<br />
<br />
:The other het routines look like they have the correct form (either by a "header" of XSTKCF = B, or because they have an If...ElseIf...Else...End clause that catches all possible values of N and sets XSTKCF accordingly). <br />
<br />
The solution is to set <tt>XSTKCF = TINY(1e0)</tt> where <tt>! [Comment]</tt> is in the code snippet above, following what is done in Eloise Marais's version of <tt>calcrate.F</tt>.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:57, 20 September 2017 (UTC)<br />
<br />
=== Add fix for IPMN reactions contributing to high P(Ox) and L(Ox) ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02d|v11-02d]] (approved 12 Feb 2018).'''''</span><br />
<br />
During the 1-year benchmark for v11-02d, Lu Hu pointed out an issue in the O3 budget where P(Ox) and L(Ox) were too high (~40000 Tg/yr compared to the expected 4000-5000 Tg/yr). This issue was tracked to the following reactions in the chemical mechanism:<br />
<br />
IMAO3 + NO2 {+M} = IPMN # Impacts L(Ox)<br />
IPMN = IMAO3 + NO2 # Impacts P(Ox)<br />
<br />
'''''Eloise Marais wrote:'''''<br />
<br />
:I'd suggest just using the same reaction rate values as for NPMN: non-isoprene PMN, as the reaction rates I used come from a rather speculative chemical mechanism anyway proposed by Lin et al., 2013 (http://www.pnas.org/content/suppl/2013/04/03/1221150110.DCSupplemental/pnas.201221150SI.pdf) and the isoprene SOA that these reactions form is relatively minor.<br />
<br />
This fix involves changing the reactions rates for the following IPMN reactions in the <tt>.eqn</tt> files from:<br />
<br />
IMAO3 + NO2 {+M} = IPMN : GCJPLPR(<span style="color:red">1.21E-11, 1.1E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0</span>);<br />
NMAO3 + NO2 {+M} = NPMN : GCJPLPR(9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);<br />
IPMN = IMAO3 + NO2 : GCJPLEQ(<span style="color:red">1.60E+16, 0.0E+00, -13486.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.</span>);<br />
NPMN = NMAO3 + NO2 : GCJPLEQ(9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);<br />
<br />
to:<br />
<br />
IMAO3 + NO2 {+M} = IPMN : GCJPLPR(<span style="color:green">9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0</span>);<br />
NMAO3 + NO2 {+M} = NPMN : GCJPLPR(9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);<br />
IPMN = IMAO3 + NO2 : GCJPLEQ(<span style="color:green">9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.</span>);<br />
NPMN = NMAO3 + NO2 : GCJPLEQ(9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);<br />
<br />
In addition IPMN should be added to the Ox family in <tt>gckpp.kpp</tt>:<br />
<br />
POx : O3 + NO2 + 2NO3 + PAN + NPMN + <span style="color:green">IPMN</span> + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4;<br />
LOx : O3 + NO2 + 2NO3 + PAN + NPMN + <span style="color:green">IPMN</span> + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4;<br />
<br />
After implementing those fixes, the chemical mechanisms will need to be [[FlexChem#Building_a_custom_chemical_mechanism|rebuilt with KPP]]. <br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:42, 25 January 2018 (UTC)<br />
<br />
=== Remove support for GCAP, GEOS-4, MERRA, GEOS-5 ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02d|v11-02d]] (approved 12 Feb 2018).'''''</span><br />
<br />
Daniel Jacob wrote to the GEOS-Chem Steering Committee:<br />
<br />
:I met today with the GCST and they brought up again the issue of discontinuing support for old met fields ([[GMAO_GEOS-4|GEOS-4]], [[GEOS-5]], [[MERRA]]) in GEOS-Chem. They told me that it would benefit the code structurally to stop supporting these old met fields, also that GCHP will not be able to use them since the data are in binary format. We would also reclaim some disk storage, and we would satisfy GMAO who doesn’t like that we’re using these old met fields.<br />
<br />
:We will discontinue support for the old met fields (MERRA, GEOS-4, GEOS-5) in future model versions BUT we will keep the data archives [at [[Downloading_GEOS-Chem_source_code_and_data#Dalhousie_data_directory_archive|Dalhousie]]] at least for now.<br />
<br />
Loretta Mickley consulted with Lee Murray, Amos Tai, and Jeff Geddes of the [[Chemistry-Ecosystems-Climate Working Group]] and wrote:<br />
<br />
:It looks like we can safely retire the GCAP met fields and <tt>#ifdef GCAP</tt> sections of the code now. As Lee describes, there are other capabilities in use by the chemistry-climate community that we will eventually implement into standard code.<br />
<br />
:I believe we currently have GCAP2 met fields stored at Harvard, and these should be maintained. GCAP2 consists of met fields from the GISS ModelE2.1 present-day and future. Lee Murray and Eric Leibensperger created these files, after a lot of work!<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:11, 2 November 2017 (UTC)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 21:59, 20 February 2018 (UTC)<br />
<br />
=== Bug fixes for aerosols in v11-01 ===<br />
<br />
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]].'''''</span><br />
<br />
'''''Jingyuan Shao (UW) wrote:'''''<br />
<br />
:When I use [[GEOS-Chem v11-01]], I found two small bugs in the codes.<br />
<br />
:The first is described in more detail at [[ISORROPIA_II#Bug_fix_for_ISORROPIA_II_stable_mode|this post on our ''ISORROPIA II wiki page'']].<br />
<br />
:Second, In aerosol_mod.F(line 2077) from<br />
! Mass of hydrophilic aerosol from Mian Chin<br />
ALLOCATE( WAERSL(IIPAR,JJPAR,LLPAR,NAER), STAT=AS)<br />
IF ( AS /= 0) CALL ALLOC_ERR( 'WAERSL' )<br />
<span style="color:green">DAERSL = 0d0</span><br />
<br />
:to <br />
<br />
! Mass of hydrophilic aerosol from Mian Chin<br />
ALLOCATE( WAERSL(IIPAR,JJPAR,LLPAR,NAER), STAT=AS)<br />
IF ( AS /= 0) CALL ALLOC_ERR( 'WAERSL' )<br />
<span style="color:green">WAERSL = 0d0</span><br />
<br />
The fix in aerosol_mod.F was included in [[GEOS-Chem v11-02#v11-02c|v11-02c]] with the implementation of [[Secondary_organic_aerosols#SOA_formation_from_aqueous_isoprene_uptake|aqueous isoprene uptake]] updates from Eloise Marais.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:28, 15 November 2017 (UTC)<br />
<br />
=== Remove MONX from chemical mechanisms ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
'''''Sam Silva (MIT) wrote:'''''<br />
<br />
:I was wondering why there were three monoterpene species in the chemical mechanism: MTPA (lumped alpha pinene), LIMO (lumped limonene) and then MONX (all monoterpenes). <br />
<br />
:MONX doesn’t play with any of the monoterpene nitrate chemistry, it just is converted into 3 formaldehyde:<br />
MONX = 3.000CH2O : GCARR(1.07E-05, 0.0E+00, 0.0);<br />
<br />
:It seems like having the MONX group (all monoterpenes) and the speciated lumped monoterpenes is an inconsistency. Ultimately, I’m interested in adding Glyoxal formation from monoterpenes, and it’s not clear to me how to properly do that, given the three different species. <br />
<br />
:Do you know of a reason why MONX is still in the mechanism?<br />
<br />
'''''[[User:Melissa Payer|Melissa Sulprizio]] responded:'''''<br />
<br />
:I had a look through the Git history of the globchem.dat file. The MONX -> 3CH2O reaction was originally included in the SOA mechanism. Just prior to the v10-01 public release, the GEOS-Chem Steering Committee requested that we include SOA chemistry in the benchmark simulations. At that time, MONX was made an active species and the MONX -> 3CH2O reaction was added to the globchem.dat file for the benchmark simulations. No other monoterpene chemistry was included in that chemical mechanism at the time. <br />
<br />
:In v11-02a, we [[PAN|introduced monoterpene chemistry during Emily’s PAN updates]]. At that time MTPA was introduced. The [[GEOS-Chem_chemistry_mechanisms#Updated_isoprene_and_monoterpene_chemistry|monoterpene chemistry was further modified and expanded upon]] in v11-02c following Jenny’s updates originally made for SEAC4RS. <br />
<br />
:Looking back at Emily’s original PAN updates that she sent to us (based on v9-02h), it looks like MONX is a dead species in globchem.dat and the MONX -> 3CH2O reaction is not included. That may have been an oversight during the PAN updates implementation. Since Emily’s globchem.dat did not include the SOA chemistry by default and our standard/benchmark mechanism did, it wasn’t clear that we should remove the MONX species and reaction. <br />
<br />
The MONX species will be removed from GEOS-Chem mechanisms in v11-02e, upon the recommendation given to us by Emily Fischer. This update also requires the addition of the MTPO species to represents all the monoterpenes not covered by species MTPA. See [[Secondary_organic_aerosols#Add_MTPO_as_an_advected_and_chemical_species_to_all_full-chemistry_simulations|this post on our ''Secondary organic aerosols'' wiki page]] for more details.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:28, 15 November 2017 (UTC)<br />
<br />
=== Fix dust rainout settings to match BCPO ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
'''''Colette Heald (MIT) wrote:'''''<br />
<br />
:BCPO/DST1-4: are all "insoluble" but can act as IN, so I think the DST RainEff should be modified to [1,1,0] to match BCPO<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 15:44, 30 November 2017 (UTC)<br />
<br />
=== Change timestep units from minutes to seconds ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
'''''Andrea Molod (GMAO) wrote:'''''<br />
<br />
:As part of the side by side testing of GMI and GEOSChem chemistry in our coupled framework, we have run across a small but annoying issue. The "annoyance" is that the geoschem code does not accomodate a call at a time step that is not a multiple of a minute. our current model "heartbeat" is 450 seconds (for many reasons) at what is now a wide range of resolutions, and we end up having to run with geoschem at 300 seconds (for other reasons internal to GEOS).<br />
<br />
To address this issue, the timestep duration specifications in the configuration file <tt>input.geos</tt> will be changed from minutes to seconds. The data type will stay as integer. This change has implications for the GEOS-Chem source code. Subroutines of form <tt>GET_TS_{component}</tt> now return seconds instead of minutes and usages of time units since a reference time must incorporate seconds as well as minutes in the calculation.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 23:19, 29 January 2018 (UTC)<br />
<br />
=== Fixes for two new ND21 binary diagnostics introduced in v11-02 ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
Two new ND21 diagnostics introduced in [[GEOS-Chem v11-02#v11-02c|v11-02c]] are assigned to the wrong tracer numbers in the AD21 array written to binary output. The optical depth of SOA from aqueous isoprene is written to tracer 34 but should be written to tracer 58. The aqueous aerosol volume is written to tracer 35 but should be written to tracer 59. <br />
<br />
These tracer number errors resulted in an inconsistency with metadata supplied by GAMAP and prevented the diagnostics from being written to file during a full chemistry simulation. The new diagnostics also overwrite the dust AOD wavelength 2 diagnostics for bins 2 and 3 if run with RRTMG. A parallelization issue in setting one of the diagnostics is also present.<br />
<br />
To get around these issues in v11-02c and v11-02d, replace AD21 index 34 with 58 and 35 with 59 where the diagnostics are set in <tt>aerosol_mod.F</tt> and declare local variable <tt>TAERVOL</tt> as private in the OMP loop in subroutine <tt>RDAER</tt>. <br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 23:19, 29 January 2018 (UTC)<br />
<br />
=== Use spun-up restart file to initialize benchmark simulations ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span><br />
<br />
Starting in [[GEOS-Chem v11-02#v11-02e|GEOS-Chem v11-02e]], we have replaced the default restart file ([http://ftp.as.harvard.edu/gcgrid/data/ExtData/SPC_RESTARTS/initial_GEOSChem_rst.4x5_standard.nc initial_GEOSChem_rst.4x5_standard.nc]) used to initialize 1-month benchmark simulations and UCX-based simulations in general. The previous default restart file had not been spun up in many years, so several species concentrations did not reflect updates to the model. The new restart file was obtained from the [[GEOS-Chem_v11-02_benchmark_history#v11-02d-Run2|1-year benchmark v11-02d-Run2]] and has been spun up for many years. The updated restart file also allowed us to [[UCX_chemistry_mechanism#v11-02|remove the initial stratospheric 2D mixing ratio option from input.geos]] and use the values provided by the restart file to initialize species concentrations for the relevant UCX species.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 18:26, 16 March 2018 (UTC)<br />
<br />
=== Restore use of prod/loss rates from GMI in the mesosphere for UCX-based simulations ===<br />
<br />
<span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02f|v11-02f]].'''''</span><br />
<br />
Following the implementation of the [[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|prod/loss rates from UCX]] in [[GEOS-Chem v11-02#v11-02e|v11-02e]], it was discovered that we need to restore the use of prod/loss rates from GMI in the mesosphere for UCX-based simulations. The prod/loss rates saved out from a UCX simulation via KPP are only saved out on 59 levels (i.e. the maximum number of levels in the chemistry grid). Values in levels 59-72 (~1 hPa to ~ 0.01 hPa according to our vertical grids wiki page) are set to zero.<br />
<br />
'''''Chris Holmes wrote:'''''<br />
<br />
:I think it’s important to do some kind of mesospheric P/L in the UCX simulations. If we’re going to have a stratospheric chemistry capability in GEOS-Chem, we need to have a reasonable upper boundary condition (and zero P/L in the mesosphere is not reasonable). It seems to me that the easiest thing is to retain the GMI P/L in the mesosphere in UCX simulations.<br />
<br />
'''''Sebastian Eastham wrote:'''''<br />
<br />
:I think that's the most sensible approach for now. One additional point that's worth raising is that, in the course of the evaluation of the UCX by the GMI group, they actually ended up extending the UCX up into the mesosphere. This removed the need for any mesospheric paramaterizations, and did not involve adding any new chemistry or code. They found that this gave the same results as the GMI model - no big surprise since the GMI and UCX models are very similar, and the GMI model is already run up to the model top. As a result we may want to consider (in v11-03) adding an "extended UCX" option which runs UCX directly up to the model top which will resolve this problem when generating P/L data. It will also allow interested users to avoid reading in all the P/L data (a not-insignificant startup cost) or using mesospheric paramaterizations.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:37, 21 March 2018 (UTC)<br />
<br />
=== Fix bug in units of UCX P/L rates===<br />
<br />
<span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02f|v11-02f]].'''''</span><br />
<br />
'''''Christoph Keller wrote:'''''<br />
<br />
:I think I found a bug in the implementation of the UCX P/L rates: in subroutine Set_PLVEC (in strat_chem_mod.F90), there is a unit conversion of the UCX P/L fields (from molec/cm3/s to v/v/s and 1/s, respectively), which will be erased after the first simulation month because the arrays in the PLVEC(:) structure are only *pointers* to the 3D fields managed by HEMCO (PLVEC(N)%PROD and PLVEC(N)%LOSS). After the first simulation month, HEMCO automatically updates the UCX P/L arrays (because they change monthly), thus overwriting the unit conversion performed in Set_PLVEC. So I'd expect the first month to be ok but then after the second month, GEOS-Chem will actually apply UCX P/L loss rates that are in molec/cm3/s instead of v/v/s and 1/s.<br />
<br />
:In short, the arrays in PLVEC (PLVEC(N)%PROD and PLVEC(N)%LOSS) should not be modified because HEMCO changes them automatically. <br />
<br />
The solution for this issue is to apply the unit conversion to the prod/loss rates at the time that we copy them into the loss frequency (k) and production term (P) variables in routine DO_STRAT_CHEM.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:37, 21 March 2018 (UTC)<br />
<br />
=== Use 1x1 GEIA NH3 emissions ===<br />
<br />
<span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02f|v11-02f]].'''''</span><br />
<br />
'''''Eleanor Morris wrote:'''''<br />
<br />
:We have been looking at the ammonia emissions in the model in our comparisons to observational data from Africa and have a couple of questions.<br />
<br />
:Although the GEIA anthropogenic emissions are overwritten by other inventories, for Africa at least, the model still uses the GEIA Natural and Biofuel emission of NH3:<br />
<br />
GEIA_NH3_BIOF $ROOT/NH3/v2014-07/NH3_biofuel.geos.4x5.nc NH3_BIOFUEL 1998/1-12/1/ C xy kg/m2/s NH3 - 2 1<br />
GEIA_NH3_NATU $ROOT/NH3/v2014-07/NH3_geos.4x5.nc NH3_NATU 1990/1-12/1/ C xy kg/m2/s NH3 - 3 1<br />
<br />
:The standard HEMCO_Config.rc file uses the 4x5 degree resolution emission files (NH3_biofuel.geos.4x5.nc and NH3_geos.4x5.nc) although there are files at 1x1 degree resolution in the same directory (NH3_biofuel.geos.1x1.nc and NH3_geos.1x1.nc). We were wondering why the default setting is to use the 4x5 degree resolution rather than the 1x1 degree resolution? It looks like the original GEIA NH3 emissions are at 1x1 degree resolution.<br />
<br />
:There are large differences between the files at different resolutions. Attached are some plots of the NH3 natural emissions for the three resolutions of files in the $ROOT/NH3/v2014-07 folder. When we calculate the total global burden, the 1x1 degree emissions give a total of ~26 Tg NH3 yr-1 which is relatively similar to the Park et al. Transboundary Pollution paper which quotes 20 Tg N yr-1 global natural ammonia emissions. The 4x5 degree emissions are a factor of 20 lower than this and we wondered whether perhaps there was an error in the re-gridding from 1x1 degree to 4x5 degree?<br />
<br />
:When we run our simulation using the default 4x5 degree emissions, the modelled ammonia concentrations are too low compared to observations, whereas when we run with the 1x1 degree resolution emissions we get much better agreement.<br />
<br />
:We just wanted to know whether there was a reason that 4x5 is used as the standard emissions instead of 1x1 degree, and if not whether the HEMCO_Config.rc file might need updating to use the 1x1 degree emissions instead?<br />
<br />
'''''Bob Yantosca wrote:'''''<br />
<br />
:I am not 100% sure why we still use the GEIA NH3 emissions at 4x5 in the HEMCO. It may have been that while we were developing HEMCO, we needed to keep those NH3 emissions at 4x5 in order to better match the emissions in the pre-HEMCO code, so that we could get “apples-to-apples” comparisions. It could have been as simple as that. I would recommend bringing this to the attention of the Emissions and Deposition Working Group. <br />
<br />
'''''Eloise Marais wrote:'''''<br />
<br />
:GCST, in summary, can we use the GEIA natural NH3 emissions file at 1x1 resolution rather than 4x5? Currently the default is 4x5 and Eleanor from U York found large differences between these two files, where the 1x1 emissions are more consistent with observations. It looks like GEIA natural NH3 will eventually be retired and replaced with emissions that Amos Tai is working on, so this would be an interim fix.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:30, 21 March 2018 (UTC)<br />
<br />
=== Fix for organic nitrate chemistry ===<br />
<br />
<span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02f|v11-02f]].'''''</span><br />
<br />
'''''Xuan Wang wrote:'''''<br />
<br />
:For MONIT and HONIT = INDOL + HNO3, I see from wiki we should use uptake rate of 2.78e-04 s-1 (lifetime = 1hour). However, we are setting gamma = 2.78e-04 s-1, not the uptake rate. I change it to manually setting the rate to 2.78e-04 s-1.<br />
<br />
'''''Jenny Fisher wrote:'''''<br />
<br />
:In my version there were 3 gas-phase monoterpene nitrate species (MONITU, MONITS, HONIT) and one monoterpene nitrate aerosol species (let’s call it pONITm since it had a confusing name in my code), plus INDIOL.<br />
:In my version, for each gas phase species we had e.g. MONITU -> pONITm with gamma = 0.01<br />
:Then pONITm -> HNO3 + INDIOL with a lifetime of 1 hour (set as a simple first order rate constant, not as an uptake rate).<br />
<br />
'''''Xuan Wang wrote:'''''<br />
<br />
:In v11-02, your pONITm seems to be IONITA and MONITA. For each gas it is like MONITU = MONITA with gamma = 0.01. For MONITA/IONITA =HNO3 + INDIOL, it is like this:<br />
<br />
! Define gamma for MONITA <br />
! Imposed lifetime = 1 hour (Fisher et al., 2016)<br />
XSTKCF = 2.78e-4_fp<br />
<br />
:And later:<br />
! Reaction rate for surface of aerosol<br />
ADJUSTEDRATE=ARSL1K(XAREA(N),XRADI(N),XDENA,XSTKCF,XTEMP, &<br />
(A**0.5_FP))<br />
<br />
'''''Jenny Fisher wrote:'''''<br />
<br />
:Ok, this does seem like an error I think, although I don’t really know how to fix it in the framework of v11-02. Should we even be using XSTKCF at all? Is there a way to do this in the v11-02 chemistry framework to just set the rate constant to 2.78e-4 s^-1?<br />
<br />
'''''Melissa Sulprizio wrote:'''''<br />
<br />
:If you would like to just set the rate constant for this reaction to 2.78e-4 then we can change it from a heterogeneous reaction in the .eqn files (i.e. utilizing the HET function in gckpp_HetRates.F90) to a standard reaction utilizing the Arrhenius equation (i.e. function GCARR). For example:<br />
<br />
IONITA = INDIOL + HNO3 : HET(ind_IONITA,1); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS}<br />
MONITA = INDIOL + HNO3 : HET(ind_MONITA,1); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS}<br />
<br />
:becomes<br />
<br />
IONITA = INDIOL + HNO3 : GCARR(2.78E-04, 0.0E+00, 0.0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS}<br />
MONITA = INDIOL + HNO3 : GCARR(2.78E-04, 0.0E+00, 0.0); {2017/07/14; Fisher2016; KRT,JAF,CCM,EAM,KHB,RHS}<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:33, 23 March 2018 (UTC)<br />
<br />
== Outstanding issues not yet resolved in GEOS-Chem v11-02 ==<br />
<br />
=== GCHP issues ===<br />
<br />
For a complete list of outstanding issues not yet resolved in GEOS-Chem v11-02 with High Performance option, see the [[GEOS-Chem_HP_v11-02#Outstanding_HP_issues_not_yet_resolved_in_GEOS-Chem_v11-02|outstanding issues section]] of the GCHP v11-02 wiki page.<br />
<br />
=== KPP errors with halogen chemistry and tropchem-based mechanisms ===<br />
<br />
<span style="color:darkorange">'''''This fix will be included in [[GEOS-Chem v11-02#v11-02f|v11-02f]].'''''</span><br />
<br />
'''''[[User:Melissa_Payer|Melissa Sulprizio]] wrote:'''''<br />
<br />
:Katie Travis discovered an issue starting with [[GEOS-Chem v11-02#v11-02d|v11-02d]] when the halogen chemistry updates were introduced. When running 2x2.5 tropchem simulations for an extended period (usually a month will do), GEOS-Chem crashes with a KPP integrator error. This happens for both GEOS-FP and MERRA-2 met fields. We don’t seem to encounter these errors for 2x2.5 standard (i.e. UCX-based) simulations. I’m wondering if we need to change the tolerance values in v11-02? Right now, in flexchem_mod.F we have:<br />
<br />
!%%%%% CONVERGENCE CRITERIA %%%%%<br />
<br />
! Absolute tolerance<br />
ATOL = 1e-2_dp <br />
<br />
! Relative tolerance<br />
IF ( Input_Opt%LUCX ) THEN<br />
! UCX-based mechanisms<br />
!RTOL = 2e-2_dp<br />
!RTOL = 1e-2_dp<br />
RTOL = 0.5e-2_dp<br />
ELSE<br />
! Non-UCX mechanisms<br />
RTOL = 2e-1_dp<br />
ENDIF<br />
<br />
:I ran two simulations to see if we can resolve the issue in the 2x2.5 tropchem simulations. In the first simulation I changed the convergence criteria (RTOL) to 1e-1_dp following Mat's suggestion and in the second I changed the value to 1e-2_dp. In both simulations, we still get the integrator errors (<tt>Forced exit from Rosenbrock due to the following error: Step size too small...</tt>) but the 1-month runs finish successfully because the error is not encountered twice for a given grid box in a given timestep. Also, comparing the two simulations, we see the integrator errors at different times and for different grid boxes. <br />
<br />
'''''Barron Henderson wrote:'''''<br />
<br />
:I have a couple thoughts that you may have already tried. They basically boil down to finding the few species at fault and tightening tolerances for everything else.<br />
<br />
:First, add a print statement for SPC_NAMES and VAR and in flexchem_mod.F90 when the IERR is -7. That will help us to quickly see if any concentrations at cells are unexpected.<br />
<br />
:Second, add a print statement for Yerr after 535 in gckpp_Integrator.F90. That should further isolate the source of error and will only print when the error is triggered.<br />
<br />
:Hopefully, a few species will jump out. Then, the tolerances can targeted. Right now, it looks like tolerances are set as a vector, but all values are identical. The values are pretty loose for many species, but I suspect they were chosen to allow integration for a few radical species. One common approach for this situation is to identify a few key species and set the ATOL/RTOL separately for those species. <br />
<br />
# set default<br />
ATOL = 1e-3<br />
RTOL = 1e-5<br />
# set species specific<br />
ATOL(ind_O1D) = 1e-2<br />
RTOL(ind_O1D) = 1e-2<br />
ATOL(ind_XXX) = 1e-2<br />
RTOL(ind_XXX) = 1e-2<br />
<br />
:Tightening the tolerances will make it more stable, and oddly often faster.<br />
<br />
'''''Mat Evans wrote:'''''<br />
<br />
:So even if we set the tolerance to be 1e-2_dp we still get a convergence error. Its hard to know what to advise here. It sounds like we need a bit of work to be done looking at this and looking at the situation that the convergence fails and to get an understanding of when we get the problem. However given the pressure at the moment to get v11.2 done I think my advise would be for us to move to using 1e-2 in the interim and we come back to this. <br />
<br />
:The major problem I can see from this is in the run time. I don’t know how much longer the simulation is to run with this as the convergence criteria. <br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:08, 21 March 2018 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=UCX_chemistry_mechanism&diff=33831UCX chemistry mechanism2017-08-01T18:57:37Z<p>Sebastian D. Eastham: /* v11-01 and prior versions */ Changed recommendation for strat H2O flag from F to T</p>
<hr />
<div>On this page, we provide information about the '''Universal tropospheric-stratospheric Chemistry eXtension (UCX)''' mechanism in GEOS-Chem. UCX combines both tropospheric and stratospheric reactions into a single chemistry mechanism. It was developed by Sebastian Eastham, Debra Weisenstein, and Steven Barrett at the [http://lae.mit.edu Laboratory for Aviation and the Environment] at the Massachusetts Institute of Technology.<br />
<br />
<span style="color:green">'''''NOTE: The UCX chemistry mechanism is included in the "benchmark" chemistry mechanism, which is selected by default when you compile and run GEOS-Chem "out of the box". The "benchmark" mechanism adds extra SOA species that are not present in the original UCX implementation. For more information, see our [[GEOS-Chem chemistry mechanisms]] wiki page.'''''</span><br />
<br />
== Overview ==<br />
<br />
The UCX adds online stratospheric chemistry to GEOS-Chem. Switching on the UCX results in the following changes to GEOS-Chem:<br />
<br />
* Photolysis and UV transfer is calculated using the [[FAST-JX v7.0 photolysis mechanism|Fast-JX v7.0a]] model in 18 wavelength bins, covering 177-850 nm. Switching off the UCX removes 6 of the high-frequency bins for the sake of computational speed<br />
* In-model column ozone can now be used to estimate ozone optical depth for photolysis calculations, allowing photochemistry to couple to modeled ozone depletion or production<br />
* Long-lived species such as N<sub>2</sub>O, CH<sub>4</sub>, OCS, CFCs, HCFCs and halons are emitted, advected and lost as part of the chemistry mechanism, instead of ignored or set to fixed mixing ratios<br />
* Stratospheric water is treated as an advected tracer, and can be enhanced by changes in tropospheric meteorology and upwelling CH<sub>4</sub><br />
* Stratospheric aerosols (LBS, STS, NAT and ice) are formed according to thermodynamics equilibrium. These aerosols are advected, interact with radiation, can settle (based on a log-normal approximation) and take part in heterogeneous chemistry as described in [http://www.geosci-model-dev.net/4/169/2011/gmd-4-169-2011.html Kirner et al 2011]<br />
* A mesospheric steady-state approximation is applied to NO<sub>y</sub> and SO<sub>x</sub> to prevent formation of an unrealistic high-altitude reservoir while conserving total nitrogen and sulfur<br />
<br />
All other mesospheric chemistry is approximated using the [[Stratospheric_chemistry#New_implementation_of_linearized_stratospheric_chemistry|linearized GMI mechanism]]. In total, the UCX decreases run speed by about 50% in a 4x5 simulation. For more information on the UCX please see the following documents, which describe the UCX mechanism in more detail:<br />
<br />
# Eastham, S.D., Weisenstein, D.K., Barrett, S.R.H., ''Development and evaluation of the unified tropospheric–stratospheric chemistry extension (UCX) for the global chemistry-transport model GEOS-Chem'', <u>Atmos. Env.</u>, June 2014. [http://dx.doi.org/10.1016/j.atmosenv.2014.02.001 (Article)]<br />
#Technical Note: The GEOS-Chem Unified Tropospheric-Stratospheric Chemistry Extension (UCX): Interim Distribution, September 2013 [http://lae.mit.edu/uploads/LAE_report_series/2013/LAE-2013-006-N.pdf (Article)]<br />
<br />
=== Running with the UCX ===<br />
Running GEOS-Chem with online stratospheric chemistry requires the following:<br />
<br />
* The code must be compiled with the option <code>UCX=yes</code>, e.g. <code>make -j4 UCX=yes GRID=4x5 MET=GEOS5</code><br />
* The tracer restart file must use the native vertical resolution (72 layers in [[MERRA]], [[GEOS-5]] and [[GEOS-FP]]) and have the additional UCX tracers (total count of 92 in [[GEOS-Chem_v10-01|v10-01]])<br />
* The lines <code>Use UCX strat. chem?</code>, <code>Online CH4 chemistry?</code> and <code>Active strat. H2O?</code> should be set to <code>T</code> in the <code>input.geos</code> chemistry menu. The lines regarding [[Linoz_stratospheric_ozone_chemistry|LINOZ]] and [[Stratospheric_chemistry#New_implementation_of_linearized_stratospheric_chemistry|linearized stratospheric chemistry]] should be left on, as they will continue to operate in the mesosphere. The additional stratospheric tracers must also be listed in <code>input.geos</code><br />
<br />
Alternatively, just download the source code with UCX options already specified, as described below.<br />
<br />
--[[User:Sebastian D. Eastham|Sebastian D. Eastham]] 10:15, 11 May 2015 (EDT)<br />
<br />
== Obtaining the source code ==<br />
<br />
=== Provisional code ===<br />
<br />
'''''[mailto:sbarrett@mit.edu Steven Barrett] wrote:'''''<br />
<br />
:As a few people have asked for the code for the strat chem version of GEOS-Chem, we've posted it as [http://lae.mit.edu/?page_id=58 a simple compressed file here] as a temporary location so they can use it right away until it gets integrated into the main code. [Until then], we'll just keep track of any fixes/issues that come up until then.<br />
<br />
--[[User:Bmy|Bob Y.]] 13:44, 30 September 2013 (EDT)<br />
<br />
=== Standard code ===<br />
<br />
UCX has been added to GEOS-Chem v10-01c, which was tested with [[GEOS-Chem_v10-01_benchmark_history#v10-01c|1-month benchmark simulations]] approved on 29 May 2014 and [[GEOS-Chem_v10-01_benchmark_history#v10-01c-Run1|1-year benchmark simulations]] approved on 26 June 2014. It is included in the [[GEOS-Chem v10-01]] public release.<br />
<br />
--[[User:Bmy|Bob Y.]] 14:44, 25 April 2014 (EDT)<br />
<br />
== Spinning up the stratosphere ==<br />
<br />
=== v11-01 and prior versions ===<br />
<br />
The default settings in the Emissions Menu of <tt>input.geos</tt> are:<br />
<br />
=> Set initial glob MRs:---<br />
=> strat. H2O? : T<br />
=> CH4? : T<br />
=> OCS? : T<br />
=> CFCs? : T<br />
=> Cl species? : T<br />
=> strat Bry (GCCM)?: T<br />
=> Br species? : F<br />
=> strat. Br? : F<br />
=> strat. NOx/HNO3? : T<br />
=> N2O? : T<br />
=> strat. SO4? : T<br />
=> CFC emission year : 0<br />
<br />
This may be problematic when splitting your GEOS–Chem simulation into several stages in order to fit within the time limits imposed by your batch queuing system.<br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:[The above settings] means that the stratosphere never really spun up. Overwriting strat H2O is definitely advisable for every run – allowing stratospheric H2O to evolve is an experiment at best - and resetting the long-lived species (CH4/OCS/CFCs/N2O) is unlikely to make a difference, but Cl species, all Br, strat NOx/HNO3 and strat SO4 probably need to be allowed to evolve on their own after the initial setup. Stratospheric NOx/HNO3 in particular takes about a year or more to sort itself out after the original run – the strat in general takes up to 5 years to spin up properly due to the long transport times and slow circulation. Any of these flags being set to T results in the restart file being ignored for those species, either within the stratosphere or over the whole domain (depending on the flag), such that 6 2-month runs will not yield the same results as 1 12-month run if any of them are true.<br />
<br />
In order to properly spin up the stratosphere, the following settings are recommended for run stages 2 and beyond:<br />
<br />
=> Set initial glob MRs:---<br />
=> strat. H2O? : T<br />
=> CH4? : F<br />
=> OCS? : F<br />
=> CFCs? : F<br />
=> Cl species? : F<br />
=> strat Bry (GCCM)?: F<br />
=> Br species? : F<br />
=> strat. Br? : F<br />
=> strat. NOx/HNO3? : F<br />
=> N2O? : F<br />
=> strat. SO4? : F<br />
=> CFC emission year : 0<br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:Regarding H2O, the only truly consistent approaches would be either to treat H2O identically to the other species, or to set <tt>Active strat. H2O: F</tt> throughout. For a single year benchmark the former approach would probably be fine – the stratospheric H2O does diverge from meteorology over time but the anomaly isn’t too bad over short time periods, and allowing stratospheric dehydration is a useful feature of the UCX.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] 11:18, 8 September 2014 (EDT)<br />
<br />
=== v11-02 ===<br />
<br />
The initial 2D mixing ratio option is slated for removal in [[GEOS-Chem v11-02#v11-02e|v11-02e]].<br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
<blockquote>When developing the UCX, we recognized that many users would have restart files which didn't contain data on long-lived stratospheric species. Standard spin-up is not an option for these - it would take decades to get strat CFCs to the correct mixing ratio. As a result, we offered them the option of using zonal mean mixing ratios from a 2D stratospheric model (the AER CTM) for long-lived species. These were stored as monthly means in simple ASCII files. If the user set the appropriate switch in input.geos, stratospheric mixing ratios for long-lived species would be overwritten with these zonal mean values at model initialization. Specifically, all values of STT(:,J,L) would be set to STT_2D(J,L), with STT_2D read in from the ASCII file. Many of these routines are hard-coded to deal with only 4x5 and 2x2.5. A spinup would still be needed, but it would be a few years rather than a few decades. This gave users flexibility and meant that users didn't have to deal with modifying GEOS-Chem restart files in IDL (probably my least favorite task).<br />
<br />
Five things have changed since then:<br />
<br />
#There are restarts available from the GCST which contain reasonable concentrations of long-lived tracers;<br />
#GCC restarts are now NetCDF, which makes everyone's lives easier;<br />
#We have transitioned away from relying on ASCII files, such that the old 2D ASCII files are an irritation;<br />
#GIGC removes the assumption that all cells in STT(:,NY) are at the same latitude, making the old code obsolete; and<br />
#GIGC means that we have way more than 2 resolutions to worry about.<br />
<br />
Now, each of these would be easy enough to deal with, but the fact is that the routines are basically obsolete. The only real exception is H2O, which we do need to hold on to but which is set from the met data, so we don't need ASCII input files.</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 19:28, 10 May 2017 (UTC)<br />
<br />
== Previous issues that are now resolved ==<br />
<br />
=== Bug fixes for running UCX in ESMF environment ===<br />
<br />
<span style="color:green">'''''These fixes were included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span><br />
<br />
'''''[[User:Christoph_Keller|Christoph Keller]] wrote:'''''<br />
<br />
<blockquote>I just merged [[GEOS-Chem v11-01]] into GEOS-5 and had to add a few bug fixes to GEOS-Chem to make it work. Most of them are minor, i.e. initializing a variable to zero or adding some am_I_Root checks. The only noteworthy fix is that I had to move the definition of variable id_CH4 in flexchem_mod.F90 outside of the compiler bracket:</blockquote><br />
<br />
'''old:'''<br />
#if defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )<br />
!-----------------------------------------------------------------<br />
! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%%<br />
!<br />
! Do nothing, since we will call these setup routines from the <br />
! init method of the ESMF interface (bmy, 10/24/12)<br />
!-----------------------------------------------------------------<br />
#else<br />
!-----------------------------------------------------------------<br />
! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%%<br />
!<br />
! Call the following chemistry setup routines only on the very<br />
! first chemistry timestep. This is current practice in the<br />
! std GEOS-Chem. (bmy, 10/24/12)<br />
!-----------------------------------------------------------------<br />
IF ( FIRSTCHEM ) THEN<br />
<br />
!---------------------------------<br />
! Set global concentration of CH4<br />
!---------------------------------<br />
<span style="color:red">! Define advected species ID flag<br />
id_CH4 = Ind_('CH4','A')</span><br />
<br />
'''new:'''<br />
<span style="color:green">! Define advected species ID flag<br />
id_CH4 = Ind_('CH4','A')</span><br />
<br />
#if defined( EXTERNAL_GRID ) || defined( EXTERNAL_FORCING )<br />
!-----------------------------------------------------------------<br />
! %%%%%%% GEOS-Chem HP (with ESMF & MPI) %%%%%%%<br />
!<br />
! Do nothing, since we will call these setup routines from the <br />
! init method of the ESMF interface (bmy, 10/24/12)<br />
!-----------------------------------------------------------------<br />
#else<br />
!-----------------------------------------------------------------<br />
! %%%%%%% GEOS-Chem CLASSIC (with OpenMP) %%%%%%%<br />
!<br />
! Call the following chemistry setup routines only on the very<br />
! first chemistry timestep. This is current practice in the<br />
! std GEOS-Chem. (bmy, 10/24/12)<br />
!-----------------------------------------------------------------<br />
IF ( FIRSTCHEM ) THEN<br />
<br />
!---------------------------------<br />
! Set global concentration of CH4<br />
!---------------------------------<br />
<br />
<blockquote>In the original code it would always assume that id_CH4 < 0 and it caused my CH4 concentrations to be zero when running with UCX.</blockquote><br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:32, 10 March 2017 (UTC)<br />
<br />
=== Only allocate certain fields of State_Chm for UCX-based simulations ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-01 benchmark history#v11-01k|v11-01k]] and approved on 19 Dec 2016'''''</span><br />
<br />
In [[GEOS-Chem v10-01]] and higher versions, the 3-D fields <code>State_Chm%KHETI_SLA</code> and <code>State_Chm%STATE_PSC</code> are always allocated. But these fields are only relevant to full-chemistry simulations using the UCX mechanism (e.g. Standard, UCX) and are not used otherwise. This causes GEOS-Chem to set aside extra, unnecessary memory for simulations that do not use the UCX mechanism.<br />
<br />
We have therefore made the following modifications (shown in <span style="color:green">GREEN</span> in routine <code>Init_State_Chm</code> (located in module <code>Headers/state_chm_mod.F90</code>). This will make sure that we only allocate memory to these fields if we are using the UCX mechanism. The fields will be set to <code>NULL()</code> otherwise.<br />
<br />
<span style="color:green">! Fields for UCX mechanism<br />
State_Chm%STATE_PSC => NULL()<br />
State_Chm%KHETI_SLA => NULL()</span><br />
<br />
. . .<br />
<br />
!=====================================================================<br />
! Allocate and initialize fields for UCX mechamism<br />
!=====================================================================<br />
<span style="color:green">#if defined( UCX )</span><br />
<br />
ALLOCATE( State_Chm%STATE_PSC ( IM, JM, LM ), STAT=RC )<br />
IF ( RC /= GC_SUCCESS ) RETURN<br />
State_Chm%STATE_PSC = 0.0_f4<br />
<br />
ALLOCATE( State_Chm%KHETI_SLA ( IM, JM, LM, 11 ), STAT=RC )<br />
IF ( RC /= GC_SUCCESS ) RETURN<br />
State_Chm%KHETI_SLA = 0.0_fp<br />
<br />
<span style="color:green">#endif</span><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 18:32, 28 November 2016 (UTC)<br />
<br />
=== Fix for mesospheric NOx chemistry ===<br />
<br />
<span style="color:green">'''''This update was validated with the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01j|v11-01j]] and approved on 03 Dec 2016'''''</span><br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:The first fix is to the [[FlexChem#Incorrect_species_units_used_in_routines_UCX_NOX_and_UCX_H2SO4PHOT|call to <tt>UCX_NOX</tt>]] itself. In the current version of GEOS-Chem, the call to <tt>UCX_NOX</tt> in the FlexChem module occurs while the species array is in molec/cm3, but <tt>UCX_NOX</tt> expects kg. Moving the call to be after the conversion fixes this issue.<br />
<br />
:The second fix is to re-establish day-time steady-state for NOx in the mesosphere. This code was already present, but was not functioning correctly, as only NO was being used to estimate total NOx. Partitioning of NOx between N, NO, NO2 and NO3 is now calculated directly in the mesosphere. This assumes that the species will be locally in steady state as long as there is daylight, and that this steady state occurs on a much faster timescale than loss by the reactions N + NO -> N2 + O or N + NO2 -> N2O + O. O(1D) and O(3P) concentrations are taken from archived 2D data, along with J-rates for NO, NO2, NO3 and N2O. The O3 concentration is taken from the species array. Loss rates for NOx and N2O (in addition to the rate of NOx production from N2O) are also estimated, based on the aforementioned loss reactions and destruction of N2O by O(1D) and photolysis.<br />
<br />
:Finally, I’ve updated the aforementioned chemistry scheme to improve accuracy. The first change is that the J-rates are no longer taken from 2D data. Instead, the J-rate calculated at the top of the stratosphere is applied vertically throughout the column. This mirrors the approach used to calculate mesospheric H2SO4 photolysis. The second change is that a heavily simplified NOx chemistry mechanism is applied during mesospheric night. Previously, it was assumed that there would be no mesospheric NOx chemistry at night. However, this led to an overestimate of N and NO, and an underestimate of NO2 and NO3 (especially at high latitudes). It is now assumed that when there is no sunlight there is negligible N, O(1D) and O(3P). This reduces the mesospheric NOx mechanism to a 3-reactant chain. All local N is converted immediately to NO, and then only the two following reactions occur: NO + O3 -> NO2 + O2 and NO2 + O3 -> NO3 + O2. The evolution of the partitioning between these species is too slow to be well-represented by steady state, but the simplicity of the mechanism allows for an analytical solution. The extra overhead should be effectively zero, as it requires the evaluation of only three exponentials in each mesospheric night-time grid cell.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:27, 21 November 2016 (UTC)<br />
<br />
=== Fix for black carbon in ucx_mod.F ===<br />
<br />
<span style="color:green">'''''This fix was validated with [[GEOS-Chem_v11-01_benchmark_history#v11-01b|1-month benchmark simulation v11-01b]] and [[GEOS-Chem_v11-01_benchmark_history#v11-01b-Run0|1-year benchmark simulation v11-01b-Run0]]. This version was approved on 19 Aug 2015.'''''</span><br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:After one hour of simulation with the standard initial restart file, a layer of black carbon appears at the stratopause, and the mesopause empties of black carbon entirely (although I’m not sure why there is so much up there to begin with). This layer is due to an error in the sedimentation calculation. On line 2699 of <tt>ucx_mod.F</tt>, the line<br />
<br />
RWET(IBC) = RAA(IND999,29)<br />
<br />
Should be changed to <br />
<br />
RWET(IBC) = RAA(IND999,29) * 1.0e-6_fp<br />
<br />
This was just a unit conversion error, and has probably been there since the UCX was first developed. I only noticed it because there seems to be a lot more high altitude black carbon in the model now than there was in v9-01-03, when the UCX was developed. I’m still looking into why this is the case.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:06, 13 July 2015 (UTC)<br />
<br />
=== Reactivate bromine species photolysis for tropospheric simulations===<br />
<br />
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''</span><br />
<br />
In the original Fast-JX input files, photolysis for several bromine species had been deactivated for tropospheric simulations. A full description of the error and its fix may be found in [[FAST-JX v7.0 photolysis mechanism#Reactivation of bromine species photolysis for tropospheric simulation|this post on our ''Fast-JX v7.0 photolysis mechanism'' wiki page]].<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] 13:43, 14 May 2014 (EDT)<br />
<br />
=== Error in Fast-JX for tropospheric only simulation ===<br />
<br />
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''</span><br />
<br />
An bug in the original Fast-JX code caused the cross-sections to be interpolated incorrectly for tropospheric-only chemistry simulations. A full description of this error may be found in [[FAST-JX v7.0 photolysis mechanism#Error_in_reducing_wavelength_bins_for_tropospheric_simulation|this post on our ''FAST-JX v7.0 photolysis mechanism'' wiki page]].<br />
<br />
--[[User:Bmy|Bob Y.]] 14:27, 20 May 2014 (EDT)<br />
<br />
=== Modify treatment of N2O5 + H2O reaction in calcrate.F ===<br />
<br />
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''</span><br />
<br />
<span style="color:red">'''''NOTE: Routine <tt>calcrate.F</tt> is slated for removal from [[GEOS-Chem v11-01]] once the new FlexChem solver is implemented.'''''</span><br />
<br />
The reaction for <tt>N2O5 + H2O</tt> was found to be problematic in long-term UCX simulations where the <tt>H2O</tt> concentration (stored in the <tt>EDUCTCONC</tt> variable in file <tt>GeosCore/calcrate.F</tt>) was low and caused the solver to choke. Sebastian Eastham suggested that we include the following fix in the standard code.<br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:The division is necessary to compensate for the change from <tt>N2O5 -> 2HNO3</tt> to <tt>N2O5 + H2O -> 2HNO3</tt>&mdash;it's still "as in base GEOS-Chem" though in the sense that it doesn't check to see if <tt>N2O5</tt> or <tt>H2O</tt> is the limiting reactant (and possibly herein lies the problem!). It might be worth seeing if the treatment used for the other aerosol reactions (not including the check against parameter <tt>PSCMINLIFE</tt>) would help.<br />
<br />
Following Sebastian's suggestion, we have made the following modification in this section of <tt>calcrate.F</tt> for better numerical stability:<br />
<br />
! If all these checks are passed, we set k = ki/[B].<br />
! Rxn 11 is first-order - ignore<br />
IF (PSCIDX.eq.1) THEN<br />
!------------------------------------------------------------------------------<br />
! Prior to 5/12/14:<br />
! Use same treatment used for other aerosol reactions (not including the<br />
! check against PSCMINLIFE) (sde, mps, 5/12/14)<br />
! ! N2O5 + H2O is an old reaction, allow to proceed<br />
! ! as it did in base GEOS-Chem<br />
! IF (IS_SAFE_DIV(ADJUSTEDRATE,EDUCTCONC)) THEN<br />
! ADJUSTEDRATE = ADJUSTEDRATE/EDUCTCONC<br />
! ELSE<br />
! ADJUSTEDRATE = 0d0<br />
! ENDIF<br />
!------------------------------------------------------------------------------<br />
! Convert from 1st-order to 2nd-order<br />
IF (IS_SAFE_DIV(EDUCTCONC,LIMITCONC)) THEN<br />
! Temporarily store [B]/(T*[A])<br />
LIMITCONC = EDUCTCONC/(PSCMINLIFE*LIMITCONC)<br />
IF (ADJUSTEDRATE.gt.LIMITCONC) THEN<br />
ADJUSTEDRATE = LIMITCONC<br />
ENDIF<br />
ELSE<br />
ADJUSTEDRATE = 0d0<br />
ENDIF<br />
IF ((EDUCTCONC.gt.1.d2).and.<br />
& (IS_SAFE_DIV(ADJUSTEDRATE,EDUCTCONC))) THEN<br />
ADJUSTEDRATE = ADJUSTEDRATE/EDUCTCONC<br />
ELSE<br />
ADJUSTEDRATE = 0d0<br />
ENDIF<br />
<br />
--[[User:Bmy|Bob Y.]] 14:56, 13 May 2014 (EDT)<br />
<br />
=== Read 2D data for individual NOx species in ucx_mod.F ===<br />
<br />
<span style="color:green">'''''This update was validated with the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01f|v10-01f]] and approved on Approved 13 Jan 2015.'''''</span><br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:A quick and easy improvement can be made now that NOx has been split out into separate species. In <tt>ucx_mod.F</tt> at line 504, the NO tracer is currently given the full NOx burden – however, the file from which they are read, DiurnalAvg.nc, contains NO, NO2, HNO2 (as HONO) and NO3 separately, as well as lumped – with HNO3 and PAN – into the single variable ‘NOx’. The attached file, a specifically updated version of <tt>ucx_mod.F</tt> based on my download of Code.tar.gz, would fully implement the update with a change of only about 15 lines (which also prevents a doubling of HNO3 at one pole upon initialization, since the old “NOx” value from the 2D model includes PAN and HNO3).<br />
<br />
In routine <tt>SET_INITIAL_MIXRATIOS</tt>, change the following lines:<br />
<br />
! Stratospheric NOy<br />
IF (LSETNOYSTRAT) THEN<br />
IF ( am_I_Root ) THEN<br />
WRITE(6,*) '|NOx |HNO3 | |'<br />
WRITE(6,*) '|---------|---------|---------|'<br />
ENDIF<br />
<br />
! No Montreal scaling<br />
SCALEFAC = 1.d0<br />
<br />
TRAC_IDX = IDTHNO3<br />
TRAC_SET = 'HNO3'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTNO<br />
TRAC_SET = 'NOX'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
ENDIF<br />
<br />
to:<br />
<br />
! Stratospheric NOy<br />
IF (LSETNOYSTRAT) THEN<br />
IF ( am_I_Root ) THEN<br />
WRITE(6,*) '|NO |NO2 |NO3 |'<br />
WRITE(6,*) '|---------|---------|---------|'<br />
WRITE(6,*) '|HNO2 |HNO3 |HNO4 |'<br />
WRITE(6,*) '|---------|---------|---------|'<br />
WRITE(6,*) '|N2O5 |PAN | |'<br />
WRITE(6,*) '|---------|---------|---------|'<br />
ENDIF<br />
<br />
! No Montreal scaling<br />
SCALEFAC = 1.d0<br />
<br />
TRAC_IDX = IDTNO<br />
TRAC_SET = 'NO'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTNO2<br />
TRAC_SET = 'NO2'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
! Unstable product of ETO2 + NO2 gets lumped into NO2 for now<br />
TRAC_SET = 'ETHO2NO2'<br />
CALL APPLY_2DTRAC( .TRUE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTNO3<br />
TRAC_SET = 'NO3'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTN2O5<br />
TRAC_SET = 'N2O5'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTHNO2<br />
TRAC_SET = 'HONO'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTHNO3<br />
TRAC_SET = 'HNO3'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTHNO4<br />
TRAC_SET = 'HO2NO2'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
<br />
TRAC_IDX = IDTPAN<br />
TRAC_SET = 'PAN'<br />
CALL APPLY_2DTRAC( .FALSE., .TRUE., .FALSE., SCALEFAC,<br />
& Input_Opt, State_Met, State_Chm )<br />
ENDIF<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] 11:23, 18 June 2014 (EDT)<br />
<br />
=== UCX stratospheric water boundary condition update ===<br />
<br />
<span style="color:green">'''''This update is in the pipeline for [[GEOS-Chem_v11-02|GEOS-Chem v11-02]].'''''</span><br />
<br />
'''''[[User:Sebastian_D._Eastham|Sebastian Eastham]] wrote:'''''<br />
<br />
:Chris Holmes wrote a minor update to the UCX stratospheric water boundary condition (attached), which I think would constitute a useful improvement for GEOS-Chem v11-02. This fix just ensures that the boundary condition for stratospheric water vapor is set at or above the tropical cold point, rather than at the meteorological tropopause. Since the met tropopause can sometimes be below the cold point, the pre-fix UCX would sometimes allow excessive water vapor to enter the stratosphere.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:09, 5 January 2017 (UTC)<br />
<br />
== References ==<br />
<br />
# Eastham, S.D., Weisenstein, D.K., Barrett, S.R.H., ''Development and evaluation of the unified tropospheric–stratospheric chemistry extension (UCX) for the global chemistry-transport model GEOS-Chem'', <u>Atmos. Env.</u>, June 2014. [http://dx.doi.org/10.1016/j.atmosenv.2014.02.001 (Article)]<br />
#Technical Note: The GEOS-Chem Unified Tropospheric-Stratospheric Chemistry Extension (UCX): Interim Distribution, September 2013 [http://lae.mit.edu/uploads/LAE_report_series/2013/LAE-2013-006-N.pdf (Article)]</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=GCHP_v11-02&diff=33464GCHP v11-022017-06-20T15:06:26Z<p>Sebastian D. Eastham: /* GFortran + MVAPICH2 runs hang if using multiple nodes */</p>
<hr />
<div>__FORCETOC__<br />
'''''[[GEOS-Chem_HP|GCHP Home]]'''''<br />
<br />
== Overview ==<br />
<br />
GEOS-Chem v11-02 with the high performance option enabled (GCHP) features the same science as GEOS-Chem using the standard "classic" capability (GCC) but operates on a cubed-sphere grid and is parallelized using a message-passing interface (MPI) implementation. GCHP improves upon GCC by (1) enabling more accurate transport through elimination of the polar singularity inherent to lat-lon grids, and (2) providing efficient scaling across multiple machines making finer resolution global simulations possible.<br />
<br />
Running GEOS-Chem with the high performance option requires use of source code from two repositories maintained under version control. This page documents the mapping between the two repositories as well as the features and bug fixes added specifically to the HP-only repository called GCHP. Updates to the GCHP repository are maintained on this page separately from the primary [[GEOS-Chem_v11-02|GEOS-Chem v11-02]] wiki page because they are primarily structural updates. Scientific updates from the community will continue to be implemented in the primary GEOS-Chem repository and documented on the GEOS-Chem v11-02 wiki page.<br />
<br />
For clarity, we use a separate version numbering system for the HP-only repository, specifically of form vX.Y.Z. The first digit X changes with large-scale updates to the GCHP infrastructure. The second digit Y changes when GCHP is no longer backwards-compatible with the other GEOS-Chem source code repository. The third digit Z changes when there are important updates to the high performance infrastructure and backwards-compatibility with the other repository is maintained.<br />
<br />
== Version Mapping and Status ==<br />
<br />
Currently GCHP is not a git sub-module of the primary GEOS-Chem repository so we rely on git tags to manually map between the two code bases. This will likely change in the future when every download of GEOS-Chem is expected to include the high performance capability. Until then, please refer to this page to ensure that you are using the correct repository versions to run your simulations. To checkout a git tag simply type:<br />
<br />
git checkout tags/tag_name<br />
<br />
The table below maps GEOS-Chem versions and status with the compatible versions of the high performance option (GCHP) and unit tester (UT). The initial version, v1.0.0, which is not compatible with v11-02, is included for a complete history. All versions appear as git tags within the master branches of the repositories linked to in the table heading.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="120px"|[https://bitbucket.org/gcst/gchp GCHP] <br />
!width="120px"|[https://bitbucket.org/gcst/gc_bleeding_edge GEOS-Chem]<br />
!width="120px"|[https://bitbucket.org/gcst/ut_bleeding_edge UT]<br />
!width="150px"|Download Status<br />
!width="350px"|Validation Status<br />
<br />
|-valign="top"<br />
|'''<tt>[[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]]</tt>'''<br />
|'''<tt>[[GEOS-Chem_v11-02#v11-02b|v11-02b]]</tt>'''<br />
|'''<tt>v11-02b</tt>'''<br />
|'''Recommended'''<br />
|[[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark evaluation]] in progress (released 15 June 2017)<br />
<br />
|-valign="top"<br />
|'''<tt>[[GEOS-Chem_HP_v11-02#HP_v1.0.0|GCHP_v1.0.0]]</tt>'''<br />
|'''<tt>[[GEOS-Chem_v11-01#v11-01_public_release|GCHP_v1.0.0</tt>]]'''<br />
|'''<tt>GCHP_v1.0.0</tt>'''<br />
|previous version<br />
|Internal benchmark completed April 2017<br />
|}<br />
<br />
== New Features in this Version ==<br />
<br />
=== HP v1.1.0 ===<br />
<br />
This version will be included in the 1-month benchmark of GEOS-Chem [[GEOS-Chem_v11-02#v11-02b|v11-02b]]. Please see the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|approval form for the 1-month benchmark simulation v11-02b with high performance option]] for complete information on validation of this version.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Enable_use_of_GFortran_compiler_with_GCHP|Enable use of GFortran compiler with GCHP]]<br />
|Seb Eastham (Harvard)<br />
|Structural<br />
|Pending benchmark approval<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Relax_restart_file_requirements|Update handling of the species restart file]]<br />
#Allow omission of advected species from the restart file<br />
#Add option to skip use of a species restart file and initialize all species concentrations from the species database<br />
|Lizzie Lundgren (GCST)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Enable_read-in_of_day-of-week_scale_factors_in_ExtData|Enable read-in of day-of-week scale factors in ExtData]]<br />
|Seb Eastham (Harvard)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|Minor structural updates for compatibility with [[GEOS-Chem_v11-02#v11-02a|v11-02a]] modifications<br />
|Lizzie Lundgren (GCST)<br />
|Structural<br />
|" "<br />
<br />
|}<br />
<br />
=== HP v1.0.0 ===<br />
<br />
GEOS-Chem with HP v1.0.0 is a preliminary version of the HP option in GEOS-Chem that is compatible with a version of GEOS-Chem base code built off of v11-01. As an initial version of GCHP it is included on this page for completeness even though it is not compatible with GEOS-Chem v11-02. Note that v1.0.0 did not undergo a formal benchmark review by the GEOS-Chem Steering Committee. Please see [[GEOS-Chem_v11-01_HP_Validation|GEOS-Chem v11-01 HP validation wiki page]] for information about the internal benchmark of this version performed by the [[GEOS-Chem_HP#GCHP_Development_Team|GCHP Development Team]].<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-01_HP_Validation#Recent_updates_in_v1.0.0|Initial version for validation of scientific fidelity]]<br />
|Mike Long (GCST)<br>Seb Eastham (Harvard)<br>Jiawei Zhuang (Harvard)<br>Bob Yantosca (GCST)<br>Lizzie Lundgren (GCST)<br />
|General<br />
|Internal benchmark complete (April 2017)<br />
<br />
|}<br />
<br />
=== In the pipeline ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-valign="top" <br />
|<br />
|<br />
|<br />
|<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|On hold<br />
<br />
|-valign="top" <br />
|<br />
|<br />
|<br />
|<br />
<br />
|}<br />
<br />
== Validation ==<br />
<br />
In this section we provide information about the benchmarks and tests that we have done to validate the high performance option of GEOS-Chem v11-02.<br />
<br />
=== 1-month and 1-year benchmarks ===<br />
<br />
For complete information about the benchmark simulations used to validate GEOS-Chem v11-02, please see [[GEOS-Chem v11-02 benchmark history|our ''GEOS-Chem v11-02 benchmark history'' wiki page]].<br />
<br />
=== Unit tests ===<br />
<br />
We currently do not perform unit tests on high performance GEOS-Chem.<br />
<br />
== Previous HP issues now resolved in GEOS-Chem v11-02 ==<br />
<br />
=== Enable read-in of day-of-week scale factors in ExtData ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Seb Eastham (Harvard) implemented an update in MAPL to allow use of day-of-week scale factors with emissions. He wrote: <br />
<blockquote>Data which varies by day-of-the-week can now be read in. Such data must be contained within a single file, and must have exactly 7 or 84 time entries. If 7 entries, these must correspond to each day of the week, starting with Sunday. If 84, this must be 12 7-day sets, one set for each month. Time information will be largely ignored. This read-in mode can be selected by specifying "D" for the "Cyclic" flag in ExtData.</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:26, 12 June 2017 (UTC)<br />
<br />
=== Enable use of GFortran compiler with GCHP ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Seb Eastham (Harvard) implemented updates to enable compilation of the high performance option of GEOS-Chem with GFortran. He wrote: <br />
<br />
<blockquote>Modifications to makefiles required for the build process to recognize, and correctly handle, the use of GCC as the only compiler. This set up was tested with GCC 5.4.0. The code was successfully compiled and run with MVAPICH2, and included the bug fixes in the next few commits:<br />
*The species identification routine in gchp_utils fails if "EOF" is reported from read_one_line, but EOF is never set. This has been fixed.<br />
*GC_F_INCLUDE is now only added to the "INC_NETCDF" variable if it is defined. Previously it was added once, and then again if defined, resulting in it being added twice.<br />
*The State_Met field MOLENGTH was being populated even when the array had not been allocated. This behavior resulted in a segfault with GFortran.<br />
*The default LUN for log writing is 700 in the code, but can be overwritten from the input directory. However, if the user selects LUN 6, this can cause problems, as units 5 and 6 are reserved for STDIN and STDOUT. ifort seemed to be able to cope but GFortran would die with mysterious errors. To prevent this, the code now stops if the user tries to select either of these LUNs.<br />
</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:31, 12 June 2017 (UTC)<br />
<br />
=== Relax restart file requirements ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Lizzie Lundgren (GCST) implemented two updates to allow more flexibility in the use of restart files.<br />
#'''Remove the requirement of including all advected species in the restart file:''' MAPL now changes the internal state RESTART attribute per species from initial category MAPL_RestartOptional to new category MAPL_RestartBootstrap if species are bootstrapped (default values used) rather than initialized from the restart file. This enables a later step of over-writing only the bootstrapped species with background concentration values stored in the species database, ultimately allowing the user to omit species from the restart file.<br />
#'''Remove the requirement of using a restart file:''' If the user now enters '+none' for GIGCchem_INTERNAL_RESTART_FILE in the GCHP.rc config file, then new RESTART category MAPL_RestartSkipInitial is set for all species during initialization of the internal state. This has the same effect as using existing category MAPL_RestartSkip except that (1) background values from the species database are retrieved to overwrite default values set in MAPL, and (2) species are written to the output checkout point. <br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:53, 12 June 2017 (UTC)<br />
<br />
== Outstanding HP issues not yet resolved in GEOS-Chem v11-02 ==<br />
<br />
=== HEMCO restart variables are not read into ExtData ===<br />
<br />
GCHP is not currently compatible with the HEMCO restart file and all HEMCO restart variables are set to /dev/null in ExtData.rc. This is an open issue which will be addressed in v11-02.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:02, 13 June 2017 (UTC)<br />
<br />
=== Time can only flow forward in MAPL ===<br />
<br />
Time must be able to flow backwards in all components of GEOS-Chem in order for the adjoint to be compatible with GCHP. Seb Eastham (Harvard) writes:<br />
<br />
<blockquote>To run GCHP backwards, I think there are two phases of work that will be needed.<br />
<br />
The first is just reconditioning MAPL to be able to deal with backwards flow of time. This means disabling some of the hardcoded error handling, such as in the case Melissa pointed out where we ran afoul of the line "ASSERT_(HEARTBEAT_DT>=0" in MAPL_Cap.F90. Some more significant plumbing work will also be needed to deal with the way that modules are called. Routines in ESMF/MAPL run when "alarms" are triggered, meaning that the time has progressed past a certain point. My expectation is that the majority of the changes will just involve adding logic for a negative timestep which flips inequalities, i.e. "If time > alarm_time" becomes "If time < alarm_time". In these instances the absolute value of "time" doesn't matter, just how much has passed since the last alarm. Most of the rest of the code is pretty agnostic about the flow of time, caring only about what the current value is.<br />
<br />
The second phase will be modifying the exceptions to this agnosticism, by far the biggest of which is ExtData. This is because a) the time dimensions in all input files are required to increase with index, which complicates the idea of just reversing everything, and b) ExtData must at all times know what file is coming next so that it can perform interpolation. Again, this doesn't seem too difficult to solve, but it will require either a creative solution or a lot of logical tests. A lesser but related case will be the modifications needed to the output module, History.</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:12, 13 June 2017 (UTC)<br />
<br />
=== Timestep midpoint cos(SZA) is set to cos(SZA) at start of timestep ===<br />
<br />
State_Met variables SUNCOS and SUNCOSmid are both set to internal state variable zenith which is extracted at the start of each chemistry timestep in MAPL. This causes out-of-the-box differences with GEOS-Chem "classic" (GCC). This is an open issue which will be addressed in v11-02 as part of our efforts to make GCHP and GCC out-of-the-box standard simulations more comparable.<br />
<br />
=== GFortran + MVAPICH2 runs hang if using multiple nodes ===<br />
<br />
While GCHP successfully compiles with GFortran starting in v1.1.0 (compatible with GEOS-Chem v11-02b), runs hang with an MPI_WAIT error if using cores across multiple nodes. This issue is not guaranteed; it has been observed on the Harvard Odyssey cluster with some builds, but there have also been successful GCHP simulations across multiple nodes when using a different set of GFortran and MVAPICH2 versions. The root cause is not yet known.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:35, 15 June 2017 (UTC)<br />
<br />
=== MPI_Wait error when running at coarse resolution with high-resolution input data ===<br />
<br />
MAPL crashes when regridding wind vector data from very high resolutions (e.g. 0.25x0.3125 to C24) if running on a small number of cores (e.g. 6). The problem appears to be the production of invalid MPI instructions within the scatter and gather routines.<br />
<br />
--[[User:Sebastian D. Eastham|Sebastian D. Eastham]] ([[User talk:Sebastian D. Eastham|talk]]) 16:01, 20 June 2017 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=GCHP_v11-02&diff=33463GCHP v11-022017-06-20T15:02:20Z<p>Sebastian D. Eastham: /* Outstanding HP issues not yet resolved in GEOS-Chem v11-02 */</p>
<hr />
<div>__FORCETOC__<br />
'''''[[GEOS-Chem_HP|GCHP Home]]'''''<br />
<br />
== Overview ==<br />
<br />
GEOS-Chem v11-02 with the high performance option enabled (GCHP) features the same science as GEOS-Chem using the standard "classic" capability (GCC) but operates on a cubed-sphere grid and is parallelized using a message-passing interface (MPI) implementation. GCHP improves upon GCC by (1) enabling more accurate transport through elimination of the polar singularity inherent to lat-lon grids, and (2) providing efficient scaling across multiple machines making finer resolution global simulations possible.<br />
<br />
Running GEOS-Chem with the high performance option requires use of source code from two repositories maintained under version control. This page documents the mapping between the two repositories as well as the features and bug fixes added specifically to the HP-only repository called GCHP. Updates to the GCHP repository are maintained on this page separately from the primary [[GEOS-Chem_v11-02|GEOS-Chem v11-02]] wiki page because they are primarily structural updates. Scientific updates from the community will continue to be implemented in the primary GEOS-Chem repository and documented on the GEOS-Chem v11-02 wiki page.<br />
<br />
For clarity, we use a separate version numbering system for the HP-only repository, specifically of form vX.Y.Z. The first digit X changes with large-scale updates to the GCHP infrastructure. The second digit Y changes when GCHP is no longer backwards-compatible with the other GEOS-Chem source code repository. The third digit Z changes when there are important updates to the high performance infrastructure and backwards-compatibility with the other repository is maintained.<br />
<br />
== Version Mapping and Status ==<br />
<br />
Currently GCHP is not a git sub-module of the primary GEOS-Chem repository so we rely on git tags to manually map between the two code bases. This will likely change in the future when every download of GEOS-Chem is expected to include the high performance capability. Until then, please refer to this page to ensure that you are using the correct repository versions to run your simulations. To checkout a git tag simply type:<br />
<br />
git checkout tags/tag_name<br />
<br />
The table below maps GEOS-Chem versions and status with the compatible versions of the high performance option (GCHP) and unit tester (UT). The initial version, v1.0.0, which is not compatible with v11-02, is included for a complete history. All versions appear as git tags within the master branches of the repositories linked to in the table heading.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="120px"|[https://bitbucket.org/gcst/gchp GCHP] <br />
!width="120px"|[https://bitbucket.org/gcst/gc_bleeding_edge GEOS-Chem]<br />
!width="120px"|[https://bitbucket.org/gcst/ut_bleeding_edge UT]<br />
!width="150px"|Download Status<br />
!width="350px"|Validation Status<br />
<br />
|-valign="top"<br />
|'''<tt>[[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]]</tt>'''<br />
|'''<tt>[[GEOS-Chem_v11-02#v11-02b|v11-02b]]</tt>'''<br />
|'''<tt>v11-02b</tt>'''<br />
|'''Recommended'''<br />
|[[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark evaluation]] in progress (released 15 June 2017)<br />
<br />
|-valign="top"<br />
|'''<tt>[[GEOS-Chem_HP_v11-02#HP_v1.0.0|GCHP_v1.0.0]]</tt>'''<br />
|'''<tt>[[GEOS-Chem_v11-01#v11-01_public_release|GCHP_v1.0.0</tt>]]'''<br />
|'''<tt>GCHP_v1.0.0</tt>'''<br />
|previous version<br />
|Internal benchmark completed April 2017<br />
|}<br />
<br />
== New Features in this Version ==<br />
<br />
=== HP v1.1.0 ===<br />
<br />
This version will be included in the 1-month benchmark of GEOS-Chem [[GEOS-Chem_v11-02#v11-02b|v11-02b]]. Please see the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|approval form for the 1-month benchmark simulation v11-02b with high performance option]] for complete information on validation of this version.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Enable_use_of_GFortran_compiler_with_GCHP|Enable use of GFortran compiler with GCHP]]<br />
|Seb Eastham (Harvard)<br />
|Structural<br />
|Pending benchmark approval<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Relax_restart_file_requirements|Update handling of the species restart file]]<br />
#Allow omission of advected species from the restart file<br />
#Add option to skip use of a species restart file and initialize all species concentrations from the species database<br />
|Lizzie Lundgren (GCST)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_HP_v11-02#Enable_read-in_of_day-of-week_scale_factors_in_ExtData|Enable read-in of day-of-week scale factors in ExtData]]<br />
|Seb Eastham (Harvard)<br />
|Structural<br />
|" "<br />
<br />
|-valign="top"<br />
|Minor structural updates for compatibility with [[GEOS-Chem_v11-02#v11-02a|v11-02a]] modifications<br />
|Lizzie Lundgren (GCST)<br />
|Structural<br />
|" "<br />
<br />
|}<br />
<br />
=== HP v1.0.0 ===<br />
<br />
GEOS-Chem with HP v1.0.0 is a preliminary version of the HP option in GEOS-Chem that is compatible with a version of GEOS-Chem base code built off of v11-01. As an initial version of GCHP it is included on this page for completeness even though it is not compatible with GEOS-Chem v11-02. Note that v1.0.0 did not undergo a formal benchmark review by the GEOS-Chem Steering Committee. Please see [[GEOS-Chem_v11-01_HP_Validation|GEOS-Chem v11-01 HP validation wiki page]] for information about the internal benchmark of this version performed by the [[GEOS-Chem_HP#GCHP_Development_Team|GCHP Development Team]].<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|Features affecting the full-chemistry simulation:<br />
<br />
|-valign="top"<br />
|[[GEOS-Chem_v11-01_HP_Validation#Recent_updates_in_v1.0.0|Initial version for validation of scientific fidelity]]<br />
|Mike Long (GCST)<br>Seb Eastham (Harvard)<br>Jiawei Zhuang (Harvard)<br>Bob Yantosca (GCST)<br>Lizzie Lundgren (GCST)<br />
|General<br />
|Internal benchmark complete (April 2017)<br />
<br />
|}<br />
<br />
=== In the pipeline ===<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="500px"|Feature<br />
!width="200px"|Submitted by<br />
!width="80px"|Type<br />
!width="200px"|Status<br />
<br />
|-valign="top" <br />
|<br />
|<br />
|<br />
|<br />
<br />
|-<br />
!colspan="4" bgcolor="#CCFFFF"|On hold<br />
<br />
|-valign="top" <br />
|<br />
|<br />
|<br />
|<br />
<br />
|}<br />
<br />
== Validation ==<br />
<br />
In this section we provide information about the benchmarks and tests that we have done to validate the high performance option of GEOS-Chem v11-02.<br />
<br />
=== 1-month and 1-year benchmarks ===<br />
<br />
For complete information about the benchmark simulations used to validate GEOS-Chem v11-02, please see [[GEOS-Chem v11-02 benchmark history|our ''GEOS-Chem v11-02 benchmark history'' wiki page]].<br />
<br />
=== Unit tests ===<br />
<br />
We currently do not perform unit tests on high performance GEOS-Chem.<br />
<br />
== Previous HP issues now resolved in GEOS-Chem v11-02 ==<br />
<br />
=== Enable read-in of day-of-week scale factors in ExtData ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Seb Eastham (Harvard) implemented an update in MAPL to allow use of day-of-week scale factors with emissions. He wrote: <br />
<blockquote>Data which varies by day-of-the-week can now be read in. Such data must be contained within a single file, and must have exactly 7 or 84 time entries. If 7 entries, these must correspond to each day of the week, starting with Sunday. If 84, this must be 12 7-day sets, one set for each month. Time information will be largely ignored. This read-in mode can be selected by specifying "D" for the "Cyclic" flag in ExtData.</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:26, 12 June 2017 (UTC)<br />
<br />
=== Enable use of GFortran compiler with GCHP ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Seb Eastham (Harvard) implemented updates to enable compilation of the high performance option of GEOS-Chem with GFortran. He wrote: <br />
<br />
<blockquote>Modifications to makefiles required for the build process to recognize, and correctly handle, the use of GCC as the only compiler. This set up was tested with GCC 5.4.0. The code was successfully compiled and run with MVAPICH2, and included the bug fixes in the next few commits:<br />
*The species identification routine in gchp_utils fails if "EOF" is reported from read_one_line, but EOF is never set. This has been fixed.<br />
*GC_F_INCLUDE is now only added to the "INC_NETCDF" variable if it is defined. Previously it was added once, and then again if defined, resulting in it being added twice.<br />
*The State_Met field MOLENGTH was being populated even when the array had not been allocated. This behavior resulted in a segfault with GFortran.<br />
*The default LUN for log writing is 700 in the code, but can be overwritten from the input directory. However, if the user selects LUN 6, this can cause problems, as units 5 and 6 are reserved for STDIN and STDOUT. ifort seemed to be able to cope but GFortran would die with mysterious errors. To prevent this, the code now stops if the user tries to select either of these LUNs.<br />
</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:31, 12 June 2017 (UTC)<br />
<br />
=== Relax restart file requirements ===<br />
<br />
<span style="color:darkorange">'''''This update was introduced in [[GEOS-Chem_HP_v11-02#HP_v1.1.0|v1.1.0]] and validated in the [[GEOS-Chem_v11-02_benchmark_history#v11-02b_HP_1-month|1-month benchmark of GEOS-Chem v11-02b]]'''''</span><br />
<br />
Lizzie Lundgren (GCST) implemented two updates to allow more flexibility in the use of restart files.<br />
#'''Remove the requirement of including all advected species in the restart file:''' MAPL now changes the internal state RESTART attribute per species from initial category MAPL_RestartOptional to new category MAPL_RestartBootstrap if species are bootstrapped (default values used) rather than initialized from the restart file. This enables a later step of over-writing only the bootstrapped species with background concentration values stored in the species database, ultimately allowing the user to omit species from the restart file.<br />
#'''Remove the requirement of using a restart file:''' If the user now enters '+none' for GIGCchem_INTERNAL_RESTART_FILE in the GCHP.rc config file, then new RESTART category MAPL_RestartSkipInitial is set for all species during initialization of the internal state. This has the same effect as using existing category MAPL_RestartSkip except that (1) background values from the species database are retrieved to overwrite default values set in MAPL, and (2) species are written to the output checkout point. <br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 20:53, 12 June 2017 (UTC)<br />
<br />
== Outstanding HP issues not yet resolved in GEOS-Chem v11-02 ==<br />
<br />
=== HEMCO restart variables are not read into ExtData ===<br />
<br />
GCHP is not currently compatible with the HEMCO restart file and all HEMCO restart variables are set to /dev/null in ExtData.rc. This is an open issue which will be addressed in v11-02.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:02, 13 June 2017 (UTC)<br />
<br />
=== Time can only flow forward in MAPL ===<br />
<br />
Time must be able to flow backwards in all components of GEOS-Chem in order for the adjoint to be compatible with GCHP. Seb Eastham (Harvard) writes:<br />
<br />
<blockquote>To run GCHP backwards, I think there are two phases of work that will be needed.<br />
<br />
The first is just reconditioning MAPL to be able to deal with backwards flow of time. This means disabling some of the hardcoded error handling, such as in the case Melissa pointed out where we ran afoul of the line "ASSERT_(HEARTBEAT_DT>=0" in MAPL_Cap.F90. Some more significant plumbing work will also be needed to deal with the way that modules are called. Routines in ESMF/MAPL run when "alarms" are triggered, meaning that the time has progressed past a certain point. My expectation is that the majority of the changes will just involve adding logic for a negative timestep which flips inequalities, i.e. "If time > alarm_time" becomes "If time < alarm_time". In these instances the absolute value of "time" doesn't matter, just how much has passed since the last alarm. Most of the rest of the code is pretty agnostic about the flow of time, caring only about what the current value is.<br />
<br />
The second phase will be modifying the exceptions to this agnosticism, by far the biggest of which is ExtData. This is because a) the time dimensions in all input files are required to increase with index, which complicates the idea of just reversing everything, and b) ExtData must at all times know what file is coming next so that it can perform interpolation. Again, this doesn't seem too difficult to solve, but it will require either a creative solution or a lot of logical tests. A lesser but related case will be the modifications needed to the output module, History.</blockquote><br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:12, 13 June 2017 (UTC)<br />
<br />
=== Timestep midpoint cos(SZA) is set to cos(SZA) at start of timestep ===<br />
<br />
State_Met variables SUNCOS and SUNCOSmid are both set to internal state variable zenith which is extracted at the start of each chemistry timestep in MAPL. This causes out-of-the-box differences with GEOS-Chem "classic" (GCC). This is an open issue which will be addressed in v11-02 as part of our efforts to make GCHP and GCC out-of-the-box standard simulations more comparable.<br />
<br />
=== GFortran + MVAPICH2 runs hang if using multiple nodes ===<br />
<br />
While GCHP successfully compiles with GFortran starting in v1.1.0 (compatible with GEOS-Chem v11-02b), runs hang with an MPI_WAIT error if using cores across multiple nodes.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 21:35, 15 June 2017 (UTC)<br />
<br />
=== MPI_Wait error when running at coarse resolution with high-resolution input data ===<br />
<br />
MAPL crashes when regridding wind vector data from very high resolutions (e.g. 0.25x0.3125 to C24) if running on a small number of cores (e.g. 6). The problem appears to be the production of invalid MPI instructions within the scatter and gather routines.<br />
<br />
--[[User:Sebastian D. Eastham|Sebastian D. Eastham]] ([[User talk:Sebastian D. Eastham|talk]]) 16:01, 20 June 2017 (UTC)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=Transport_Working_Group&diff=31578Transport Working Group2017-04-12T19:42:18Z<p>Sebastian D. Eastham: /* Current GEOS-Chem Transport Projects (please add yours!) */</p>
<hr />
<div>All users interested in the GEOS-Chem transport scheme are encouraged to subscribe to the transport email list (click on the link in the [[#Contact information|contact information section]] section below). <br />
<br />
== Contact information ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
<br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Transport Working Group Co-Chairs<br />
|width="600px"|<br />
*[mailto:andrea.m.molod@nasa.gov Andrea Molod] and<br />
*[http://research.nianet.org./~hyl/ Hongyu Liu]<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|Transport Working Group email list<br />
|<tt>geos-chem-transport [at] g.harvard.edu</tt><br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To subscribe to email list<br />
|Either<br />
*Send an email to <tt>geos-chem-transport+subscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-transport GEOS-Chem Transport Google Group]<br />
*Click on '''Subscribe to this group'''<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To unsubscribe from email list<br />
|Either<br />
*Send an email to <tt>geos-chem-transport+unsubscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to the [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-transport GEOS-Chem Transport Google Group]<br />
*Click on the '''My Settings''' button<br />
*Click on '''Leave this group'''<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:38, 21 August 2015 (UTC)<br />
<br />
== Current GEOS-Chem Transport Projects (please add yours!) ==<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|- bgcolor="#cccccc"<br />
!width="200px"|User Group <br />
!width="600px"|Description <br />
!width="300px"|Contact Person<br />
|-<br />
|U. Toronto<br />
|Characterizing model transport errors using weak constraint 4D-Var<br />
|[mailto:mkeller@atmosp.physics.utoronto.ca Martin Keller]<br />
|-<br />
|U. Toronto<br />
|Quantifying the impact of errors in PBL mixing on CO2<br />
|[mailto:wlu@atmosp.physics.utoronto.ca Wei Lu]<br />
|-<br />
|Harvard<br />
|Examining the effect of grid resolution on vertical transport and convective mass fluxes<br />
|[mailto:karenyu@g.harvard.edu Karen Yu]<br />
|-<br />
|Harvard<br />
|Quantifying the impact of numerical diffusion on plume transport and comparing to observed atmospheric diffusion<br />
|[mailto:seastham@fas.harvard.edu Sebastian D. Eastham]<br />
|-<br />
|Dalhousie<br />
|Implementation of a new PBL mixing scheme<br />
|[mailto:Aaron.van.Donkelaar@dal.ca Aaron van Donkelaar]<br />
|-<br />
|NIA / NASA Langley<br />
|Constraints on Precipitation Scavenging and Transport of Soluble Trace Species From Airborne and Surface Radionuclide (222Rn, 210Pb, 7Be, 10Be) Observations<br />
|[mailto:bo.zhang@nianet.org Bo Zhang] [mailto:hongyu.liu-1@nasa.gov Hongyu Liu]<br />
|-<br />
|Add yours here!<br />
|&nbsp;<br />
|&nbsp;<br />
|}<br />
<br />
== Current GEOS-Chem Transport Issues ==<br />
<br />
Text to be added</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=Chemistry_Working_Group&diff=31561Chemistry Working Group2017-04-12T13:31:07Z<p>Sebastian D. Eastham: /* Current GEOS-Chem Chemistry Projects (please add yours!) */</p>
<hr />
<div><big><big><strong>Oxidants and Chemistry Working Group</strong></big></big><br />
<br />
All users interested in the GEOS-Chem chemistry scheme and associated processes (photolysis, heterogeneous, deposition) are encouraged to subscribe to the chemistry email list (click on the link in the [[#Contact information|contact information section]] below).<br />
<br />
== Contact information ==<br />
<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|-valign="top"<br />
!width="300px" bgcolor="#CCCCCC"|Oxidants and Chemistry Working Group Co-Chairs<br />
|width="600px"|<br />
*[http://www.york.ac.uk/chemistry/staff/academic/d-g/evansm/ Mat Evans] and <br />
*[http://www.barronh.com Barron Henderson]<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|Oxidants and Chemistry Working Group email list<br />
|<tt>geos-chem-oxidants [at] g.harvard.edu</tt><br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To subscribe to email list<br />
|Either<br />
*Send an email to <tt>geos-chem-oxidants+subscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to the [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-oxidants GEOS-Chem Oxidants and Chemistry]<br />
*Click on '''Subscribe to this group'''<br />
<br />
|-valign="top"<br />
!bgcolor="#CCCCCC"|To unsubscribe from email list<br />
|Either<br />
*Send an email to <tt>geos-chem-oxidants+unsubscribe [at] g.harvard.edu</tt><br />
Or<br />
*Go to the [https://groups.google.com/a/g.harvard.edu/forum/#!forum/geos-chem-oxidants GEOS-Chem Oxidants and Chemistry]<br />
*Click on the '''My Settings''' button<br />
*Click on '''Leave this group'''<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:29, 21 August 2015 (UTC)<br />
<br />
== Current GEOS-Chem Chemistry Projects (please add yours!) ==<br />
{| border=1 cellspacing=0 cellpadding=5<br />
|- bgcolor="#cccccc"<br />
!width="200px"|User Group <br />
!width="600px"|Description <br />
!width="150px"|Contact Person<br />
!width="100px"|Date Added<br />
|-<br />
|NIA / LaRC<br />
|Tropospheric ozone over East Asia: Ozonesonde observations and modeling analysis<br />
|[mailto:hyl@nianet.org Hongyu Liu]<br />
|5 May 2015<br />
|-<br />
|University of York <br />
|Halogen chemistry <br />
|[mailto:ts551@york.ac.uk Tomas Sherwen]<br />
|12 April 2017<br />
|-<br />
|University of York <br />
|Isoprene over Borneo<br />
|[mailto:sag527@york.ac.uk Shani Garraway]<br />
|12 April 2017<br />
|-<br />
|University of York <br />
|Impacts of uncertainty in chemical kinetics <br />
|[mailto:bn506@york.ac.uk Ben Newsome]<br />
|12 April 2017<br />
|-<br />
|University of York <br />
|Impacts of resolution in GEOS-Chem <br />
|[mailto:bn506@york.ac.uk Ben Newsome]<br />
|12 April 2017<br />
|-<br />
|University of York <br />
|Updates to the kinetics of Criegee chemistry based on new chamber experiments<br />
|[mailto:mat.evans@york.ac.uk Mat Evans]<br />
|12 April 2017<br />
|-<br />
|University of Wollongong <br />
|Simulation of small (methyl, ethyl, propyl) alkyl nitrates in GEOS-Chem<br />
|[mailto:jennyf@uow.edu.au Jenny Fisher]<br />
|12 April 2017<br />
|-<br />
|Harvard University<br />
|Halogen extension to include explicit phase partitioning and mass transfer<br />
|[mailto:seastham@fas.harvard.edu Sebastian D. Eastham]<br />
|12 April 2017<br />
|}<br />
<br />
--[[User:Bmy|Bob Y.]] 15:08, 25 April 2014 (EDT)<br />
<br />
== Current GEOS-Chem Chemistry Issues (please add yours!) ==<br />
<br />
=== Fixes to correct ALK4 lumping issue ===<br />
<br />
<span style="color:darkorange">'''''NOTE: This update is currently slated for [[GEOS-Chem v11-02#v11-02a|v11-02a]].'''''</span><br />
<br />
'''''[[User:Barronh|Barron Henderson]] wrote:'''''<br />
<br />
<blockquote>I have a lumping-related issue that I know some of you are already aware of. There is a chemical carbon source (and secondary ETO2 source).<br />
<br />
Right now, ALK4 (via R4O2) produces 4.26 moles carbon products per reaction. The ALK4 representation can be traced back to a paper by Frederick Lurmann. That paper refers to a report that I have been unable to obtain. In fact, Frederick Lurmann no longer has a copy. When we spoke, however, he confirmed my suspicion that ALK4 is based on a 70% butane and 30% pentane mixture. Our 4.26 carbon product appears to be based on two differences (typos?) from the paper that alter the yields.<br />
<br />
If ALK4 emissions are introduced using a 4C assumption, then ALK4 chemistry is acting as a 7% carbon source. From a ozone reactivity standpoint, this is not a major issue. First, the speciation of VOC is highly uncertain and most of the atmosphere is NOx-limited. Even so, it represents another reason to revisit our lumped species.<br />
<br />
I have [https://www.evernote.com/shard/s315/sh/f2ec9589-d827-4ee1-afcb-96ee5a2d2914/d84318450f729cd414e4a6653c03a296 extensive notes] on what I interpret as happening. To the best of my knowledge, we need to make three modifications to R4O2 + NO. The first two are to make R4O2 correctly linked to Lurmann and the third is to correctly connect the mass emissions with the molar conservation.<br />
<br />
#Increase MO2 stoichiometry from 0.18 to 0.19<br />
#Increase RCHO stoichiometry from 0.13 to 0.14 (or A3O2 from 0.05 to 0.06 -- it is not clear to me when this was introduced).<br />
#Modify the carbon count for ALK4 (i.e. the <tt>MolecRatio</tt> field in the [[GEOS-Chem species database]]) from 4 to 4.3.<br />
<br />
Fixes 1 and 2&mdash;which can be applied to the KPP <tt>globchem.eqn</tt> file&mdash;will make the carbon conservation consistent with Lurmann's. Right now, it looks like there were a couple changes that could have been inadvertent (i.e., 0.18 instead of 0.19). If there was a reason for these changes, I have been unable to find it.</blockquote><br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:21, 31 January 2017 (UTC)<br />
<br />
=== JPL Released 18th Rate Coefficient Evaluation ===<br />
<br />
<span style="color:darkorange">'''''NOTE: This update is currently slated for [[GEOS-Chem v11-02|v11-02a]].'''''</span><br />
<br />
JPL has released its 18th evaluation of chemical rate coefficients for atmospheric studies (Burkholder et al., 2015)." A new page ([[Updates in JPL Publication 15-10]]) is being created to compare rates between GEOS-Chem v10 and JPL Publication 15-10. <br />
<br />
:J. B. Burkholder, S. P. Sander, J. Abbatt, J. R. Barker, R. E. Huie, C. E. Kolb, M. J. Kurylo, V. L. Orkin, D. M. Wilmouth, and P. H. Wine "Chemical Kinetics and Photochemical Data for Use in Atmospheric Studies, Evaluation No. 18," JPL Publication 15-10, Jet Propulsion Laboratory, Pasadena, 2015 http://jpldataeval.jpl.nasa.gov.<br />
<br />
---[[User:barronh|B. Henderson]] 2016-05-03 15:25 (EDT)<br />
<br />
=== Working Group Tele-con on the 2nd December 2011 ===<br />
[[ChemTelecon20111202]]<br />
'''''[mailto:mat.evans@york.ac.uk Mat Evans]'''''<br />
<br />
=== Isoprene chemistry ===<br />
I've created a page with some of the recent literature on [[Isoprene|isoprene chemistry]]. Please add more papers as they come along! ([[User:mje| MJE Leeds]])<br />
<br />
=== HO2 + CH2O ===<br />
Scheme does not contain the HO2 + CH2O --> Adduct reaction (MJE Leeds)<br />
<br />
Hermans, I., et al. (2005), Kinetics of alpha-hydroxy-alkylperoxyl radicals in oxidation<br />
processes. HO2 center dot-initiated oxidation of ketones/aldehydes near the tropopause,<br />
Journal of Physical Chemistry A, 109(19), 4303-4311.<br />
<br />
According to this paper, this reaction is significant when Temperature is below 220K.<br />
<br />
--[[User:Jmao|J Mao.]] 15:00, 10 Aug 2009 (EDT)<br />
<br />
== Previous issues that have now been resolved ==<br />
<br />
=== Centralizing chemistry time step===<br />
<br />
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-01-02_benchmark_history#v9-01-02q|v9-01-02q]] and approved on 18 Oct 2011.'''''</span><br />
<br />
Please see the full discussion on the [[Centralized chemistry time step]] wiki page.<br />
<br />
--[[User:Bmy|Bob Y.]] 16:01, 4 November 2011 (EDT)<br />
<br />
=== Acetone photolysis ===<br />
<br />
[[FAST-J_photolysis_mechanism#v9-02_post-release_patch_to_fix_bug_in_acetone_photolysis_pressure_dependency|This discussion has been moved to our ''FAST-J photolysis mechanism'' wiki page]].<br />
<br />
--[[User:Bmy|Bob Y.]] 15:20, 20 May 2014 (EDT)<br />
<br />
== Issues that have been since rendered obsolete by newer code updates ==<br />
<br />
Most of the issues described below pertained to the SMVGEAR chemical solver (which was replaced by FlexChem in [[GEOS-Chem v11-01|v11-01]]) and/or the FAST-J photolysis mechanism (which was replaced by FAST-JX in [[GEOS-Chem v10-01|v10-01]]).<br />
<br />
=== NIT should be converted to molec/cm3 in calcrate.F ===<br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The code in <tt>calcrate.F</tt> will be replaced by the KPP master equation file.'''''</span><br />
<br />
In <tt>calcrate.F</tt>, we have:<br />
<br />
! Nitrate effect; reduce the gamma on nitrate by a<br />
! factor of 10 (lzh, 10/25/2011)<br />
IF ( N == 8 ) THEN<br />
TMP1 = State_Chm%Tracers(IX,IY,IZ,IDTSO4) +<br />
& State_Chm%Tracers(IX,IY,IZ,IDTNIT)<br />
TMP2 = State_Chm%tracers(IX,IY,IZ,IDTNIT)<br />
IF ( TMP1 .GT. 0.0 ) THEN<br />
XSTKCF = XSTKCF * ( 1.0e+0_fp - 0.9e+0_fp<br />
& *TMP2/TMP1 )<br />
ENDIF<br />
ENDIF<br />
<br />
Here NIT is added to SO4 but NIT is in different units than SO4. This unit difference can be traced to the definition of IDTRMB, which is only nonzero for species that are in the SMVGEAR mechanism. Since NIT is not a SMVGEAR species, IDTRMB = 0 for NIT and it is therefore skipped in the unit conversion from kg --> molec/cm3 in <tt>partition.F</tt>.<br />
<br />
This issue was discovered during the implementation of [[FlexChem]]. In [[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]] and later versions, units of NIT are properly accounted for in routine <tt>HETN2O5</tt> (found in <tt>gckpp_HetRates.F90</tt>).<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:25, 12 September 2016 (UTC)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:27, 31 January 2017 (UTC)<br />
<br />
=== rate of HNO4 ===<br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The <tt>globchem.dat</tt> file is now replaced by the KPP master equation file.'''''</span><br />
<br />
[mailto:ecbrow@berkeley.edu Ellie Browne] found a typo in the globchem.dat ([[GEOS-Chem v8-02-01]] and beyond)<br />
<pre><br />
A 73 9.52E-05 3.2E+00 -10900 1 P 0.60 0. 0. <br />
1.38E+15 1.4E+00 -10900 0 0.00 0. 0. <br />
HNO4 + M <br />
=1.000HO2 +1.000NO2 + +<br />
</pre><br />
This should be corrected as:<br />
<pre><br />
A 73 9.52E-05 3.4E+00 -10900 1 P 0.60 0. 0. <br />
1.38E+15 1.1E+00 -10900 0 0.00 0. 0. <br />
HNO4 + M <br />
=1.000HO2 +1.000NO2 + + <br />
</pre><br />
The difference is within 2%.<br />
<br />
--[[User:Jmao|J Mao.]] 19:04, 30 Aug 2010 (EDT)<br><br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:29, 31 January 2017 (UTC)<br />
<br />
=== near-IR photolysis of HNO4 ===<br />
<br />
<span style="color:green">'''''This update was added to [[GEOS-Chem v8-02-04]].'''''</span><br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The <tt>globchem.dat</tt> file is now replaced by the KPP master equation file. Also, FAST-JX has now replaced FAST-J photolysis.'''''</span><br />
<br />
1. Since FastJX already takes this into account with cross section data at 574nm, we do not need to redo this in <tt>calcrate.f</tt>. We can therefore comment out this entire IF block:<br />
<br />
!---------------------------------------------------------------------<br />
! Prior to 10/27/09:<br />
! FastJX has taken near-IR photolysis into account with<br />
! cross section at 574nm, so we don't need to add 1e-5 anymore.<br />
! According to Jimenez et al., "Quantum yields of OH, HO2 and<br />
! NO3 in the UV photolysis of HO2NO2", PCCP, 2005, we also<br />
! changed the branch ratio from 0.67(HO2)/0.33(OH) to 0.95/0.05<br />
! This will put most weight of near-IR photolysis on HO2 channel.<br />
! (jmao, bmy, 10/27/09)<br />
!<br />
!!==============================================================<br />
!! HARDWIRE addition of 1e-5 s-1 photolysis rate to <br />
!! HNO4 -> HO2+NO2 to account for HNO4 photolysis in near-IR -- <br />
!! see Roehl et al. 'Photodissociation of peroxynitric acid in <br />
!! the near-IR', 2002. (amf, bmy, 1/7/02)<br />
!!<br />
!! Add NCS index to NKHNO4 for SMVGEAR II (gcc, bmy, 4/1/03)<br />
!!==============================================================<br />
!IF ( NKHNO4(NCS) > 0 ) THEN<br />
!<br />
! ! Put J(HNO4) in correct spot for SMVGEAR II<br />
! PHOTVAL = NKHNO4(NCS) - NRATES(NCS)<br />
! NKN = NKNPHOTRT(PHOTVAL,NCS)<br />
!<br />
! DO KLOOP=1,KTLOOP<br />
! RRATE(KLOOP,NKN)=RRATE(KLOOP,NKN) + 1d-5<br />
! ENDDO<br />
!ENDIF<br />
!---------------------------------------------------------------------<br />
<br />
<br />
2. We need to change the branch ratio of HNO4 photolysis in <tt>ratj.d</tt>. Change these lines from:<br />
<br />
13 HNO4 PHOTON OH NO3 0.00E+00 0.00 33.3 HO2NO2 <br />
14 HNO4 PHOTON HO2 NO2 0.00E+00 0.00 66.7 HO2NO2 <br />
<br />
to:<br />
<br />
13 HNO4 PHOTON OH NO3 0.00E+00 0.00 5.0 HO2NO2 <br />
14 HNO4 PHOTON HO2 NO2 0.00E+00 0.00 95.0 HO2NO2<br />
<br />
This is based on Jimenez et al. (Quantum yields of OH, HO2 and NO3 in the UV photolysis of HO2NO2, PHYSICAL CHEMISTRY CHEMICAL PHYSICS, 2005) shows that HO2 yield should be 0.95 and OH yield should be 0.05 for wavelength above 290nm.<br />
<br />
This way all the near-IR photolysis will have most weight on HO2 channel(Stark et al., Overtone dissociation of peroxynitric acid (HO2NO2): Absorption cross sections and photolysis products, JOURNAL OF PHYSICAL CHEMISTRY A, 2008).<br />
<br />
This update has now been added to the [http://acmg.seas.harvard.edu/geos/wiki_docs/chemistry/chemistry_updates_v6.pdf chemistry mechanism documentation file].<br />
<br />
--[[User:Jmao|J Mao.]] 11:00, 26 Oct 2009 (EDT)<br><br />
--[[User:Bmy|Bob Y.]] 16:08, 4 November 2011 (EDT)<br />
<br />
=== yield of isoprene nitrates ===<br />
<br />
<span style="color:green">'''''This update was added to [[GEOS-Chem v8-03-02]] as a post-release patch, and standardized in [[GEOS-Chem v9-01-01]].'''''</span><br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The <tt>globchem.dat</tt> file is now replaced by the KPP master equation file.'''''</span><br />
<br />
[mailto:paulot@caltech.edu Fabien Paulot] found a problem in current chemistry scheme. In [[GEOS-Chem v8-02-01]] and beyond, isoprene nitrates are produced twice: one through channel A and one through 10% loss in channel B. This makes the loss of NOx larger than it should be (18.7% vs. 10%) and also reduces the yield of MVK/MACR/CH2O by about 13%. <br />
<br />
A 453 2.70E-12 0.0E+00 350 1 B 0.00 0. 0. <br />
5.00E+00 0.0E+00 0 0 0.00 0. 0. <br />
RIO2 + NO <br />
=0.900NO2 +0.900HO2 +0.340IALD +0.340MVK <br />
+0.220MACR +0.560CH2O + + <br />
<br />
A 453 2.70E-12 0.0E+00 350 1 A 0.00 0. 0. <br />
5.00E+00 0.0E+00 0 0 0.00 0. 0. <br />
RIO2 + NO <br />
=1.000HNO3 + + + <br />
<br />
So it should be corrected as (no channel A):<br />
<br />
A 453 2.70E-12 0.0E+00 350 0 0 0.00 0. 0. <br />
RIO2 + NO <br />
=0.900NO2 +0.900HO2 +0.340IALD +0.340MVK <br />
+0.220MACR +0.560CH2O + + <br />
<br />
D 453 2.70E-12 0.0E+00 350 1 A 0.00 0. 0. <br />
5.00E+00 0.0E+00 0 0 0.00 0. 0. <br />
RIO2 + NO <br />
=1.000HNO3 + + + <br />
<br />
--[[User:Jmao|J Mao.]] 18:04, 30 Aug 2010 (EDT)<br><br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:31, 31 January 2017 (UTC)<br />
<br />
=== Potential issue with reading restart.cspec file ===<br />
<br />
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-01-02_benchmark_history#v9-01-02c|v9-01-02c]] and approved on 21 Jul 2011.'''''</span><br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''The binary-punch format <tt>restart.cspec.YYYYMMDDhh</tt> file is slated to be replaced by a netCDF-format restart file, starting in [[GEOS-Chem v11-01]] and higher versions. But during a transition period, you can still request binary-punch format output.'''''</span><br />
<br />
Jingqiu Mao discovered a mis-indexing problem when using the <tt>restart.cspec.YYYYMMDDhh</tt> file. Please see [[Restart files#Potential issue with reading restart.cspec_file|this wiki post]] for more information.<br />
<br />
--[[User:Bmy|Bob Y.]] 16:02, 4 November 2011 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:33, 31 January 2017 (UTC)<br />
<br />
=== GLCO3, GLPAN bug in standard mechanism ===<br />
<br />
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-01-03_benchmark_history#v9-01-03a|v9-01-03a]] and approved on 08 Dec 2011.'''''</span><br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The <tt>globchem.dat</tt> file is now replaced by the KPP master equation file.'''''</span><br />
<br />
'''''[mailto:fabienpaulot@gmail.com Fabien Paulot] wrote:'''''<br />
<br />
:I think there is a relatively serious bug in the standard chemistry. GLPAN and GLCO3 are set to inactive but their production and loss reactions are active. As a result they never reach equilibrium and this results in an artificial loss of NOx.<br />
<br />
:If this is the only cause of the imbalance between sources and sinks of NOx in my simulations, this would account for ~5% of NOy losses. I don't see that problem in a simulation with a different chemistry that among other changes does not feature those reactions. So hopefully that's it.<br />
<br />
:To fix the error, I made the following modifications in <tt>globchem.dat</tt>:<br />
<br />
:#I set GLPAN and GLCO3 rxns from active to dead. These rxns were causing an artificial loss of NOx.<br />
:#I have physically removed GLCO3, GLP, GLPAN, GPAN, ISNO3, MNO3, O2CH2OH, MVN2 and their associated reactions. <br />
:#I have made GLYX active. I'm not sure why it's not active by default.<br />
<br />
:and to <tt>ratj.d</tt>:<br />
<br />
:# I deleted photolysis reactions for MNO3 and GLP, since these species have also now been deleted in <tt>globchem.dat</tt><br />
<br />
--[[User:Bmy|Bob Y.]] 14:51, 10 November 2011 (EST)<br><br />
--[[User:Melissa Payer|Melissa Payer]] 10:49, 15 December 2011 (EST)<br><br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:35, 31 January 2017 (UTC)<br />
<br />
=== Bug in routine ARSL1K ===<br />
<br />
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem v9-01-03 benchmark history#v9-01-03m|v9-01-03m]] and approved on 06 Jun 2012.'''''</span><br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
<span style="color:red">'''''SMVGEAR was removed from [[GEOS-Chem v11-01]] and higher versions. The <tt>ARSL1K</tt> routine was replaced by an equivalent function in KPP's rate law library.'''''</span><br />
<br />
A bug in routine ARSL1K became problematic in the implementation of Justin Parrella's [[Bromine_chemistry_mechanism|tropospheric bromine chemistry mechanism]] for [[GEOS-Chem v9-01-03]]. In the bromine chemistry mechanism, a sticking coefficient of 0.0 is passed to the routine ARSL1K for non-sulfate, non-sea salt aerosol. The IF statement modified in [[GEOS-Chem_v8-02-04#Div-by-zero_error_encountered_in_arsl1k.f|GEOS-Chem v8-02-04]] resulted in the reaction rate being set to the default value of 1.0d-3. A 1-month benchmark for July 2005 indicated that the simulated BrO was a little more than twice the expected zonal mean. Modifying the default value from 1.0d-3 to 1.0d-30 resulted in reasonable simulated BrO values.<br />
<br />
'''''[mailto:mat.evans@york.ac.uk Mat Evans] wrote:'''''<br />
<br />
:I've re-run two 2 month simulation [using [[GEOS-Chem v9-01-02]]]. One with the error handling value of 1e-3 (standard) and one with it being 1e-30. There are 5127 time and space points where the model traps the problem and invokes the 1e-3 or 1e-30 value. There are 30*24*2*37*72*46 (roughly 200 million) time and space points when the error could have occurred so we are looking at a relatively infrequent event. <br />
<br />
:The simulations show virtually no difference between the two simulations.<br />
<br />
:mean and stddev ratio of all grid boxes with and without the fix are shown below<br />
NOx 0.999996 0.000409291<br />
Ox 1.00000 1.27233e-05<br />
O3 1.00000 1.52284e-05<br />
PAN 0.997849 0.0111997<br />
CO 1.00000 4.21768e-06<br />
ALK4 0.990514 0.0351941<br />
ISOP 0.999979 0.0108033<br />
H2O2 0.992067 0.0264659<br />
DST1 1.00000 0.00000<br />
HO2 0.999996 0.00309464<br />
OH 1.00003 0.00767954<br />
<br />
:So although there are some differences they are very minor. For completeness we should put this in as a bug fix (make the error value 1d-30 rather than 1d-3). But it is not a major problem.<br />
<br />
--[[User:Melissa Payer|Melissa Payer]] 17:52, 14 May 2012 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:35, 31 January 2017 (UTC)<br />
<br />
== Documentation ==<br />
<br />
[[Image:Obsolete.jpg]]<br />
<br />
*[http://acmg.seas.harvard.edu/geos/wiki_docs/chemistry/chemistry_updates_v6.pdf Updated chemical reactions] that will be used in [[GEOS-Chem v8-02-04]] and higher.<br />
* [http://acmg.seas.harvard.edu/geos/wiki_docs/chemistry/chemistry_updates_v5.pdf Updated chemical reactions] now used in [[GEOS-Chem v8-02-01]] through [[GEOS-Chem v8-02-03]]. <br />
**All typos have now been corrected in the present file.<br />
* [http://acmg.seas.harvard.edu/geos/wiki_docs/chemistry/jv_spec_format.pdf Format of FAST-J input file <tt>jv_spec.dat</tt>]<br />
<br />
--[[User:Bmy|Bob Y.]] 15:41, 27 October 2009 (EDT)</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=FlexChem&diff=30795FlexChem2017-02-14T23:48:18Z<p>Sebastian D. Eastham: /* Adding chemical mechanisms in FlexChem */</p>
<hr />
<div>On this page we provide information about the FlexChem chemical solver, which was introduced in [[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]].<br />
<br />
== Overview ==<br />
<br />
The clean and flexible reimplementation of the Kinetic PreProcessor package (aka KPP)&mdash;known as '''FlexChem'''&mdash;is nearing full integration into GEOS-Chem. Most of the remaining FlexChem development work will focus on replacing legacy infrastructure&mdash;which prevents GEOS-Chem from operating efficiently in high-performance computing (HPC) environments&mdash;with newer, more efficient algorithms. <br />
<br />
Check back soon for the latest information!<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:58, 19 May 2016 (UTC)<br />
<br />
== Milestones ==<br />
<br />
The following table shows several milestones that were achieved in the FlexChem implementation, development, as well as ongoing development tasks.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="600px"|Task<br />
!width="150px"|Developer<br />
!width="250px"|Status<br />
<br />
|-valign="top" <br />
|Add FlexChem into [[GEOS-Chem v11-01#v11-01c|v11-01c]]<br />
|Mike Long<br />
|Completed 14 Dec 2015<br />
<br />
|-valign="top" <br />
|Enable the "Tropchem" mechanism<br />
|Mike Long<br />
|Completed 14 Dec 2015<br />
<br />
|-valign="top" <br />
|Restore the OH and HO2 diagnostics (ND43)<br />
|Melissa Sulprizio <br />
|Completed 18 Dec 2015<br />
<br />
|-valign="top" <br />
|Remove CSPEC array and replaced with <tt>State_Chm%Species</tt><br />
|Melissa Sulprizio<br />
|Completed 22 Dec 2015<br />
<br />
|-valign="top" <br />
|Enable a temporary workaround for family tracers (ISOPN, MMN, CFCX, HCFCX)<br />
|Mike Long <br />
|Completed 25 Jan 2016<br />
<br />
|-valign="top" <br />
|Enable FAST-JX photochemistry<br />
|Mike Long <br />
|Completed 25 Jan 2016<br />
<br />
|-valign="top" <br />
|Enable the "Benchmark" (aka "Standard") chemistry mechanism<br />
|Melissa Sulprizio<br />
|Completed 29 Jan 2016<br />
<br />
|-valign="top" <br />
|Restore the broken J-value diagnostic (ND22)<br />
|Melissa Sulprizio<br />
|Completed 15 Mar 2016<br />
<br />
|-valign="top" <br />
|Parallelize the main KPP driver loop; fixed other minor issues<br />
|Bob Yantosca<br />
|Completed 30 Mar 2016<br />
<br />
|-valign="top" <br />
|Enable the "SOA" and "SOA-SVPOA" mechanisms<br />
|Lizzie Lundgren<br />
|Completed 01 Apr 2016<br />
<br />
|-valign="top" <br />
|Merge FlexChem code based on [[GEOS-Chem v11-01#v11-01c|v11-01c]] with [[GEOS-Chem v11-01#v11-01f|v11-01f]]<br />
|Melissa Sulprizio<br />
|Completed 20 Apr 2016<br />
<br />
|-valign="top" <br />
|Add KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp)<br />
|Mike Long<br />
|Completed 19 Apr 2016<br />
<br />
|-valign="top" <br />
|Create new <tt>gckpp_*.F90</tt> files from the updated KPP solver package<br />
|Melissa Sulprizio<br />
|Completed 22 Apr 2016<br />
<br />
|-valign="top" <br />
|Enable the "UCX" mechanism<br />
|Melissa Sulprizio<br />
|Completed 26 Apr 2016<br />
<br />
|-valign="top" <br />
|Introduce a new prod/loss diagnostic into the KPP solver package<br />
|Mike Long<br />
|Completed 29 Apr 2016<br />
<br />
|-valign="top" <br />
|Complete unit tests and 1-month benchmarks for the Standard, Tropchem, UCX, SOA, and SOA-SVPOA simulations<br />
|Melissa Sulprizio<br>Lizzie Lundgren<br />
|Completed 05 May 2016<br />
<br />
|-valign="top" <br />
|Remove tracer indices of Rn, Pb, Be, Hg, and POPs simulations from <tt>tracerid_mod.F</tt>. (This paves the way for us to retire <tt>tracerid_mod.F</tt>.)<br />
|Bob Yantosca<br />
|Completed 02 May 2016<br />
<br />
|-valign="top"<br />
|Add a fast species name lookup algorithm<br />
|Bob Yantosca<br />
|Code is in place as of 04 May 2016, but has not been implemented throughout GEOS-Chem yet.<br />
<br />
|-valign="top" <br />
|Store the unique list of GEOS-Chem species in the GEOS-Chem species database object. (In other words, we combine the list of advected tracers with the list of KPP chemical species and remove duplicate entries).<br />
|Bob Yantosca<br />
|Completed 09 May 2016<br />
<br />
|-valign="top" <br />
|Store the indices of each species in the KPP chemical reaction matrix in the GEOS-Chem species database object.<br />
|Bob Yantosca<br />
|Completed 09 May 2016<br />
<br />
|-valign="top" <br />
|Merge FlexChem with other [[GEOS-Chem v11-01#v11-01g|v11-01g]] updates and bug fixes<br />
|Bob Yantosca<br />
|Completed 17 May 2016<br />
<br />
|-valign="top" <br />
|Remove family tracer fields of the <tt>Input_Opt</tt> object, namely: <tt>TRACER_N_CONST, TRACER_CONST, TRACER_COEFF, ID_EMITTED</tt>. These were only used by SMVGEAR and are now obsolete.<br />
|Bob Yantosca<br />
|Completed 18 May 2016<br />
<br />
|-valign="top" <br />
|Create mapping vectors in the <tt>State_Chm</tt> object to store the ID numbers of species that are advected, dry-deposited, wet-deposited, and/or included in the KPP chemical mechanism<br />
|Bob Yantosca<br />
|Completed 19 May 2016<br />
<br />
|-valign="top" <br />
|Remove all 1-D loop indexing variables (<tt>JLOOP, KLOOP, KTLOOP, JLOP, IXSAVE, IYSAVE, IZSAVE</tt>) that were used by SMVGEAR<br />
|Melissa Sulprizio<br />
|Completed 19 May 2016<br />
<br />
|-valign="top" <br />
|Remove SMVGEAR input files (<tt>globchem.dat, mglob.dat</tt>) and associated subroutines (<tt>readchem.F, reader.F</tt>)<br />
|Melissa Sulprizio<br />
|Completed 30 Jun 2016<br />
<br />
|-valign="top" <br />
|Remove <tt>tracerid_mod.F</tt> and related tracer ID flags (<tt>IDTxxxx, IDxxxx</tt>). Instead, use the GEOS-Chem species database to retrieve species index from species name.<br />
|Jacob Group Code-A-Thon<br />
|Completed 24 Jun 2016<br />
<br />
|-valign="top" <br />
|Remove tracers from restart files and read/write restart file species only<br />
|Lizzie Lundgren<br />
|Completed 12 Jul 2016<br />
<br />
|-valign="top" <br />
|Create unit conversion routines for species that mimic existing routines for tracers or convert to/from molecules/cm3 <br />
|Lizzie Lundgren<br />
|Completed 25 Jul 2016<br />
<br />
|-valign="top" <br />
|Add State_Chm variable to track species units throughout GEOS-Chem (<tt>State_Chm%Spc_Units</tt>)<br />
|Lizzie Lundgren<br />
|Completed 25 Jul 2016<br />
<br />
|-valign="top" <br />
|Remove the remaining family tracers (ISOPN, MMN, CFCX, HCFCX). Henceforth, FlexChem will only work with individual species. <br />
|Melissa Sulprizio<br />
|Completed 28 Jul 2016<br />
<br />
|-valign="top" <br />
|Move the non-advected species initial unit conversion of background values from <tt>INIT_FLEXCHEM</tt> (called during chemistry) to <tt>READ_GC_RESTART</tt> (called during restart file read)<br />
|Lizzie Lundgren<br />
|Completed 4 Aug 2016<br />
<br />
|-valign="top" <br />
|Store species background concentrations values previously stored in <tt>globchem.dat</tt> in the species database<br />
|Lizzie Lundgren<br />
|Completed 11 Aug 2016<br />
<br />
|-valign="top"<br />
|Rebuild Standard, Tropchem, UCX, SOA, SOA-SVPOA chemistry mechanisms to use the new prod/loss functionality in KPP (i.e. <tt>FLUX on</tt>)<br />
|Melissa Sulprizio<br />
|Completed 13 Jul 2016<br />
<br />
|-valign="top" <br />
|Attach the new KPP prod/loss output to the GEOS-Chem prod/loss diagnostic (ND65)<br />
|Melissa Sulprizio<br />
|Completed 11 Aug 2016<br />
<br />
|-valign="top" <br />
|Remove <tt>State_Chm%Tracers</tt> and use species concentrations in <tt>State_Chm%Species</tt> instead<br />
|GCST<br />
|Completed 29 Aug 2016<br />
<br />
|-valign="top" <br />
|Validate FlexChem with [[GEOS-Chem v11-01#v11-01g|v11-01g]] benchmarks<br />
|GCST<br />
|''1-month benchmark:''<br>Approved 14 Sep 2016<br />
''1-year benchmark:''<br>Approved 28 Sep 2016<br />
<br />
|-valign="top" <br />
|Fix P/L diagnostics to ignore cycling reactions<br />
|Mike Long<br />
|08 Nov 2016<br />
<br />
|-valign="top" <br />
|Rebuild Standard, Tropchem, UCX, SOA, SOA-SVPOA chemistry mechanisms with [http://www.paratools.com/Kppa Kppa]<br />
|GCST<br />
|TBD<br />
<br />
|-valign="top" <br />
|Update the GEOS-Chem Makefiles so that a fresh version of KPP will be built (using a custom chemical mechanism that you specify) each time GEOS-Chem is compiled.<br />
|GCST<br />
|TBD<br />
<br />
|}<br />
<br />
== Adding chemical mechanisms in FlexChem ==<br />
<br />
=== KPP source code ===<br />
<br />
The KPP source code for FlexChem is currently available as a Git repository on Bitbucket. It can be obtained using:<br />
<br />
git clone https://bitbucket.org/gcst/kpp<br />
git checkout -b GC_updates origin/GC_updates<br />
<br />
Once you have KPP on your system, you will need to build it:<br />
<br />
cd kpp/kpp-2.2.3_01<br />
make clean<br />
make<br />
<br />
If the build completed successfully, you should see the executable <tt>kpp</tt> in the <tt>kpp/kpp-2.2.3_01/bin/</tt> directory. Next, add KPP to your PATH. For bash users, add the following lines the <tt>~/.bashrc</tt> file:<br />
<br />
export PATH=$PATH:/PATH_TO_KPP/KPP/kpp-2.2.3_01/bin/<br />
export KPP_HOME=/PATH_TO_KPP/KPP/kpp-2.2.3_01<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:18, 10 August 2016 (UTC)<br />
<br />
=== Building a custom chemical mechanism ===<br />
<br />
[[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]] has five pre-built chemical mechanisms: Standard, Tropchem, SOA, SOA-SVPOA, and UCX. These mechanisms are described on our [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|''GEOS-Chem chemistry mechanisms'' wiki page]].<br />
<br />
GEOS-Chem will eventually include the option to create a custom chemistry mechanism and automatically build that mechanism with KPP when GEOS-Chem is compiled. For now, users still need to build custom chemistry mechanisms manually. The [[#KPP source code|KPP Git repository]] includes the following files:<br />
<br />
geos2kpp_parser.pl<br />
gckpp.kpp<br />
rename_f90.sh<br />
copy_gckpp.sh<br />
<br />
Note: You'll need to checkout the <tt>GC_updates</tt> branch to access these files. This can be achieved with <code>git checkout GC_updates</code>.<br />
<br />
These files can be used to build a custom chemistry mechanisms with KPP. Follow these steps:<br />
<br />
#The <tt>geos2kpp_parser.pl</tt> script can be used to create <tt>globchem.eqn</tt>, <tt>globchem.spc</tt>, and <tt>globchem.def</tt> files from a <tt>globchem.dat</tt> file. You may also choose to start from the preexisting <tt>globchem.eqn</tt>, <tt>globchem.spc</tt>, and <tt>globchem.def</tt> files found in the <tt>KPP</tt> subdirectories of the GEOS-Chem source code (e.g. <tt>Code.v11-01/KPP/Standard/</tt>).<br />
#If needed, edit <tt>globchem.eqn</tt> to add or modify reactions for your mechanism (see below) and edit <tt>globchem.spc</tt> to add/modify species to your mechanism. Put the final <tt>globchem.*</tt> files in the same directory as the <tt>gckpp.kpp</tt> file.<br />
#Modify the <tt>gckpp.kpp</tt> file if needed. This file defines the KPP integrator and tells KPP to use the <tt>globchem.spc</tt> and <tt>globchem.eqn</tt> files to build the mechanism. This file also defines the prod/loss families as [[FlexChem#Production_.26_loss_diagnostic|described below]].<br><span style="color:red">IMPORTANT: The default <tt>gckpp.kpp</tt> file that is included with KPP does not define any prod/loss families. Therefore, you must make sure the ND65 prod/loss diagnostic is turned off in <tt>input.geos</tt> when you run GEOS-Chem. If you would like to use prod/loss families in your custom mechanism, you can see the <tt>gckpp.kpp</tt> files in the <tt>KPP</tt> subdirectories of the GEOS-Chem source code (e.g. <tt>Code.v11-01/KPP/Standard/gckpp.kpp</tt>) for examples.</span><br />
#Execute KPP using <code>kpp gckpp.kpp</code>. This will create the necessary <tt>gckpp_*.f90</tt> files.<br />
#Run <code>./rename_f90.sh</code> to rename <tt>gckpp_*.f90</tt> to <tt>gckpp_*.F90</tt>.<br />
#Open <tt>copy_gckpp.sh</tt> and modify the line for <tt>codedir</tt>. Save and run <code>./copy_gckpp.sh</code>. This will copy the <tt>gckpp_*.F90</tt> files to <tt>codedir/Custom/</tt>.<br />
#Compile GEOS-Chem for the new mechanism by including <tt>CHEM=Custom</tt> in your make command.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:18, 10 August 2016 (UTC)<br />
<br />
=== Adding a reaction to the mechanism ===<br />
<br />
No matter what reaction is being added, the general procedure is the same. A new line must be added to <tt>globchem.eqn</tt> of the following form:<br />
<br />
<tt>{700} A + B = C + 2.000D : REQN(ARG_A,ARG_B);</tt><br />
<br />
The first number (700) is a KPP tag. The specific value has no effect on the reaction, but this should uniquely identify the reaction. The second section denotes the reactants (A and B) as well as the products (C) of the reaction. If exactly one molecule is consumed or produced, then the factor can be omitted; otherwise the number of molecules consumed or produced should be specified with at least 1 decimal place of accuracy. The final section, between the colon and semi-colon, specifies the function and arguments which will be used to calculate the reaction rate constant k. For a two-body reaction, the overall rate at which the reaction proceeds will be calculated as k[A][B].<br />
<br />
In the case of two-body reactions proceeding according to the Arrhenius equation, calculation of k is straightforwardly implemented by calling the GCARR function. For example, the most recent JPL chemical data evaluation (as of February 2017) specifies that the reaction O3 + NO produces NO2 and O2, and its Arrhenius parameters are A = 3.0x10^-12 and E/R = 1500. The entry for this reaction therefore reads as follows (noting the different sign convention used for E/R)<br />
<br />
<tt>{1} O3 + NO = NO2 + O2 : GCARR(3.00E-12,0,-1500);</tt><br />
<br />
The exact implementation of the Arrhenius rate calculation can be found in <tt>gckpp.kpp</tt>, as can other rate functions such as that required for three-body, pressure-dependent reactions. Any rate function which is to be referenced in <tt>globchem.eqn</tt> must be available in <tt>gckpp.kpp</tt> prior to building the reaction mechanism.<br />
<br />
Similarly, a photolysis reaction can be specified by giving the correct index of the <tt>PHOTOL</tt> array. This index can be determined by inspecting the file <tt>FJX_j2j.dat</tt> in your run directory. For example, one branch of the NO3 photolysis reaction is specified in <tt>globchem.eqn</tt> as<br />
<br />
<tt>{522} NO3 + hv = NO2 + O : PHOTOL(12);</tt><br />
<br />
Referring back to <tt>FJX_j2j.dat</tt> shows that reaction 12, as specified by the left-most index, is indeed NO3 = NO2 + O.<br />
<br />
Finally, implementing new heterogeneous chemistry requires an additional step. For the reaction in question, a reaction should be added as usual, but this time the rate function should be given as an entry in the <tt>HET</tt> array. A simple example is uptake of HO2, specified as<br />
<br />
<tt>{285} HO2 = O2 : HET(ind_HO2,1);</tt><br />
<br />
Note that the product in this case, O2, is actually a fixed species, so no O2 will actually be produced. O2 is used in this case only as a dummy product to satisfy the KPP requirement that all reactions have at least one product. Here, <tt>HET</tt> is simply an array of pre-calculated rate constants. The rate constants in <tt>HET</tt> are actually calculated in <tt>gckpp_HetRates.F90</tt>. To implement an additional heterogeneous reaction, the rate calculation must be added to this file. The following example illustrates a (fictional) heterogeneous mechanism which converts the species XYZ into CH2O. This reaction is assumed to take place on the surface of all aerosols, but not cloud droplets (this requires additional steps not shown here). Three steps would be required:<br />
<br />
* Add a new line to <tt>globchem.eqn</tt>, such as <tt>{900} XYZ = CH2O : HET(ind_XYZ,1);</tt><br />
* Add a new function to <tt>gckpp_HetRates.F90</tt> designed to calculate the heterogeneous reaction rate. As a simple example, we can copy the function <tt>HETNO3</tt> and rename it <tt>HETXYZ</tt>. This function accepts two arguments: molecular mass of the impinging gas-phase species, in this case XYZ, and the reaction's "sticking coefficient" - the probability that an incoming molecule will stick to the surface and undergo the reaction in question. In the case of <tt>HETNO3</tt>, it is assumed that all aerosols will have the same sticking coefficient, and the function returns a first-order rate constant based on the total available aerosol surface area and the frequency of collisions.<br />
* Add a new line to the function <tt>SET_HET</tt> in <tt>gckpp_HetRates.F90</tt> which calls the new function with the appropriate arguments and passes the calculated constant to <tt>HET</tt>. Example: assuming a molar mass of 93 g/mol, and a sticking coefficient of 0.2, we would write <tt>HET(ind_XYZ, 1) = HETXYZ(9.30E1_fp, 2E-1_fp)</tt><br />
<br />
The function <tt>HETXYZ</tt> can then be specialized to distinguish between aerosol types, or extended to provide a second-order reaction rate, or whatever the user desires.<br />
<br />
--[[User:Sebastian D. Eastham|Sebastian D. Eastham]] ([[User talk:Sebastian D. Eastham|talk]]) 22:45, 14 February 2017 (UTC)<br />
<br />
== Chemical species in FlexChem ==<br />
<br />
A complete list of chemical species included in the pre-built (Standard, Tropchem, SOA, SOA-SVPOA, UCX) mechanisms can be viewed on our [[Species in GEOS-Chem]] wiki page.<br />
<br />
=== Adding a chemical species ===<br />
<br />
Adding chemical species to FlexChem can be achieved be following these simple steps:<br />
<br />
#Add the species name(s) to the <tt>globchem.spc</tt> file<br />
#Add or modify any associated reactions to the <tt>globchem.eqn</tt> file<br />
#Build the chemical mechanism with KPP by following [[#Building a custom chemical mechanism|the steps outlined above]]<br />
<br />
NOTE: If a species is defined by KPP, it will automatically be added to the species database with the default settings for non-advected chemical species when GEOS-Chem runs. However, we recommend also adding your species to the species database by following [[GEOS-Chem_species_database#Adding_new_species_to_the_GEOS-Chem_species_database|these instructions]]. Including a species in the species database is required if the new species is to be defined as an advected species in <tt>input.geos</tt>.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:27, 22 November 2016 (UTC)<br />
<br />
=== Removal of family tracers ===<br />
<br />
In [[GEOS-Chem v9-02]] we removed all family tracers from GEOS-Chem. For example, the NOx family was replaced by individual tracers NO, O3, NO3, and HNO2. Similarly, the Ox family was replaced by individual tracers O3, NO2, and NO3.<br />
<br />
But certain updates that were made to GEOS-Chem after v9-02 introduced new family tracers into the various chemistry mechanisms:<br />
<br />
* The [[Caltech isoprene scheme]] added the ISOPN and MVKN families<br />
* The [[UCX chemistry mechanism]] added the CFCX and HCFCX families<br />
<br />
The implementation of the FlexChem chemical solver package in [[GEOS-Chem v11-01]] forced us to remove these family tracers, because the KPP chemical solver is designed to only include individual species in its mechanism. Removing these families also allows us to avoid some cumbersome sections of code that were used to construct each family from its constituent members.<br />
<br />
Therefore, the following families have been removed from [[GEOS-Chem v11-01#v11-01g|GEOS-Chem v11-01g]], and replaced with individual species:<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="125px" bgcolor="#FF0000"|Removed<br />
!width="375px" colspan="3" bgcolor="#00FF00"|Added as individual advected species<br />
!width="350px" bgcolor="#CCCCCC"|[[GEOS-Chem_chemistry_mechanisms#NOx-Ox-hydrocarbon-aerosol_chemistry_and_variants|Mechanisms]] in which these are used<br />
<br />
|-valign="top"|<br />
|width="125px"|ISOPN<br />
|width="125px"|ISOPND<br />
|width="125px"|ISOPNB <br />
|<br />
|width="350px"|Standard, UCX, TropChem, SOA, SOA-SVPOA<br />
<br />
|-valign="top" <br />
|MVKN <br />
|MACRN<br />
|MVKN<br />
|<br />
|Standard, UCX, TropChem, SOA, SOA-SVPOA<br />
<br />
|-valign="top"<br />
|CFCX <br />
|CFC113<br />
|CFC114<br />
|CFC115<br />
|Standard, UCX<br />
<br />
|-valign="top<br />
|HCFCX<br />
|HCFC22<br />
|HCFC141b<br />
|HCFC142b<br />
|Standard, UCX<br />
<br />
|}<br />
<br />
The constituents of each former family are now included as advected species in the various GEOS-Chem mechanisms. To obtain diagnostic output for the former families, you can save out each of the individual species and combine the output in post-processing. <br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:20, 16 August 2016 (UTC)<br />
<br />
== Production & loss diagnostic ==<br />
<br />
Mike Long implemented the functionality for chemical prod/loss families in the KPP source code. With this option turned on, KPP will calculate the net prod/loss rates for user-defined chemical families.<br />
<br />
=== Adding production & loss families ===<br />
<br />
KPP prod/loss families are turned on by the <tt>#FAMILIES</tt> token in the <tt>gckpp.kpp</tt> file. For example:<br />
<br />
#INTEGRATOR rosenbrock<br />
#LANGUAGE Fortran90<br />
#DRIVER none<br />
<br />
#INCLUDE globchem.spc<br />
#INCLUDE globchem.eqn<br />
<br />
<span style="color:red">#FAMILIES<br />
POx : O3 + NO2 + 2NO3 + PAN + PMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D;<br />
LOx : O3 + NO2 + 2NO3 + PAN + PMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D;<br />
PCO : CO;<br />
LCO : CO;<br />
PSO4 : SO4;</span><br />
<br />
To add a new prod/loss family, add a new line to the <tt>#FAMILIES</tt> section with the format<br />
<br />
FAM_NAME : MEMBER_1 + MEMBER_2 + ... + MEMBER_N;<br />
<br />
The family name must start with <tt>P</tt> or <tt>L</tt> to indicate whether KPP should calculate a production or a loss rate.<br />
<br />
<span style="color:red">'''IMPORTANT:''' When adding a prod/loss family or changing any of the other settings in <tt>gckpp.kpp</tt>, the chemistry mechanism will need to be rebuilt with KPP as [[#Building a custom chemical mechanism|described above]].</span><br />
<br />
The pre-built chemistry mechanisms (Standard, Tropchem, SOA, SOA-SVPOA, and UCX) were built with the default prod/loss families listed in the example above. For the Tropchem, SOA, and SOA-SVPOA mechanisms several species (ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D) were removed from the Ox family because those species are not defined in those mechanisms. The Ox and CO rates are used in GEOS-Chem for computing budgets in the [http://acmg.seas.harvard.edu/geos/geos_benchmark.html 1-month benchmark simulations] and PSO4 is required for simulations using [[TOMAS_aerosol_microphysics|TOMAS aerosol microphysics]].<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
=== How it works ===<br />
<br />
The number of prod/loss families is defined by <tt>NFAM</tt> in <tt>gckpp_Parameters.F90</tt>. KPP automatically sets this number according to the number of families listed in the <tt>gckpp.kpp</tt> file used to build the mechanism. The prod/loss family names are defined in array <tt>FAM_NAMES</tt> in <tt>gckpp_Monitor.F90</tt>. For example, for the default prod/loss families listed above we have:<br />
<br />
CHARACTER(LEN=15), PARAMETER, DIMENSION(5) :: FAM_NAMES = (/ &<br />
'POx ','LOx ','PCO ', & ! index 1 - 3<br />
'LCO ','PSO4 ' /)<br />
<br />
KPP computes the prod/loss families in routine <tt>ComputeFamilies</tt> (found in <tt>gckpp_Util.F90</tt>). The <tt>FAM</tt> array in that routine contains the accumulated prod/loss rates for that family. For example, the POx family (family 1) is computed as:<br />
<br />
FAM(1) = V(13)+V(14)+V(15)+V(16)+V(17)+V(18)+V(19)+V(20)+V(21)+2*V(22)+...<br />
<br />
The <tt>V</tt> array here corresponds to KPP's <tt>VAR</tt> array containing species concentrations in molec/cm3. The indices passed to <tt>V</tt> indicate which reaction rates are used to compute the prod/loss rate for that family. Here are the steps you can take to validate the reactions used for a given family:<br />
<br />
#Select any index number for array V used in the computation<br />
#Find the index number in SPC_NAMES (defined in <tt>gckpp_Monitor.F90</tt>)<br />
#Find the dummy RR species in <tt>EQN_NAMES</tt> (defined in <tt>gckpp_Monitor.F90</tt>)<br />
#Make sure the reaction identified in the previous step includes a family member as a product (for prod families) or a reactant (for loss families)<br />
<br />
Following these steps for the POx family example, we have:<br />
<br />
#Select <tt>V(13)</tt><br />
#Index 13 corresponds to <tt>RR10</tt> in <tt>SPC_NAMES</tt><br />
#<tt>RR10</tt> is found in <tt>HO2 + NO --> RR10 + NO2 + OH</tt> in <tt>EQN_NAMES</tt><br />
#NO2 is a member of the POx family and is a product in the above reaction &#10004;<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
=== Saving out production & loss rates ===<br />
<br />
The prod/loss rates from KPP are saved out in GEOS-Chem via the [http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html#PLMenu ND65 diagnostic]. To activate this diagnostic, set the option for ND65 (stored in <tt>Input_Opt%DO_SAVE_PL</tt>) to <tt>T</tt> in the input.geos file:<br />
<br />
-------------------------------------------------------------------------------<br />
%%% PROD & LOSS MENU %%%:<br />
Turn on P/L (ND65) diag?: '''T'''<br />
# of levels for ND65 : 72<br />
Save O3 P/L (ND20)? : F<br />
------------------------+------------------------------------------------------<br />
<br />
When <tt>Input_Opt%DO_SAVE_PL</tt> is true, FlexChem will call KPP routine <tt>ComputeFamilies</tt> (found in <tt>gckpp_Util.F90</tt>) to obtain the prod/loss rates stored in array <tt>FAM</tt>. The ND65 diagnostic is set up to automatically save out <tt>NFAM</tt> families to the output file and obtain the family names from <tt>FAM_NAMES</tt>, so no code modifications are required when adding prod/loss families to the chemical mechanism.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 9 November 2016 (UTC)<br />
<br />
== Validation ==<br />
<br />
=== Benchmark simulations ===<br />
<br />
FlexChem was implemented in [[GEOS-Chem v11-01#v11-01g]] and validated with a 1-month benchmark and a 1-year benchmark. Please see the following links for more information:<br />
<br />
#[[GEOS-Chem_v11-01_benchmark_history#v11-01g|''Approval form for 1-month benchmark simulation v11-01g'']]<br />
#[[GEOS-Chem_v11-01_benchmark_history#v11-01g-Run0|''Results for 1-year benchmark simulation v11-01g-Run0'']]<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 18:38, 9 November 2016 (UTC)<br />
<br />
=== Preliminary timing tests ===<br />
<br />
[[GEOS-Chem_performance#7-day_time_tests|Seven-day time tests]] were performed with the FlexChem code in order to evaluate model performance. The time tests all used 4&deg; x 5&deg; GEOS-FP met fields and were assigned 8 CPUs. Two model version were evaluated: [[GEOS-Chem v11-01#v11-01f|v11-01f]] and [[GEOS-Chem v11-01#v11-01g|v11-01g]] (which includes FlexChem). The results for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_in_GEOS-Chem_v10-01_and_later_versions|standard mechanism]] and [[NOx-Ox-HC-aerosol|tropchem mechanism]] are summarized below.<br />
<br />
<br />
'''Standard Chemistry Mechanism'''<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="160px"|Model Version<br />
!width="100px"|Wall Time<br />
!width="100px"|CPU Time<br />
!width="160px"|CPU Time / Wall Time<br />
!width="100px"|Memory<br />
|-<br />
|v11-01f<br />
|1:43:15<br />
|10:55:22<br />
|6.3474 (79.34% ideal)<br />
|6.32 GB<br />
|-<br />
|v11-01g<br />
|2:10:37<br />
|14:19:33<br />
|6.5807 (82.26% ideal)<br />
|5.00 GB<br />
<br />
|}<br />
<br />
<br />
'''Tropchem Chemistry Mechanism'''<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-bgcolor="#CCCCCC"<br />
!width="160px"|Model Version<br />
!width="100px"|Wall Time<br />
!width="100px"|CPU Time<br />
!width="160px"|CPU Time / Wall Time<br />
!width="100px"|Memory<br />
|-<br />
|v11-01f<br />
|0:48:23<br />
|5:15:25<br />
|6.5191 (81.49% ideal)<br />
|3.57 GB<br />
|-<br />
|v11-01g<br />
|0:50:24<br />
|5:37:04<br />
|6.6878 (83.60% ideal)<br />
|2.70 GB<br />
|}<br />
<br />
The GEOS-Chem Support Team will continue to evaluate and improve the performance of the FlexChem code for the [[GEOS-Chem v11-01]] release.<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:26, 7 September 2016 (UTC)<br />
<br />
== Previous issues that are now resolved ==<br />
<br />
=== Add simplified P/L families to KPP ===<br />
<br />
<span style="color:darkorange">'''''This update will be included in [[GEOS-Chem v11-02#v11-02a|v11-02a]].'''''</span><br />
<br />
The chemical mechanisms are rebuilt with KPP at commit <tt>Fix to add coefficients to *_Monitor.F90 - MSL.</tt>. In the updated KPP, prod/loss families now produce one dummy species that is now named with the family name in <tt>SPC_NAMES</tt>. For example, POx is now computed using KPP species <tt>POx</tt> in <code>VAR</code> instead of several <tt>RR*</tt> species. This greatly reduces the number of dummy species down to the number of prod/loss families that are defined in the input file <tt>gckpp.kpp</tt>.<br />
<br />
Routine <code>Compute_Families</code> in <tt>gckpp_Util.F90</tt> is now obsolete. We can now obtain the prod/loss rates directly from the <code>VAR</code> array in KPP. The code in <tt>GeosCore/flexchem_mod.F90</tt> has been updated accordingly.<br />
<br />
The table below shows the speedup that is obtained with this update.<br />
<br />
{| border=1 cellspacing=0 cellpadding=5 <br />
|-valign="top" bgcolor="#CCCCCC"<br />
!width="125px"|Run name, <br>timesteps,<br>and submitter<br />
!width="175px"|Machine or Node<br>and Compiler<br />
!width="100px"|CPU vendor<br />
!width="150px"|CPU model<br />
!width="75px"|Speed [MHz]<br />
!width="50px"|# of<br>CPUs<br />
!width="85px"|CPU time<br />
!width="120px"|Wall time<br />
!width="75px|CPU / Wall<br>ratio<br />
!width="75px"|% of ideal<br />
<br />
|-valign="top" <br />
|v11-01-public<br>(C20T10)<br>Bob Yantosca<br />
|regal16.rc.fas.harvard.edu<br>ifort 11.1<br />
|GenuineIntel<br />
|Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz<br />
|2199.915<br />
|8<br />
|62554.07 s<br>'''17:22:34'''<br />
|9355.80 s<br>'''02:35:59'''<br />
|6.6861<br />
|83.58<br />
<br />
|-valign="top"<br />
|v11-02a-P/L<br>(C20T10)<br>Melissa Sulprizio<br />
|regal17.rc.fas.harvard.edu<br>ifort 11.1<br />
|GenuineIntel <br />
|Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz<br />
|2199.993<br />
|8<br />
|55853.62 s<br>'''15:30:54'''<br />
|8373.14 s<br>'''02:19:44'''<br><span style="color:red">1.12X faster than v11-01-public</span><br />
|6.6706<br />
|83.38<br />
<br />
|}<br />
<br />
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 15:58, 9 February 2017 (UTC)<br />
<br />
=== Fix for compiling with CHEM=Custom ===<br />
<br />
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-01#v11-01 public release|GEOS-Chem v11-01 public release]]'''''</span><br />
<br />
'''''Prasad Kasibhatla wrote:'''''<br />
<br />
:I am trying to create a custom simulation with some chemistry added to the SOA_SVPOA simulation. I followed all the steps in the wiki to create the <tt>gckpp*F90</tt> files and copy them to the <tt>Code.v11-01/KPP/Custom</tt> directory. I then compile from <tt>Code.v11-01</tt> using the command<br />
<br />
make -j4 MET=geosfp GRID=4x5 CHEM=Custom<br />
<br />
:I noticed that during the compile, the KPP files being compiled are in the <tt>Standard</tt> KPP directory. So it looks like the <tt>CHEM=Custom</tt> option is not directing the compiler to the right place.<br />
<br />
:I solved the problem by adding the following to <tt>Makefile_header.mk</tt> in the Code directory:<br />
<br />
# %%%%% Test if Custom %%%%%<br />
REGEXP :=(^[Cc][Uu][Ss][Tt][Oo][Mm])<br />
ifeq ($(shell <nowiki>[[ "$(CHEM)" =~ $(REGEXP) ]]</nowiki> && echo true),true)<br />
KPP_CHEM :=Custom<br />
IS_CHEM_SET :=1<br />
endif<br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 22:43, 17 January 2017 (UTC)<br />
<br />
=== Remove calls to UPDATE_SUN, UPDATE_RCONST from gckpp_Integrator.F90 ===<br />
<br />
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-01 benchmark history#v11-01 provisional release|GEOS-Chem v11-01 provisional release]]'''''</span><br />
<br />
A slow down in GEOS-Chem run time was observed following the implementation of FlexChem in [[GEOS-Chem v11-01|v11-01]]. To resolve this, a temporary workaround was implemented. This fix may be replaced with a more permanent solution in [[GEOS-Chem v11-01#v11-01 public release|GEOS-Chem v11-01 public release]].<br />
<br />
'''''[[User:Bmy|Bob Yantosca]] wrote:'''''<br />
<br />
<blockquote>KPP automatically places calls to <tt>UPDATE_SUN</tt> and <tt>UPDATE_RCONST</tt> in the routines <tt>FunTemplate</tt> and <tt>JacTemplate</tt> (both in the <tt>gckpp_Integrator.F90</tt> module). This assumes that you are not interfacing KPP into any other model, and that you will use KPP to compute the sun angles at each timestep.<br />
<br />
We now call <tt>UPDATE_RCONST</tt> once per grid box before calling the KPP integrator. Also, because we use FAST-JX to get the photo rates, we no longer need to call <tt>UPDATE_SUN</tt>. These duplicate calls were causing a performance bottleneck, as <tt>UPDATE_RCONST</tt> was being called more than 7 million times per day.<br />
<br />
We have removed the duplicate calls from the <tt>gckpp_Integrator.F90</tt> modules in each of the chemistry mechanisms. But we will also need to make sure that when building KPP fresh from an equation file, that this step gets automatically added to the build sequence.</blockquote><br />
<br />
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:53, 9 January 2017 (UTC)<br />
<br />
=== Incorrect species units used in routines UCX_NOX and UCX_H2SO4PHOT ===<br />
<br />
<span style="color:green">'''''This update was validated with the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01j|v11-01j]] and approved on 03 Dec 2016'''''</span><br />
<br />
[[User:Sebastian_D._Eastham|Seb Eastham]] reported an error in <tt>FlexChem_mod.F90</tt> routine <tt>DO_FLEXCHEM</tt>, where UCX routines <tt>UCX_NOX</tt> and <tt>UCX_H2SO4PHOT</tt> are called when species concentrations are in the wrong units. Both routines expect species concentrations in units of kg but species are not converted from molec/cm3 to kg until after the calls. <br />
<br />
'''''Seb Eastham wrote:'''''<br />
<br />
<blockquote><br />
The consequences of this error can actually be seen in the v11-01g benchmark zonal mean concentrations. N2O should be uniform in the trop and then lost in the strat, but if you check out the color bar you’ll see that there is a very difficult-to-see (but huge!) maximum in the mesosphere. This is why the concentration in the trop, which should be the maximum, is so low on the color scale.<br />
</blockquote><br />
<br />
To correct this issue, the UCX routines are now called after the species unit conversion to kg.<br />
<br />
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 22:01, 14 November 2016 (UTC)<br />
<br />
== Known issues ==<br />
<br />
TBD</div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_CH2O_zon_delta.png&diff=30718File:GCHP CH2O zon delta.png2017-02-09T18:03:00Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP CH2O zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_CH2O_zon_delta.png&diff=30717File:GCC CH2O zon delta.png2017-02-09T18:02:53Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC CH2O zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_CH2O_sfc_delta.png&diff=30716File:GCHP CH2O sfc delta.png2017-02-09T18:02:42Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP CH2O sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_CH2O_sfc_delta.png&diff=30715File:GCC CH2O sfc delta.png2017-02-09T18:02:33Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC CH2O sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_NIT_zon_delta.png&diff=30714File:GCHP NIT zon delta.png2017-02-09T18:02:27Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP NIT zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NIT_zon_delta.png&diff=30713File:GCC NIT zon delta.png2017-02-09T18:02:20Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC NIT zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_NIT_sfc_delta.png&diff=30712File:GCHP NIT sfc delta.png2017-02-09T18:02:13Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP NIT sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NIT_sfc_delta.png&diff=30711File:GCC NIT sfc delta.png2017-02-09T18:02:06Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC NIT sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_NO_zon_delta.png&diff=30710File:GCHP NO zon delta.png2017-02-09T18:01:59Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP NO zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NO_zon_delta.png&diff=30709File:GCC NO zon delta.png2017-02-09T18:01:53Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC NO zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_NO_sfc_delta.png&diff=30708File:GCHP NO sfc delta.png2017-02-09T18:01:47Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP NO sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NO_sfc_delta.png&diff=30707File:GCC NO sfc delta.png2017-02-09T18:01:39Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC NO sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_HNO3_zon_delta.png&diff=30706File:GCHP HNO3 zon delta.png2017-02-09T18:00:29Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP HNO3 zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_HNO3_zon_delta.png&diff=30705File:GCHP HNO3 zon delta.png2017-02-09T18:00:27Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP HNO3 zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_HNO3_zon_delta.png&diff=30704File:GCC HNO3 zon delta.png2017-02-09T17:59:57Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC HNO3 zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_HNO3_sfc_delta.png&diff=30703File:GCHP HNO3 sfc delta.png2017-02-09T17:59:49Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP HNO3 sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_HNO3_sfc_delta.png&diff=30702File:GCC HNO3 sfc delta.png2017-02-09T17:59:39Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC HNO3 sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_O3_zon_delta.png&diff=30701File:GCHP O3 zon delta.png2017-02-09T17:59:24Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP O3 zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_O3_zon_delta.png&diff=30700File:GCC O3 zon delta.png2017-02-09T17:58:29Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC O3 zon delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_O3_sfc_delta.png&diff=30699File:GCHP O3 sfc delta.png2017-02-09T17:57:44Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCHP O3 sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_O3_sfc_delta.png&diff=30698File:GCC O3 sfc delta.png2017-02-09T17:57:11Z<p>Sebastian D. Eastham: Sebastian D. Eastham uploaded a new version of File:GCC O3 sfc delta.png</p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_CH2O_sfc_delta.png&diff=30649File:GCC CH2O sfc delta.png2017-02-07T22:09:01Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_CH2O_zon_delta.png&diff=30648File:GCC CH2O zon delta.png2017-02-07T22:08:50Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_HNO3_sfc_delta.png&diff=30647File:GCC HNO3 sfc delta.png2017-02-07T22:08:38Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_HNO3_zon_delta.png&diff=30646File:GCC HNO3 zon delta.png2017-02-07T22:08:25Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NIT_sfc_delta.png&diff=30645File:GCC NIT sfc delta.png2017-02-07T22:08:14Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NIT_zon_delta.png&diff=30644File:GCC NIT zon delta.png2017-02-07T22:07:57Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NO_sfc_delta.png&diff=30643File:GCC NO sfc delta.png2017-02-07T22:07:01Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_NO_zon_delta.png&diff=30642File:GCC NO zon delta.png2017-02-07T22:06:46Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_O3_sfc_delta.png&diff=30641File:GCC O3 sfc delta.png2017-02-07T22:06:36Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCC_O3_zon_delta.png&diff=30640File:GCC O3 zon delta.png2017-02-07T22:06:27Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_CH2O_sfc_delta.png&diff=30639File:GCHP CH2O sfc delta.png2017-02-07T22:06:16Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_CH2O_zon_delta.png&diff=30638File:GCHP CH2O zon delta.png2017-02-07T22:05:55Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_HNO3_sfc_delta.png&diff=30637File:GCHP HNO3 sfc delta.png2017-02-07T22:05:34Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Easthamhttps://wiki.seas.harvard.edu/geos-chem/index.php?title=File:GCHP_HNO3_zon_delta.png&diff=30636File:GCHP HNO3 zon delta.png2017-02-07T22:05:15Z<p>Sebastian D. Eastham: </p>
<hr />
<div></div>Sebastian D. Eastham