Boundary layer mixing

From Geos-chem
Revision as of 15:49, 29 October 2019 by Bmy (Talk | contribs)

Jump to: navigation, search

This page describes the planetary boundary layer mixing options in GEOS-Chem.


At present there are two PBL mixing schemes in GEOS-Chem:

  1. TURBDAY (Dale Allen, U. Maryland): Full PBL mixing. This is contained in source code file pbl_mix_mod.f.
  2. VDIFF (Jintai Lin and Michael McElroy): Non-local PBL mixing scheme. This is contained in the source code files vdiff_pre_mod.f and vdiff_mod.f90.


The TURBDAY mixing scheme is the default PBL mixing scheme in GEOS-Chem. It can be used with all of the versions of the GEOS meteorology (e.g. GEOS-3, GEOS-4, GEOS-5) and with the GISS/GCAP meteorology.

To use TURBDAY, make sure you have the following settings in your input.geos file:

Turn on PBL Mixing?     : T
 => Use non-local PBL?  : F


The TURBDAY algorithm is fairly simple, as described by Wu et al, 2007:

The treatment of boundary layer turbulence is also different in GEOS and GISS. The mixing depth in GEOS is estimated from the bulk Richardson number with surface friction [Holtslag and Boville, 1993] and in the GISS GCM it is estimated on the basis of the vertical profile of turbulent kinetic energy [Canuto, 1994; Canuto et al., 2001]. In either case, GEOS-Chem assumes instantaneous vertical mixing from the surface through the mixing depth [Bey et al., 2001].

Tracer is inputted to the routine in units of mixing ratio [v/v]. The PBL depth and related pressure quantities are taken (or derived) from the met field archive.

At each surface grid box (I,J) location:

  1. The total air mass (AA) within the PBL is computed.
  2. The total mass of each tracer N (CC(N)) underneath the PBL top pressure is computed.
  3. The mean mixing ratio of tracer underneath the PBL top is computed. This is just the quotient CC(N)/AA.
  4. The updated concentrations for each tracer N at grid boxes (I,J,L) underneath the PBL top are computed as:
   TRACER(I,J,L,N),new  = TRACER(I,J,L,N),old + ( DTC(I,J,L,N) / AD(I,J,L) )


   DTC(I,J,L,N) = [ ALPHA * (mean mixing ratio below PBL) * AD(I,J,L) ] 
                - [ ALPHA * TRACER(I,J,L,N),old           * AD(I,J,L) ]
   AD(I,J,L)    = Air mass at grid box (I,J,L)

   ALPHA        = Day/night Mixing coefficients.  
                  These are always 1, for full mixing at all times of day.

   DTC          = is the change in mass (kg) due to BL mixing, therefore:
   DTC/AD       = is the change in (v/v) mixing ratio units. 

--Bob Y. 12:13, 18 February 2010 (EST)


See Bey et al [2001] and Wu et al [2007] below.


The VDIFF scheme is an option in GEOS-Chem. To use VDIFF, make sure you have the following settings in your input.geos file:

Turn on PBL Mixing?     : T
 => Use non-local PBL?  : T


Jintai Lin implemented a 'new' PBL mixing scheme into GEOS-Chem. It is a non-local scheme formulated by Holtslag and Boville (1993). Unlike the full mixing assumption where emissions, dry depositions and concentrations of individual species are evenly distributed in the PBL (the depth of which being taken from meteorological datasets such as GEOS-5), the non-local scheme considers different states of mixing within the PBL as determined by the static instability. In the case of a stable PBL (e.g., in the night), the scheme shrinks to the well known local scheme developed based on the K-theory, and the derived mixing is weak -- much weaker than full-mixing. In the case of an unstable PBL (e.g., in a typical hot summer afternoon), a 'non-local' term is introduced to account for the PBL-wide mixing triggered by large eddies. In a extremely unstable PBL, the magnitude of mixing is close to full-mixing. The non-local scheme has been shown to be able to simulate relatively well mixing of meteorological parameters and chemical tracers under various conditions of PBL, and is more realistic than the assumption of a fully mixed PBL. Analysis of the two schemes is conducted by Lin et al. (2008, AE) and Lin et al. (2010, AE, accepted).

How the non-local scheme works: It first calculates the PBL depth, then eddy diffusivity (K) for tracers. K is used later to derive the mixing of tracers. In current GEOS-Chem setup, however, the PBL height is taken from the meteorological datasets rather than being derived with the scheme in order to enhance the consistency with the meteorological datasets. Nonetheless, the user has the choice of turning on the online calculation of PBL height, which option is provided in the code (vdiff_mod.f).


See Lin & McElroy, 2010 below.


  1. Bey I., D. J. Jacob, R. M. Yantosca, J. A. Logan, B. Field, A. M. Fiore, Q. Li, H. Liu, L. J. Mickley, and M. Schultz, Global modeling of tropospheric chemistry with assimilated meteorology: Model description and evaluation, J. Geophys. Res., 106, 23,073-23,096, 2001. PDF
  2. Canuto, V.M., Large-eddy simulation of turbulence: A subgrid scale model including shear, vorticity, rotation and buoyancy, Astrophys. J., 428, 729–752, 1994.
  3. Canuto, V. M., A. Howard, Y. Cheng, and M. S. Dubovikov, Ocean turbulence, part I: One-point closure model—Momentum and heat vertical diffusivities, J. Phys. Ocean., 31, 1413–1426, 2001.
  4. Holtslag, A.A.M., and B. Boville, Local versus nonlocal boundary layer diffusion in a global climate model, J. Clim.>, 6, 1825–1842, 1993.
  5. Lin, J.-T., D. Youn, X.-Z. Liang, and D. J. Wuebbles: Global model simulation of summertime U.S. ozone diurnal cycle and its sensitivity to PBL mixing, spatial resolution, and emissions, Atmos. Environ., doi:10.1016/j.atmosenv.2008.08.012, August 2008. Link
  6. Lin, J.-T., and M. McElroy, Impacts of boundary layer mixing on pollutant vertical profiles in the lower troposphere: Implications to satellite remote sensing, Atmospheric Environment, doi:10.1016/j.atmosenv.2010.02.009, in press, 2010. PDF

--Bob Y. 14:47, 12 March 2014 (EDT)

Difference between PBLH and mixing depth

The meteorological fields from GEOS provide the depth of the mixed layer (mixing depth), not the planetary boundary layer height (PBLH), even though the variable provided in the files is PBLH. The planetary boundary layer (PBL), is the layer of the atmosphere that interacts with the surface on a time scale of a day or less. The free troposphere has a general slow sinking motion, balancing the few locations where deep convection or frontal lifting injects PBL air to high altitudes. The compressional heating from this sinking air produces a semi-permanent subsidence inversion that caps the PBL and sharply restricts mixing between the PBL and the free troposphere. After sunrise, surface heating erodes the stable residual layer from below, producing an unstable mixed layer that grows over the morning hours to eventually reach the full depth of the PBL. See Brasseur and Jacob (2016) for this discussion and illustrations. When we discuss the PBL height in terms of mixing, what we actually mean is the mixed layer, and that is what is calculated by the online calculation of PBLH (mixed layer) in Holtslag and Boville (1993) or in the GEOS model.

Previous issues that are now resolved

Corrected unit conversion bug in calls to SET_CH3Br, SET_BrO for TURBDAY PBL mixing

NOTE: This issue was added as a last-minute fix to GEOS-Chem v9-02, prior to the official release (01 Mar 2013).

Sebastian Eastham wrote:

I was looking through the code for the CH3Br surface boundary condition and I was a little confused. Shouldn't the final argument in the call to SET_CH3Br in main.F always be .FALSE. rather than ITS_TIME_FOR_UNIT? It looks like ITS_TIME_FOR_UNIT is actually true whenever SET_CH3Br is called, and this results in the v/v being supplied when the kg value is needed for STT (and therefore in near-zero CH3Br at the surface when it should be of the order of 1-10 pptv).

After further investigation, we concluded that this issue only affects full-chemistry simulations using TURBDAY (aka full PBL) mixing. The quick fix is to pass .FALSE. instead of ITS_TIME_FOR_UNIT() to routines SET_CH3Br and SET_BrO. This will ensure that these routines do not overwrite CH3Br and BrO tracers in the boundary layer with a mixing ratio value if the tracers are in kg.

ALSO NOTE: Most GEOS-Chem simulations (including the 1-month and 1-year benchmarks for GEOS-Chem v9-02) use the non-local PBL mixing scheme (aka VDIFF), and are therefore unaffected by this bug.

--Bob Y. 10:20, 5 February 2014 (EST)

Known issues

GEOS-5 PBL heights - diurnal variation of tracers

NOTE: This is a yet-unresolved issue.

Sajeev Philip wrote:

This addition to the wiki is intended to foster discussion and communication about PBL heights in GEOS met fields. Large differences in the diurnal variation in the GEOS-4 and GEOS-5.2.0 PBL heights are affecting the GEOS-Chem simulations.


The animated figure above (from Jeff Pierce and Chris Wainwright) shows a map of the percent change in the PBL height between the GEOS-5 and GEOS-4 met fields (for April 2004), calculated as (GEOS5-GEOS4)/GEOS4*100). The solid black vertical line shows the longitude where the local noon is occurring. GEOS-5 is predicting generally much lower PBL heights than GEOS-4 at night, but higher PBL heights during the day over land.


The figure above shows the mean diurnal variation of PM2.5 concentrations over 588 sites (red line) across the continental US (for 2005 June, GEOS-Chem simulation (v8-03-01) by Aaron van Donkelaar) while using GEOS-5 (blue) and GEOS-4 (green) met fields. We suspect that the large build up of aerosols overnight in GEOS-5 run is related to low PBLH overnight.

-- Sajeev Philip (April 14, 2011)

Updates on GEOS-5 PBL height & diurnal variation of aerosols

This update was tested in the 1-month benchmark simulation v9-02a and approved on 16 Oct 2012. This update is included in Adjoint v35h.

Sajeev Philip wrote:

GEOS-5.2.0 (including MERRA)-driven simulations have a high nighttime bias for aerosols (for both full-mixing and non-local mixing schemes) compared with observations. For the full mixing scheme, the bias arises from the low nighttime PBLH. We correct this by restricting the PBLH from dropping below a minimum mechanical mixing depth, defined as a function of local friction velocity (Koracin and Bberkowicz, 1988; Lin and McElroy, 2010). Figure 1 shows the diurnal variation of PBLH compared with observations from the ARM-Southern Great Plains (black line) site (Liu and Liang, 2010). The nighttime shallow PBLH in GEOS-5 is evident (blue line), which is corrected by this method (red line).
Figure 2 shows the mean diurnal variation of PM2.5 over 115 sites across the continental U.S. (measurements by Beta Attenuation Mass monitors). The threshold on PBLH reduces the diurnal variation and better matches the diurnal variation in the observations. This approach with the full mixing scheme reduces annual mean PM2.5 and NO3- over North America by 15% and 30% respectively. It also reduces the annual mean bias versus observations for PM2.5 (slope changes from 1.47 to 1.09) and NO3- (slope changes from 2.23 to 1.52).
The non-local mixing scheme has an option to recalculate the PBLH online, and it fixes the bias in nighttime PBLH. However, aerosol concentrations are unaffected, partly due to the low sensitivity to PBLH in this scheme. At this time, we recommend use of full mixing scheme with our nocturnal-GEOS-5/MERRA-PBLH-correction.
Add the following correction for GEOS-5.2.0 PBLH to line 1452 in a3_read_mod.F (version 9-01-02):
     ! PBLH must be greater than a minimum mechanical mixing depth,
     ! defined as 700*friction velocity (Koracin and Berkowicz, 1988; Lin and McElroy, 2010)
#if   defined( GEOS_5 ) 
     DO J = 1, JJPAR
     DO I = 1, IIPAR
        PBL(I,J) = max( PBL(I,J), 700d0*USTAR(I,J) )
Add the following correction for MERRA PBLH to line 1081 in merra_a1_mod.F (version 9-01-02):
     ! PBLH must be greater than a minimum mechanical mixing depth,
     ! defined as 700*friction velocity (koracin and berkowicz, 1988; Lin and McElroy, 2010)
     DO J = 1, JJPAR
     DO I = 1, IIPAR
        PBLH(I,J) = max( PBLH(I,J), 700d0*USTAR(I,J) )

  1. Koracin, D. and R. Berkowicz: 1988, Nocturnal Boundary Layer Height: Observations by Acoustic Sounders and Prediction in Terms of Surface Layer Parameters, Boundary-Layer Meteorol. 43, 65-83.
  2. Lin, J. T. and McElroy, M. B.: Impacts of boundary layer mixing on pollutant vertical profiles in the lower troposphere: Implications to satellite remote sensing, Atmos. Environ., 44, 1726–1739, 2010.
  3. Liu, Shuyan and Xin-Zhong Liang, 2010: Observed Diurnal Cycle Climatology of Planetary Boundary Layer Height. J. Climate, 23, 5790–5809.

Figure 1.jpg Figure 2.jpg

-- Sajeev Philip (June 14, 2012)

Update 10/17/12: This update was tested in the 1-month benchmark simulation v9-02a and approved on 16 Oct 2012.

Online PBL height calculation in GEOS-Chem

Sajeev Philip wrote:

Here, we test the online PBL height calculation in GEOS-chem. This scheme is based on the TransCom BLH project (courtesy: Erica McGrath-Spangler and Andrea Molod, GMAO). The PBLH is calculated when bulk Richardson number exceeds a critical value (0.25).
The figure below shows the comparison of Transcom-based PBLH (red line) with default GEOS-5.2 (blue line) and ARM-SGP in situ data (black line). This scheme fixes the bias in nocturnal GEOS-5.2 PBLH.


-- Sajeev Philip (February 19, 2013)

No emissions during first time step when using non-local PBL mixing

The implementation of the HEMCO emissions component (in GEOS-Chem v10-01 and later versions) has fixed this issue.

Chris Holmes wrote:

With non-local PBL mixing, there are *no emissions* during the first mixing and convection time step. Even worse, you can't tell this from the diagnostics, which show emissions as normal. This happens because some emission variables are not initialized until after chemistry runs, so setemis within vdiff_mod can't run. Emissions of all trace gases are affected, at least in v9-01-03. I don't know how long this error has persisted. Resolving this bug requires putting chemistry before PBL mixing in main. For fully decoupling emissions and chemistry code. I tested the reordering solution, but it causes 20% or greater changes in concentration of some species, so I leave this issue to the GCST. The emission and PBL mixing wiki pages should have a warning about this.

--Bob Y. 15:21, 22 August 2014 (EDT)
--Bob Yantosca (talk) 14:20, 22 September 2017 (UTC)

Mass is not conserved when using non-local PBL mixing

The issue

With the implementation of a passive tracer in 1-year benchmark v11-01d-RnPbBe, the GCST discovered that mass was increasing slightly with time when using the non-local PBL mixing scheme.

Date        Mass [Tg]
----------  ----------------
2013/01/01  17.6951535823026
2013/02/01  17.6952400372170
2013/03/01  17.6953201985744
2013/04/01  17.6954107544643
2013/05/01  17.6954991096106
2013/06/01  17.6955944212360
2013/07/01  17.6956836386476
2013/08/01  17.6957701832486
2013/09/01  17.6958543081920
2013/10/01  17.6959382433788
2013/11/01  17.6960175288828
2013/12/01  17.6960924124206
2014/01/01  17.6961678562641

Max mass =  17.6961678562641 Tg
Min mass =  17.6951535823026 Tg
Abs diff =      1.0142739615 Gg
Pct diff =            0.0057 %

When the non-local PBL mixing scheme is turned off and full PBL mixing (TURBDAY) is used, we do not see this increase.

Date              Mass [Tg]
----------        ---------
2013/01/01        17.691099
2013/02/01        17.691099
2013/03/01        17.691099
2013/04/01        17.691099
2013/05/01        17.691099
2013/06/01        17.691099
2013/07/01        17.691099
2013/08/01        17.691099
2013/09/01        17.691099
2013/10/01        17.691099
2013/11/01        17.691099
2013/12/01        17.691099
2014/01/01        17.691099

Max mass =  17.6910989549515 Tg
Min mass =  17.6910989549499 Tg
Abs diff =               1.6 g
Pct diff =            0.0000 %

NOTE: The non-local PBL mixing option is turned on by default in most of the GEOS-Chem v10-01 directories obtained from the GEOS-Chem Unit Tester. The non-local PBL mixing option is turned off by default for the following simulations:

  • All GCAP simulations:
    • gcap_4x5_POPs, gcap_4x5_RnPbBe, gcap_4x5_tropchem
  • All POPs simulations:
    • gcap_4x5_POPs, geos4_4x5_POPs, geos5_2x25_POPs, geos5_4x5_POPs, geosfp_2x25_POPs, geosfp_4x5_POPs, merra_4x5_POPs
  • All CO2 simulations
    • geos5_2x25_CO2, geosfp_2x25_CO2, geos5_2x25_masscons, geosfp_2x25_masscons
  • All TOMAS40 simulations
    • geos5_4x5_TOMAS40, geosfp_4x5_TOMAS40

To avoid problems, we recommend also turning off the non-local PBL mixing option for the following simulations:

  • All CH4 simulations:
    • geos4_4x5_CH4, geos5_05x0666_CH4_na, geos5_2x25_CH4, geos5_4x5_CH4, geosfp_2x25_CH4, geosfp_4x5_CH4, merra_4x5_CH4

This will be the default in the GEOS-Chem v11-01 CH4 run directories.

Please also see this discussion about mass conservation on our Flexible precision in GEOS-Chem wiki page.

--Melissa Sulprizio (talk) 22:20, 9 December 2015 (UTC)
--Bob Yantosca (talk) 14:23, 22 September 2017 (UTC)

The simple fix

This update (Git ID: 57c75178) was included in GEOS-Chem 12.1.0, which was released on 26 Nov 2018.

Jintai Lin wrote:

Basically, I find that the mixing solver in the original code (i.e., the "qvdiff" subroutine in vdiff_mod.F90_org) does not fully conserve the mass. The global total mass difference before and after mixing is on the order of 1e-7 or less, for O3 and NO which I looked at. Thus, this bug is negligible for full chemistry simulations but important for simulations of long-lived species.
My simple bug fix is to scale the mass within the PBL, after the mixing solver. I tested this fix with "Tropchem" simulation for a month (July 2013). As expected, the scaling ensures that the global total mass difference before and after mixing is on the order of 1e-13 or less, similar to the results for advection and convection. The impact on "Tropchem" simulation is negligible after one month (I checked O3, NO and CO).

Chris Holmes wrote:

I tested Jintai’s suggested patch for mass conservation in NLPBL mixing. I used v11-01, MERRA2, 4x5.
First, it is still not clear to me what is causing this mass non-conservation issue in vdiff_mod.F90. I think it’s possible that this is a numerical algorithm issue, such as accumulation of roundoff error in sub-optimal choice of matrix solver. I also think it’s possible that there is a bug, such as not handling wet vs. dry air mass and pressure properly. Or possibly the output species mixing ratios conserve mass consistent with the output thermodynamic profiles calculated by NLPBL, but we are using the MERRA2 met fields and not allowing NLPBL to modify the thermodynamics. These are all guesses, however. While I looked for issues with wet and dry mass, the code is complex enough that it would take a very long time to thoroughly investigate all of these possibilities.
I confirm that Jintai’s patch significantly improves mass conservation. Before the fix, the fractional change in mass is 1e-9 on each mixing time step. Ideally the fractional change would be zero. After the fix, the fractional change in global mass is order 1-5e-13. This is similar to the fractional change in mass during transport, which should also be zero. The fractional mass change is an order of magnitude better in the full mixing PBL scheme (1e-14) and in convection (1e-14).
Jintai’s fix works by uniformly scaling mixing ratios in the boundary layer to match the initial total mass. The side effect is that it slightly increases vertical diffusion in the PBL, but I don’t think that is a serious problem, since the additional mixing induced by scaling should be small compared to the intended mixing. The remaining mass conservation errors after Jintai’s fix are acceptable. With fractional errors of 1e-13 per time step, the mass error from NLPBL should remain below 1% for all simulations shorter than many millions of years. [Just don’t use GEOS-Chem to simulate the entire earth history.]
With this fix, I think it is acceptable to use NLPBL for all gases in GEOS-Chem, so I don’t think we need to make any recommendation for CO2 or CH4.

--Melissa Sulprizio (talk) 14:22, 27 August 2018 (UTC)
--Bob Yantosca (talk) 16:09, 26 November 2018 (UTC)