|
|
(25 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| ----
| |
| ----
| |
| <big><strong>GEOS-Chem v11-02-final</strong> '''will also carry the designation''' <strong>GEOS-Chem 12.0.0</strong>'''.''' We are migrating to a purely numeric versioning system in order to adhere more closely to software development best practices. For a complete description of the new versioning system, please see [[GEOS-Chem version numbering system|our ''GEOS-Chem version numbering system'' wiki page]].</big>
| |
| ----
| |
| ----
| |
|
| |
|
| |
| On this page we provide information about the sulfate aerosol species in GEOS-Chem. | | On this page we provide information about the sulfate aerosol species in GEOS-Chem. |
|
| |
| <span style="color:green">'''''Note that in [[GEOS-Chem v10-01]] and higher versions, all emissions of sulfate aerosols are now handled by the [[HEMCO|HEMCO emissions component]].'''''</span>
| |
|
| |
|
| == Overview == | | == Overview == |
Line 100: |
Line 91: |
|
| |
|
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:36, 1 February 2018 (UTC) | | --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:36, 1 February 2018 (UTC) |
|
| |
| === Tagged sulfate and nitrate simulation ===
| |
|
| |
| <span style="color:darkorange">'''''This update is slated for inclusion in [[GEOS-Chem v11-02]] or later.'''''</span>
| |
|
| |
| '''''[http://www.atmos.washington.edu/blog/beckya/becky-alexander/ Becky Alexander] wrote:'''''
| |
|
| |
| :Sulfate and nitrate each have several different tracers that correspond to their production pathway. This allows for an off-line calculation of their oxygen isotopes (O-17 excess), and allows one to determine the relative importance of each production pathway to the burden of sulfate and nitrate.
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:50, 15 June 2015 (UTC)
| |
|
| |
|
| === Ocean ammonia emission inventory === | | === Ocean ammonia emission inventory === |
Line 123: |
Line 104: |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:50, 4 August 2015 (UTC) | | --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:50, 4 August 2015 (UTC) |
|
| |
|
| == Source code and data == | | === SO4s and NITs have the same molecular weight as SALC === |
|
| |
|
| === In GEOS-Chem versions prior to v10-01 ===
| | '''''[http://www.atmos.washington.edu/~beckya/nobackup/ Becky Alexander] replied:''''' |
|
| |
|
| For GEOS-Chem versions prior to [[GEOS-Chem v10-01|v10-01]], the source code for reading in the anthropogenic and aircraft emissions was contained <tt>sulfate_mod.f</tt>.
| | <blockquote> |
| | The reason for using SALC sea salt's molecular weight for SO4s and NITs is that these tracers are essentially internally mixed with coarse sea salt aerosol (SALC). As coarse sea salt aerosol likely dominates the mass of these aerosols, it is appropriate to use sea salt's MW. |
|
| |
|
| Emissions inventories included:
| | Another explanation is that since SO4s and NITs are internally mixed with sea salt, they should be treated identically to SALC in the code for all processes. |
| | | </blockquote> |
| # DMS seawater concentrations [nm/ML] from Andreae
| |
| # NH3 anthropogenic emissions for year 1990 [kg N/month] from GEIA
| |
| # NH3 biofuel emissions for year 1998 [kg NH3/month] from ''Park et al.'' [2004]
| |
| # NH3 natural-source emissions for year 1990 [kg N/month] from GEIA
| |
| # [[Aircraft emissions#SO2|SO2 emissions from aircraft]] [kg/day] from ''Chin et al'' [2000].
| |
| # [[Ship emissions|Various ship emissions inventories]]
| |
| # [[Volcanic SO2 emissions from Aerocom|Volcanic emissions of SO2]]
| |
| | |
| For more information about the sulfate emissions data files, please see the following READMEs:
| |
| | |
| # [ftp://ftp.as.harvard.edu/pub/geos-chem/data/GEOS_0.5x0.666_CH/sulfate_sim_200508/README GEOS_0.5x0.666_CH/sulfate_sim_200508/README]
| |
| # [ftp://ftp.as.harvard.edu/pub/geos-chem/data/GEOS_0.5x0.666_NA/sulfate_sim_200508/README GEOS_0.5x0.666_NA/sulfate_sim_200508/README]
| |
| # [ftp://ftp.as.harvard.edu/pub/geos-chem/data/GEOS_2x2.5/sulfate_sim_200508/README GEOS_2x2.5/sulfate_sim_200508/README]
| |
| # [ftp://ftp.as.harvard.edu/pub/geos-chem/data/GEOS_4x5/sulfate_sim_200508/README GEOS_4x5/sulfate_sim_200508/README]
| |
|
| |
|
| --[[User:Bmy|Bob Y.]] 14:31, 12 March 2010 (EST) | | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:09, 19 September 2022 (UTC) |
| | |
| === In GEOS-Chem v10-01 and higher versions ===
| |
| | |
| In [[GEOS-Chem v10-01]] and newer versions, the sulfate emissions data files are read with the [[HEMCO|HEMCO emissions component]]. We have created new data files (in [[Preparing data files for use with HEMCO|COARDS-compliant netCDF format]]) for use with HEMCO. 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]].
| |
| | |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 19:17, 20 July 2015 (UTC)
| |
|
| |
|
| == Computing PM2.5 concentrations from GEOS-Chem output == | | == Computing PM2.5 concentrations from GEOS-Chem output == |
Line 179: |
Line 141: |
|
| |
|
| --[[User:Bmy|Bob Y.]] 14:36, 23 February 2010 (EST) | | --[[User:Bmy|Bob Y.]] 14:36, 23 February 2010 (EST) |
|
| |
| == Previous issues that have now been resolved ==
| |
|
| |
| The following bugs and/or technical issues in the sulfate aerosol module have since been resolved:
| |
|
| |
| === Fix mis-indexing in the ND05 diagnostic ===
| |
|
| |
| <span style="color:darkorange">'''''This update will be included in [[GEOS-Chem 12#12.0.1|GEOS-Chem 12.0.1]].'''''</span>
| |
|
| |
| '''Shuting Zhai wrote:'''
| |
|
| |
| <blockquote>I just checked GEOS-Chem 12.0.0, and in the GeosCore/sulfate_mod.F90, the diagnostic array <tt>AD05</tt> seems messed up from <tt>AD05(I,J,L,16)</tt> to <tt>AD05(I,J,L,20)<?tt>. They all seem like being updated on the basis of <tt>AD05(I,J,L, N-1)</tt> instead of <tt>AD05(I,J,L,N)</tt>. For example line 3898:</blockquote>
| |
|
| |
| AD05(I,J,L,16) = AD05(I,J,L,15) + ((L5S+SRhobr)* State_Met%AD(I,J,L)/TCVV_S
| |
|
| |
| <blockquote>It seems like someone forgot to modify <tt>AD05</tt> # on the right hand side, since the RHS still uses the same numbering as in in v11-02d.
| |
|
| |
| And also, there are 20 diagnostics in the code, while the [[List_of_diagnostics_archived_to_bpch_format#ND05:_P.2FL_for_sulfate_aerosols)|wiki page only listed 19]].</blockquote>
| |
|
| |
| '''[[User:Bmy|Bob Yantosca]] replied:'''
| |
|
| |
| <blockquote>
| |
| Thanks for writing. Yes, it seems like several of the ND05 diagnostics are off by 1. We will fix this in patch version [[GEOS-Chem 12#12.0.1|GEOS-Chem 12.0.1]].
| |
|
| |
| Also note: the bpch diagnostics are slated to be removed from the code in favor of [[List of diagnostics archived to netCDF format|the netCDF diagnostics]]. So beyond simple fixes like this, we are not maintaining the bpch diagnostics going forward.</blockquote>
| |
|
| |
| --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:09, 20 August 2018 (UTC)
| |
|
| |
| === Add bug fix in sulfate_mod.F involving reorder IF statements for Fahey and Seinfeld decision algorithm ===
| |
|
| |
| <span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02e|v11-02e]] (approved 24 Mar 2018).'''''</span>
| |
|
| |
| '''''Becky Alexander wrote:'''''
| |
|
| |
| :Chris Holmes found a bug in sulfate mod. Below are Chris' comments:
| |
|
| |
| IF ( H2O20 > SO2_ss + 1e-9_fp ) THEN
| |
| BULK = 1
| |
| ELSEIF( LWC < 0.1e+6_fp ) THEN !10^6 coversion from m3/m3 --> g/m3
| |
| SIZE_RES = 1
| |
| ELSEIF( gno3 > NH3 ) THEN
| |
| ! LOTS OF STUFF
| |
| ELSEIF( LWC >= 0.1e+6_fp ) THEN
| |
| <span style="color:red">! ALL clouds with LWC > 0.1e6 will execute here
| |
| ! LOTS OF STUFF</span>
| |
| ELSEIF ( LWC >= 0.3d6 ) THEN
| |
| <span style="color:red">! Clouds with LWC > 0.3e6 will never get here, because they already evaluated TRUE for LWC > 0.1e6
| |
| ! LOTS OF STUFF</span>
| |
| ELSEIF ( LWC >= 0.5e+6_fp ) THEN
| |
| <span style="color:red">! Clouds with LWC > 0.5e6 will never get here, because they already evaluated TRUE for LWC > 0.1e6
| |
| ! LOTS OF STUFF</span>
| |
| ELSE
| |
| SIZE_RES = 1
| |
| ENDIF
| |
|
| |
| :We suggest changing the order as suggested below:
| |
|
| |
| IF ( H2O20 > SO2_ss + 1e-9_fp ) THEN
| |
| BULK = 1
| |
| ELSEIF( LWC < 0.1e+6_fp ) THEN !10^6 coversion from m3/m3 --> g/m3
| |
| SIZE_RES = 1
| |
| ELSEIF( gno3 > NH3 ) THEN
| |
| ! LOTS OF STUFF
| |
| ELSEIF ( LWC >= 0.5e+6_fp ) THEN
| |
| ! LOTS OF STUFF
| |
| ELSEIF ( LWC >= 0.3d6 ) THEN
| |
| ! LOTS OF STUFF
| |
| ELSEIF( LWC >= 0.1e+6_fp ) THEN
| |
| ! LOTS OF STUFF
| |
| ELSE
| |
| SIZE_RES = 1
| |
| ENDIF
| |
|
| |
| :I think this will only matter over the tropical oceans where is not much SO2, so I expect this to have a negligible impact on the global sulfur budget. I haven't yet tested it though.
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 22:48, 2 March 2018 (UTC)
| |
|
| |
| === Give SO4s and NITs the same molecular weight as SALC ===
| |
|
| |
| <span style="color:green">'''''This update was validated with 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01e|v11-01e]] (approved 04 Jan 2016).'''''</span>
| |
|
| |
| For several past GEOS-Chem versions, SO4s and NITs had the wrong molecular weights listed in the <tt>input.geos</tt> file.
| |
|
| |
| '''''[[User:bmy|Bob Yantosca]] wrote:'''''
| |
|
| |
| <blockquote>
| |
| In GEOS-Chem v9-02, [[Sea_salt_aerosols#Update_molecular_weight_of_sea_salt_tracers|we changed the molecular weights of the sea salt species SALA and SALC]] in the input.geos file from 0.036 kg/mol to 0.0314 kg/mol. But somehow this change never got propagated to <tt>drydep_mod.F</tt>, where we were still using the old molecular weight of 0.036 kg/mol. This is now fixed in the [[GEOS-Chem v11-01#v11-01e|GEOS-Chem v11-01e]] development code.
| |
|
| |
| One question that I still have is this: What should we use for the MW’s of SO4s and NITs in <tt>drydep_mod.F</tt>? Both of these species currently use molecular weights of 0.036 kg/mol in <tt>drydep_mod.F</tt>. (This was the old sea salt molecular weight prior to v9-02.) But the actual molecular weight of SO4s is 0.096 kg/mol and that of NITs is 0.062 kg/mol. So for dry deposition purposes, should we use the MW of sea salt, or should we use the actual MW’s of SO4s and NITs? I looked back throughout the code but could not find any comments documenting this. This behavior has been in the code at least through v7-03-01, and probably earlier.
| |
| </blockquote>
| |
|
| |
| '''''[http://www.atmos.washington.edu/~beckya/nobackup/ Becky Alexander] replied:'''''
| |
|
| |
| <blockquote>
| |
| The reason for using sea salt's molecular weight for SO4s and NITs is that these tracers are essentially internally mixed with coarse sea salt aerosol (SALC). As coarse sea salt aerosol likely dominates the mass of these aerosols, it is appropriate to use sea salt's MW.
| |
|
| |
| Another explanation is that since SO4s and NITs are internally mixed with sea salt, they should be treated identically to SALC in the code for all processes.
| |
| </blockquote>
| |
|
| |
| Therefore, in [[GEOS-Chem v11-01#v11-01e|GEOS-Chem v11-01e]], we have changed the molecular weights of SO4s and NITs to 31.4 g/mol in the [[GEOS-Chem species database]]. These values will be used everywhere throughout GEOS-Chem.
| |
|
| |
| <span style="color:red">'''''NOTE: This update caused an error in the production of SO4s and NITS in routine <tt>SEASALT_CHEM</tt>. This will be fixed in [[GEOS-Chem v11-02|v11-02]]. Please see [[#Fix_error_in_production_of_SO4s.2C_NITs_in_SEASALT_CHEM_routine|this section]] for more information.'''''</span>
| |
|
| |
| --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:28, 27 January 2017 (UTC)
| |
|
| |
| === Bug fix for sea salt alkalinity in sulfate_mod.F ===
| |
|
| |
| <span style="color:green">'''''This fix was validated with the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01c|v11-01c]] and approved on 14 Sept 2015.'''''</span>
| |
|
| |
| '''''Johan Schmidt wrote:'''''
| |
|
| |
| :There is a bug in the <tt>GET_ALK</tt> subroutine (now part of <tt>sulfate_mod</tt>) that causes the computed rate of uptake of SO2 and HNO3 on to sea salt aerosol to be much too slow. <tt>GET_ALK</tt> only considers the surface area of freshly emitted sea salt (contained in N1 and N2) when calculating the rate, it should consider the surface area of all sea salt aerosols in the grid box.
| |
|
| |
| :The bug results in too low sulfate formation, and retained SSA alkalinity in regions that should have acidic SSA.
| |
|
| |
| :I would like to propose a fix where the uptake rates (<tt>KT1</tt>, <tt>KT2</tt>, <tt>KTN1</tt>, and <tt>KTN2</tt>) are calculated using the SSA surface area (from <tt>TAREA</tt>) and effective radius (from <tt>ERADIUS</tt>).
| |
|
| |
| :I have outlined the bug fix below.
| |
|
| |
| :I've added the following variable to <tt>GET_ALK</tt>
| |
|
| |
| JLOOP = JLOP(I,J,L)
| |
|
| |
| SA1= TAREA(JLOOP,4+NDUST) !in cm2/cm3
| |
| SA2= TAREA(JLOOP,5+NDUST) !in cm2/cm3
| |
|
| |
| R1 = ERADIUS(JLOOP,4+NDUST) !in cm
| |
| R2 = ERADIUS(JLOOP,5+NDUST) !in cm
| |
|
| |
| :I've then modified the section that calculates <tt>KT1</tt>, <tt>KT2</tt>, <tt>KTN1</tt>, <tt>KTN2</tt> as below:
| |
|
| |
| ! calculate gas-to-particle rate constant for uptake of
| |
| ! SO2 onto fine sea-salt aerosols [Jacob, 2000] analytical solution
| |
| CONST1 = 4.D0/(V*GAMMA_SO2)
| |
| !A1 = (RAD1/DG)+CONST1
| |
| !B1 = (RAD2/DG)+CONST1
| |
| !TERM1A = ((B1**2)/2.0d0) - ((A1**2)/2.0d0)
| |
| !TERM2A = 2.D0*CONST1*(B1-A1)
| |
| !TERM3A = (CONST1**2)*LOG(B1/A1)
| |
| !KT1 = 4.D0*PI*N1*(DG**3)*(TERM1A - TERM2A + TERM3A)
| |
| KT1 = SA1/((R1/DG) + CONST1)
| |
|
| |
| !----------------------------------
| |
| ! SO2 uptake onto coarse particles
| |
| !----------------------------------
| |
|
| |
| ! calculate gas-to-particle rate constant for uptake of
| |
| ! SO2 onto coarse sea-salt aerosols [Jacob, 2000] analytical solution
| |
| CONST2 = 4.D0/(V*GAMMA_SO2)
| |
| !A2 = (RAD2/DG)+CONST2
| |
| !B2 = (RAD3/DG)+CONST2
| |
| !TERM1B = ((B2**2)/2.0d0) - ((A2**2)/2.0d0)
| |
| !TERM2B = 2.D0*CONST2*(B2-A2)
| |
| !TERM3B = (CONST2**2)*LOG(B2/A2)
| |
| !KT2 = 4.D0*PI*N2*(DG**3)*(TERM1B - TERM2B + TERM3B)
| |
| KT2 = SA2/((R2/DG) + CONST2)
| |
| KT = KT1 + KT2
| |
|
| |
| !----------------------------------
| |
| ! HNO3 uptake onto fine particles
| |
| !----------------------------------
| |
|
| |
| ! calculate gas-to-particle rate constant for uptake of
| |
| ! HNO3 onto fine sea-salt aerosols [Jacob, 2000] analytical solution
| |
| CONST1N = 4.D0/(V*GAMMA_HNO3)
| |
| !A1N = (RAD1/DG)+CONST1N
| |
| !B1N = (RAD2/DG)+CONST1N
| |
| !TERM1AN = ((B1N**2)/2.0d0) - ((A1N**2)/2.0d0)
| |
| !TERM2AN = 2.D0*CONST1N*(B1N-A1N)
| |
| !TERM3AN = (CONST1N**2)*LOG(B1N/A1N)
| |
| !KT1N = 4.D0*PI*N1*(DG**3)*(TERM1AN - TERM2AN + TERM3AN)
| |
| KT1N = SA1/((R1/DG) + CONST1N)
| |
|
| |
| !----------------------------------
| |
| ! HNO3 uptake onto coarse particles
| |
| !----------------------------------
| |
|
| |
| ! calculate gas-to-particle rate constant for uptake of
| |
| ! HNO3 onto coarse sea-salt aerosols [Jacob, 2000] analytical solution
| |
| CONST2N = 4.D0/(V*GAMMA_HNO3)
| |
| !A2N = (RAD2/DG)+CONST2N
| |
| !B2N = (RAD3/DG)+CONST2N
| |
| !TERM1BN = ((B2N**2)/2.0d0) - ((A2N**2)/2.0d0)
| |
| !TERM2BN = 2.D0*CONST2N*(B2N-A2N)
| |
| !TERM3BN = (CONST2N**2)*LOG(B2N/A2N)
| |
| !KT2N = 4.D0*PI*N2*(DG**3)*(TERM1BN - TERM2BN + TERM3BN)
| |
| KT2N = SA2/((R2/DG) + CONST2N)
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 15:22, 3 August 2015 (UTC)
| |
|
| |
| === Bug fix for NEI2005 SO4 emissions in sulfate_mod.F ===
| |
|
| |
| <span style="color:green">'''''This update was included as a last-minute fix in [[GEOS-Chem v9-02]] (public release 03 Mar 2014).'''''</span>
| |
|
| |
| <span style="color:red">'''''This code was removed from [[GEOS-Chem v10-01]] and newer versions. EPA NEI 2005 emissions are now implemented via the [[HEMCO|HEMCO emissions component]].'''''</span>
| |
|
| |
| Please see [[EPA/NEI05_North_American_emissions#Bug_fix_for_NEI2005_SO4_emissions_in_sulfate_mod.F|this post on our ''EPA/NEI05 North American emissions'' wiki page]] for more a complete description of the issue.
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] 12:15, 13 December 2013 (EST)
| |
|
| |
| === Updated THNO3.geos4.4x5 file ===
| |
|
| |
| '''''[mailto:jaegle@atmos.washington.edu Lyatt Jaegle] wrote:'''''
| |
|
| |
| :I was trying to run GEOS-Chem (v8-01-03) in the offline aerosol mode with GEOS-4 met fields and ran into a problem: it seems that the offline file <tt>GEOS_4x5/sulfate_sim_200508/offline/THNO3.geos4.4x5</tt> is in units of ppbv instead of v/v as expected in routine <tt>GET_HNO3_UGM3</tt>. This leads to issues in RPMARES which thinks that HNO3 is very large. I checked all the other files, and they are in v/v, as expected.
| |
|
| |
| '''''[mailto:yantosca@seas.harvard.edu Bob Yantosca] wrote:'''''
| |
|
| |
| :Thanks Lyatt. I've downloaded the file and updated the README in the GEOS_4x5/sulfate_sim_200508/offline directory.
| |
|
| |
| --[[User:Bmy|Bob Y.]] 14:19, 24 April 2009 (EDT)
| |
|
| |
| === Fix for mass balance of HNO3 and NIT ===
| |
|
| |
| <span style="color:green">'''''NOTE: This fix is was standardized in [[GEOS-Chem v8-01-02]].'''''</span>
| |
|
| |
| '''''[mailto:beckya@atmos.washington.edu Becky Alexander] wrote:'''''
| |
|
| |
| :We need to make a change in sulfate_mod in order to have mass balance for HNO3 and NIT. Duncan Fairlie noticed the bug. There is a simple change:
| |
|
| |
| :In routine <tt>SEASALT_CHEM</tt> in <tt>sulfate_mod.f</tt>: In order to have mass balance, you need to change:
| |
|
| |
| !HNO3 lost [eq/timestep] converted back to [v/v/timestep]
| |
| HNO3_ss = TITR_HNO3 * 0.063 * TCVV(IDTHNO3)/AD(I,J,L)
| |
|
| |
| :to:
| |
|
| |
| !HNO3 lost [eq/timestep] converted back to [v/v/timestep]
| |
| HNO3_ss = HNO3_SSC * 0.063 * TCVV(IDTHNO3)/AD(I,J,L)
| |
|
| |
| :In my original code where I added isorropia and the new tracers, NITs and SO4s, the line above:
| |
|
| |
| !HNO3 lost [eq/timestep] converted back to [v/v/timestep]
| |
| HNO3_ss = TITR_HNO3 * 0.063 * TCVV(IDTHNO3)/AD(I,J,L)
| |
|
| |
| :is appropriate as long as you also have <tt>PNIT</tt> (analogous to <tt>PNITs</tt>). <tt>PNIT</tt> is in my original code where I did all my mass balance testing. <tt>PNIT</tt> got dropped when going to the standard version. I don't recall dropping this, but my guess is that I decided it was redundant to have it when isorropia would just repartition HNO3 and NIT anyway according to thermodynamic equilibrium. But when dropping <tt>PNIT</tt>, you have to change <tt>TITR_HNO3</tt> to <tt>HNO3_SSC</tt> in the above equation in order to achieve mass balance.
| |
|
| |
| --[[User:Bmy|Bob Y.]] 16:36, 19 February 2010 (EST)
| |
|
| |
| === Fix for sulfate production in HET_DROP_CHEM ===
| |
|
| |
| <span style="color:green">'''''This fix was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span>
| |
|
| |
| '''''Qianjie Chen wrote:'''''
| |
|
| |
| <blockquote>I want to report a bug in the sulfate module of GEOS-Chem.
| |
|
| |
| The bug is in the <tt>HET_DROP_CHEM</tt> subroutine. It results in too much sulfate production in the Yuen et al. 1996 parameterization (the <tt>SR</tt>), i.e. too much sulfate produced from ozone over the ocean. Below shows how we can fix it:
| |
|
| |
| (1) The calculation of <tt>NDss</tt> should multiply by 1.0D-6, to make it with the unit of #/cm3 air.</blockquote>
| |
|
| |
| NDss = ((3.d0/4.d0) * CNss ) /
| |
| & (PI * SS_DEN * RG_S**3.d0 * exp( (9.d0/2.d0) *
| |
| & (LOG(SIG_S)) ** 2.d0 ) )<span style="color:green">*1.d-6</span>
| |
|
| |
| <blockquote>(2) The updraft velocity over the ocean "W" of 500 cm/s is too high. We should get it from the met field:</blockquote>
| |
|
| |
| W = -OMEGA(I,J,L)/(AIRDEN(L,I,J)*grav)*100
| |
|
| |
| Then add the following:
| |
|
| |
| REAL*8, PARAMETER :: grav = 9.80665d0
| |
| REAL*8, POINTER :: OMEGA(:,:,:)
| |
| AIRDEN => State_Met%AIRDEN
| |
| OMEGA => State_Met%OMEGA
| |
| NULLIFY( OMEGA )
| |
| NULLIFY( AIRDEN )
| |
|
| |
| <blockquote>(3) To be consistent with Yuen et al. (1996), we should compute SR only when air parcel rises, i.e. W>0. Thus,</blockquote>
| |
|
| |
| <span style="color:green">IF (W>0d0) THEN</span>
| |
|
| |
| ! additional sulfate production that can be attributed to
| |
| ! ozone [ug/m3/timestep]
| |
| SR = DSVI - B
| |
|
| |
| ! Convert SR from [ug/m3/timestep] to [v/v/timestep]
| |
| SR = SR *TCVV(IDTSO4) * 1.D-9 / AIRDEN(L,I,J)
| |
|
| |
| ! Don't allow SR to be negative
| |
| SR = MAX( SR, 0.d0 )
| |
|
| |
| ! Don't produce more SO4 than SO2 available after AQCHEM_SO2
| |
| SR = MIN( SR, SO2_sr )
| |
|
| |
| <span style="color:green">ELSE
| |
| SR = 0d0
| |
| ENDIF</span>
| |
|
| |
| <blockquote>(4) In order to get OMEGA, we make the following changes:</blockquote>
| |
|
| |
| ## a6_read_mod.f ###
| |
|
| |
| - get_a6_fields
| |
|
| |
| Add: (line 608)
| |
| & OMEGA = State_Met%OMEGA,
| |
|
| |
| Add: (line 694)
| |
| & OMEGA = State_Met%OMEGA)
| |
|
| |
| - read_a6
| |
|
| |
| change:
| |
| SUBROUTINE READ_A6( NYMD, NHMS,
| |
| & CLDF, CLDMAS, CLDTOPS, CMFMC,
| |
| ......
| |
| & ZMMD, ZMMU, T_FULLGRID)
| |
| into:
| |
| SUBROUTINE READ_A6( NYMD, NHMS,
| |
| & CLDF, CLDMAS, CLDTOPS, CMFMC,
| |
| ......
| |
| & ZMMD, ZMMU, T_FULLGRID,OMEGA)
| |
|
| |
| Add: (line 985)
| |
| REAL*8, INTENT(OUT), OPTIONAL :: OMEGA(IIPAR,JJPAR,LLPAR)
| |
|
| |
| In "CASE ( 'OMEGA' )"
| |
| change:
| |
| IF ( CHECK_TIME( XYMD, XHMS, NYMD, NHMS ) ) THEN
| |
| NFOUND = NFOUND + 1
| |
| into:
| |
| IF ( CHECK_TIME( XYMD, XHMS, NYMD, NHMS ) ) THEN
| |
| IF ( PRESENT( OMEGA ) ) CALL TRANSFER_3D( D, OMEGA )
| |
| NFOUND = NFOUND + 1
| |
|
| |
| Add: (line 1811)
| |
| ! GEOS-5 OMEGA
| |
| IF ( PRESENT( OMEGA ) ) THEN
| |
| AD66(:,:,1:LD66,7) = AD66(:,:,1:LD66,7) + OMEGA(:,:,1:LD66)
| |
| ENDIF
| |
|
| |
|
| |
| ### gigc_stat_met_mod.f ###
| |
| Add: (line 170)
| |
| REAL*8, POINTER :: OMEGA (:,:,:) ! Updraft velocity [Pa/s]
| |
|
| |
| Add: (line 691)
| |
| ALLOCATE( State_Met%OMEGA ( IM, JM, LM ), STAT=RC )
| |
| IF ( RC /= GIGC_SUCCESS ) RETURN
| |
| State_Met%OMEGA = 0.d0
| |
|
| |
| Add: (line 971)
| |
| IF ( ASSOCIATED( State_Met%OMEGA )) DEALLOCATE( State_Met%OMEGA )
| |
|
| |
|
| |
| ### CMN_DIAG_mod.f ###
| |
| change:
| |
| INTEGER, PARAMETER :: PD66=6
| |
| into:
| |
| INTEGER, PARAMETER :: PD66=7
| |
|
| |
|
| |
| ### gamap_mod.f ###
| |
| change: (line 6721)
| |
| NTRAC(66) = 6
| |
| into:
| |
| NTRAC(66) = 7 !(qjc, 11/13/15) add OMEGA, vertical velocity
| |
|
| |
| Add: (line 6755)
| |
| CASE( 7 ) ! (qjc, 11/13/15) add OMEGA, vertical velocity
| |
| NAME(T,66) = 'OMEGA'
| |
| UNIT(T,66) = 'Pa/s'
| |
|
| |
| ### diag3.f ###
| |
| Add: (line 4130)
| |
| ! OMEGA
| |
| CASE( 7 )
| |
| SCALEX = SCALE_ND66
| |
| UNIT = 'Pa/s'
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:08, 2 February 2017 (UTC)
| |
|
| |
| === Fix error in production of SO4s, NITs in SEASALT_CHEM routine ===
| |
|
| |
| <span style="color:green">'''''This fix was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span>
| |
|
| |
| Prasad Kasibhatla reported an issue in the production of SO4 and NITs in routine <tt>SEASALT_CHEM</tt> (in <tt>GeosCore/sulfate_mod.F</tt>) due to a unit conversion error.
| |
|
| |
| '''''[[User:Psk9|Prasad Kasibhatla]] wrote:'''''
| |
|
| |
| <blockquote>The problem is that in going from v/v to equivalents and back to v/v in rather than doing it the straightforward way as you say, 2 molecular weights are used each time. The way the conversion is done is:
| |
|
| |
| Before calculating the production of SO4s or NITs</blockquote>
| |
|
| |
| equivalents = v/v <span style="color:red">* (mol wt of SO2 or HNO3)
| |
| / (mol wt of air)</span>
| |
| * mass of air in grid
| |
| / (mol wt of SO2 or HNO3)
| |
| * (2 for SO2 or 1 for HNO3 )
| |
|
| |
| <blockquote>and then in calculating the production of SO4s or NITs</blockquote>
| |
|
| |
| v/v = equivalents * (mol wt of SO4s or NITs)
| |
| <span style="color:red">* (mol wt of air)
| |
| / (mol wt of SO4s or NITs)</span>
| |
| / mass of air in grid
| |
| / (2 for SO2 or 1 for HNO3)
| |
|
| |
| <blockquote>So the problem is the difference in the terms highlighted in <span style="color:red">RED</span>, which correspond to the <code>TCVV</code> factors that have been used in GEOS-Chem unit conversions.
| |
|
| |
| Btw, I think this affects SO4 too because uptake of SO2 on fine mode seasalt is considered to produces SO4 (and not SO4s). And also, uptake of HNO3 on fine mode seasalt is not accounted for either as a loss of HNO3 or a gain of NIT or NITs.</blockquote>
| |
|
| |
| '''''[[User:bmy|Bob Yantosca]] replied:'''''
| |
|
| |
| <blockquote>Older GEOS-Chem versions used the <code>TCVV</code> factor (MW of air / MW of species) in the equations. In [[GEOS-Chem v11-01]], we removed all instances of <code>TCVV</code> and replaced them with direct coding (e.g. <code>TCVV(IDTSO2)</code> became <code>AIRMW / MW_SO2</code>, etc.
| |
|
| |
| Further complicating matters is that the equations in routine <tt>SEASALT_CHEM</tt> uses hardwired molecular weights (e.g. <tt>0.064</tt> kg/mole, <tt>0.096</tt> kg/mole) as well.
| |
|
| |
| This bug appears to have arisen due to two factors:
| |
|
| |
| #Removing <code>TCVV</code>, and
| |
| #[[Sulfate_aerosols#Give_SO4s_and_NITs_the_same_molecular_weight_as_SALC|Changing the molecular weight of SO4s and NITs species to 31.4 g/mole (in v11-01e)]], as per [http://www.atmos.washington.edu/blog/beckya/becky-alexander/ '''Becky Alexander's'''] recommendation:
| |
|
| |
| <blockquote>The reason to use the molecular weight of sea salt for NITs and SO4s is that these tracers are internally mixed with sea salt aerosol, so their deposition fluxes should be identical to course-mode sea salt aerosol.</blockquote>
| |
|
| |
| To illustrate the issue, we list below the lines in the code where the production of SO4s and NITs are computed (skipping other lines for clarity) in [[GEOS-Chem v9-02|v9-02]], [[GEOS-Chem v10-01|v10-01]], and [[GEOS-Chem v11-01|v11-01]].
| |
|
| |
| </blockquote>
| |
|
| |
| #############################################################
| |
| #### Production of NITs, computed at end of SEASALT_CHEM ####
| |
| #### Other terms have been omitted for clarity ####
| |
| #############################################################
| |
|
| |
| In v9-02:
| |
|
| |
| !SO4F produced converted from [eq/timestep] to [v/v/timestep]
| |
| PSO4F = SO4F * <span style="color:red">0.096 * TCVV(IDTSO4S)</span> /
| |
| & AD(I,J,L) / 2.0d0
| |
|
| |
| <span style="color:red">Correct, because the MW of SO4s = 96 g/mole.</span>
| |
|
| |
| In v10-01:
| |
|
| |
| !SO4F produced converted from [eq/timestep] to [v/v/timestep]
| |
| PSO4F = SO4F * <span style="color:green">0.096 * TCVV(IDTSO4S)</span> /
| |
| & AD(I,J,L) / 2.0e+0_fp
| |
|
| |
| <span style="color:green">Correct, because the MW of SO4s = 96 g/mole.</span>
| |
|
| |
| In v11-01:
| |
|
| |
| !SO4F produced converted from [eq/timestep] to [v/v/timestep]
| |
| PSO4F = SO4F * <span style="color:purple">0.096 * ( AIRMW / MW_SO4S )</span> /
| |
| & AD(I,J,L) / 2.0e+0_fp
| |
|
| |
| <span style="color:purple">Incorrect, because the MW of SO4s = 31.4 g/mole, not 96 g/mole.</span>
| |
|
| |
| #############################################################
| |
| #### Production of NITs, computed at end of SEASALT_CHEM ####
| |
| #### Other terms have been omitted for clarity ####
| |
| #############################################################
| |
|
| |
| In v9-02:
| |
|
| |
| ! NITS produced converted from [eq/timestep] to [v/v/timestep]
| |
| PNITs(I,J,L) = HNO3_SSC * <span style="color:red">0.063 * TCVV(IDTNITS)</span> / AD(I,J,L)
| |
|
| |
| <span style="color:red">Correct, because the MW of NITs = 63 g/mole.</span>
| |
|
| |
| In v10-01:
| |
|
| |
| ! NITS produced converted from [eq/timestep] to [v/v/timestep]
| |
| PNITs(I,J,L) = HNO3_SSC * <span style="color:green">0.063 * TCVV(IDTNITS)</span> / AD(I,J,L)
| |
|
| |
| <span style="color:green">Correct, because the MW of NITs = 63 g/mole.</span>
| |
|
| |
| In v11-01:
| |
|
| |
| ! NITS produced converted from [eq/timestep] to [v/v/timestep]
| |
| PNITs(I,J,L) = HNO3_SSC * <span style="color:purple">0.063 * ( AIRMW / MW_NITS )</span> / AD(I,J,L)
| |
|
| |
| <span style="color:purple">Incorrect, because the MW of NITs = 31.4 g/mole, not 63 g/mole.</span>
| |
|
| |
| <blockquote>'''Becky Alexander''' had also written:
| |
|
| |
| <blockquote>However, for this particular unit conversion going from molar equivalents to v/v, the calculation should use the molecular weight of HNO3 for mass balance. I see in the wiki that the unit conversion used to use <code>TCVV(HNO3)</code>. In v10 it uses <code>TCVV(NITS)</code>. I don't know when this change happened, but it should not have (though the difference is minor, only 1 g/mole). However, for v11, it is definitely a factor of 2 off if you use the molecular weight of seasalt to convert NITS from molar equivalents to v/v. This should be fixed in v11. This unit conversion should use <code>TCVV(HNO3)</code>.</blockquote>
| |
|
| |
| Therefore, to fix this bug, one could do the following:
| |
|
| |
| # Use <code>0.096 * ( AIRMW / MW_SO4 )</code> in the equation for <code>PSO4F</code>
| |
| # Use <code>0.063 * ( AIRMW / MW_NIT )</code> in the equation for <code>PNITs</code>
| |
|
| |
| But an even better solution (and the one we will follow) is to rewrite the various equations to remove all references to hardwired molecular weights, as shown below:
| |
| </blockquote>
| |
|
| |
| SO2_eq = ( ( 2.0_fp * SO2_cd * AD(I,J,L) ) / AIRMW ) * 1000.0_fp
| |
|
| |
| HNO3_eq = ( ( HNO3_vv * AD(I,J,L) ) / AIRMW ) * 1000.0_fp
| |
|
| |
| SO2_ss = ( SO2_chem * AIRMW / AD(I,J,L) ) / 2000.0_fp
| |
|
| |
| PSO4E = ( SO4E * AIRMW / AD(I,J,L) ) / 2000.0_fp
| |
|
| |
| PSO4F = ( SO4F * AIRMW / AD(I,J,L) ) / 2000.0_fp
| |
|
| |
| HNO3_ss = ( HNO3_SSC * AIRMW / AD(I,J,L) ) / 1000.0_fp
| |
| and
| |
| HNO3_ss = ( TITR_HNO3 * AIRMW / AD(I,J,L) ) / 1000.0_fp
| |
|
| |
| PNITS(I,J,L) = ( HNO3_SSC * AIRMW / AD(I,J,L) ) / 1000.0_fp
| |
|
| |
| <blockquote>Furthermore, we can take this opportunity to remove the hardwired molecular weights for SO4 and HNO3 by rewriting these equations as well:</blockquote>
| |
|
| |
| C_FLUX_A = ( 2.0_fp * F_SO2_A * AD(I,J,L) / AIRMW ) * 1000.0_fp
| |
|
| |
| C_FLUX_C = ( 2.0_fp * F_SO2_C * AD(I,J,L) / AIRMW ) * 1000.0_fp
| |
|
| |
| N_FLUX_A = ( F_HNO3_A * AD(I,J,L) / AIRMW ) * 1000.0_fp
| |
|
| |
| N_FLUX_C = ( F_HNO3_C * AD(I,J,L) / AIRMW ) * 1000.0_fp
| |
|
| |
| --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:33, 10 February 2017 (UTC)
| |
|
| |
| === Fix bug in CHEM_NIT routine ===
| |
|
| |
| <span style="color:green">'''''This fix was included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span>
| |
|
| |
| '''''[[User:psk9|Prasad Kasibhatla]] wrote:'''''
| |
|
| |
| <blockquote>I am wondering if there is a small bug in <tt>CHEM_NIT</tt>. I think the nitrate uptake on fine sea salt (the line displayed in <span style="color:green">GREEN</span>)</blockquote>
| |
|
| |
| ! Fraction of box (I,J,L) underneath the PBL top [unitless]
| |
| F_UNDER_TOP = GET_FRAC_UNDER_PBLTOP( I, J, L )
| |
|
| |
| ! Only apply drydep to boxes w/in the PBL
| |
| IF ( F_UNDER_TOP > 0e+0_fp ) THEN
| |
|
| |
| !===========================================================
| |
| ! NITs chemistry
| |
| !===========================================================
| |
|
| |
| <span style="color:green">! NIT prod from HNO3 uptake on fine sea-salt [v/v/timestep]
| |
| NITs = NIT0s + PNITs(I,J,L)</span>
| |
|
| |
| ! Store final concentration in Spc [v/v]
| |
| Spc(I,J,L,id_NITs) = NITs
| |
|
| |
| ENDIF
| |
|
| |
| <blockquote>should be done throughout the troposphere and not just in the PBL. The PBL check seems to be a legacy from when dry dep was done in <tt>CHEM_NIT</tt>. I am guessing that even if this is a bug, it is a very small bug because <code>PNITs</code> should be quite small outside the marine PBL.</blockquote>
| |
|
| |
| --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:43, 25 January 2017 (UTC)
| |
|
| |
| === Fix bugs in sulfate chemistry routines ===
| |
|
| |
| <span style="color:green">'''''These fixes were included in [[GEOS-Chem v11-02#v11-02a|v11-02a]] and approved on 12 May 2017.'''''</span>
| |
|
| |
| '''''Viral Shah wrote:'''''
| |
|
| |
| <blockquote>I am running [[GEOS-Chem v10-01]] in the full chemistry configuration with GEOS-FP met fields, and focusing on the sulfate aerosol simulation in Feb and March over the U.S. While diagnosing the cause for low modeled sulfate concentrations compared to surface observations, I found three bugs in sulfate_mod.F. These are present in the public release of [[GEOS-Chem v11-01]] too, and the line numbers below refer to v11-01.
| |
|
| |
| 1. HNO3 effective Henry's law coefficient
| |
|
| |
| '''Module:''' <tt>sulfate_mod.F</tt><br>
| |
| '''Function:''' <tt>kHNO3</tt>
| |
| {| border=1 cellspacing=0 cellpadding=5
| |
| |-bgcolor="#CCCCCC"
| |
| !width="50px"|Line
| |
| !width="400px"|Original code
| |
| !width="400px"|Recommended fix
| |
| |-valign="top"
| |
| |<tt>5087</tt> ||<tt>Hhno3eff = 3.2e6/HPLUS</tt> ||<tt>Hhno3eff = Hhno3_T*(1.0e+0_fp+(Kn1_T/HPLUS))</tt>
| |
| |}
| |
|
| |
| The original expression is valid for 298K (Seinfeld and Pandis 2006, pp:299-301), and Kn1 has a strong temperature dependence. The recommended fix follows Eq. 7.59 of Seinfeld and Pandis (2006, pp 301). This error was resulting in a low cloud water pH (< 3) over the Arctic and other NH mid-latitude cold regions in Feb-Mar, and affecting sulfate production rates.
| |
|
| |
| 2. ∆H/R parameter
| |
|
| |
| '''Module:''' <tt>sulfate_mod.F</tt><br>
| |
| '''Functions:''' <tt>kCO21, kCO22, kSO21, kSO22, kNH3</tt>
| |
| {| border=1 cellspacing=0 cellpadding=5
| |
| |-bgcolor="#CCCCCC"
| |
| !width="10px"|Function
| |
| !width="50px"|Line
| |
| !width="400px"|Original code
| |
| !width="600px"|Recommended fix
| |
| |-valign="top"
| |
| |<tt>kCO21</tt> ||<tt>4809</tt> ||<tt>REAL(fp), PARAMETER :: Dhco2 = -4.85/0.04</tt> ||<tt>REAL(fp), PARAMETER :: Dhco2 = 4.85e+0_fp/1.986e-3_fp</tt>
| |
| |-valign="top"
| |
| |<tt>kCO22</tt> ||<tt>4875</tt> ||<tt>REAL(fp), PARAMETER :: Dhco2 = -4.85/0.04</tt> ||<tt>REAL(fp), PARAMETER :: Dhco2 = 4.85e+0_fp/1.986e-3_fp</tt>
| |
| |-valign="top"
| |
| |<tt>kSO21</tt> ||<tt>4940</tt> ||<tt>REAL(fp), PARAMETER :: Dhso2 = -6.25/0.04</tt> ||<tt>REAL(fp), PARAMETER :: Dhso2 = 6.25+0_fp/1.986e-3_fp</tt>
| |
| |-valign="top"
| |
| |<tt>kSO22</tt> ||<tt>5005</tt> ||<tt>REAL(fp), PARAMETER :: Dhso2 = -6.25/0.04</tt> ||<tt>REAL(fp), PARAMETER :: Dhso2 = 6.25+0_fp/1.986e-3_fp</tt>
| |
| |-valign="top"
| |
| |<tt>kNH3</tt> ||<tt>5190</tt> ||<tt>REAL(fp), PARAMETER :: Dhnh3 = -8.17/0.04</tt> ||<tt>REAL(fp), PARAMETER :: Dhnh3 = 8.17+0_fp/1.986e-3_fp</tt>
| |
| |}
| |
|
| |
| The above values are from Table 7.3 of Seinfeld and Pandis (2006, pp 289), but the values here should be positive for consistency with the way they are used in the respective functions. Secondly, the value of R, in units of kcal mol-1 K-1, is 1.986x10^-3, not 0.04.
| |
|
| |
| 3. LWC units
| |
|
| |
| '''Module:''' <tt>sulfate_mod.F</tt><br>
| |
| '''Subroutine:''' <tt>CHEM_SO2</tt>
| |
| {| border=1 cellspacing=0 cellpadding=5
| |
| |-bgcolor="#CCCCCC"
| |
| !width="50px"|Line
| |
| !width="400px"|Original code
| |
| !width="400px"|Recommended fix
| |
| |-valign="top"
| |
| |<tt>3244</tt> ||<tt>ELSEIF( LWC < 0.1e+6_fp ) THEN<br>!10^6 coversion from m3/m3 --> g/m3</tt> ||<tt>ELSEIF( LWC < 0.1e-6_fp ) THEN<br>!10^-6 coversion from g/m3 --> m3/m3</tt>
| |
| |-valign="top"
| |
| |<tt>3250</tt> ||<tt>IF ( LWC >= 0.3e+6_fp .and.</tt> || <tt>IF ( LWC >= 0.3e-6_fp</tt>
| |
| |-valign="top"
| |
| |<tt>3255</tt> ||<tt>& LWC >= 0.5e+6_fp .and.</tt>||<tt>& LWC >= 0.5e-6_fp .and.</tt>
| |
| |-valign="top"
| |
| |<tt>3258</tt> ||<tt>IF ( LWC >= 0.1e+6_fp .and.</tt> ||<tt>IF ( LWC >= 0.1e-6_fp .and. </tt>
| |
| |-valign="top"
| |
| |<tt>3261</tt> ||<tt>ELSEIF( LWC >= 0.1e+6_fp ) THEN</tt> ||<tt>ELSEIF( LWC >= 0.1e-6_fp ) THEN</tt>
| |
| |-valign="top"
| |
| |<tt>3309</tt> ||<tt>ELSEIF ( LWC >= 0.3d6 ) THEN</tt> ||<tt>ELSEIF ( LWC >= 0.3e-6_fp ) THEN</tt>
| |
| |-valign="top"
| |
| |<tt>3345</tt> ||<tt>ELSEIF ( LWC >= 0.5e+6_fp ) THEN</tt> ||<tt>ELSEIF ( LWC >= 0.5e-6_fp ) THEN</tt>
| |
| |}
| |
|
| |
| There was an error in unit conversion. We are comparing LWC (m3/m3) with X (g/m3) or X*10^-6 (m3/m3).</blockquote>
| |
|
| |
| The impacts of these updates are summarized below.
| |
|
| |
| '''''Viral Shah wrote:'''''
| |
|
| |
| <blockquote>The effects of my proposed fixes are a bit more pronounced during the NH winter. The plots show significant increases in sulfate concentrations over large areas of the NH. The SO4 increases are accompanied by decreases in NIT in some areas. The increase in SO4 in the cold areas of NH is mostly because of the correction to HNO3 effective Henry's law coefficient that leads to higher cloud water pH (between 4 and 5) and higher production by in-cloud oxidation by O3. The lower SO4 concentrations in the SH are probably due to the fix to ∆H/R parameter. Also note that these plots do not include the effects of fix #3 (LWC units), but I expect those effects to be relatively small.</blockquote>
| |
|
| |
| --[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:59, 22 March 2017 (UTC)
| |
|
| |
| == Unresolved issues ==
| |
|
| |
| None at this time.
| |