Skip to content

Verification of time integration for semi-volatile SOA species

Time convergence test of the calculation of SOA gas precursor and SOA.

Test code can be found in the mam_refactor code repository under standalone/tests/gasaerexch/.

Test design

Tests are set up to verify the convergence of SOA gas precursor and SOA in MAM. In MAM, the dynamic substepping is used to solve the governing equation of SOA gas precursor condensation where saturation vapor pressure of SOA gas precursor evolves with mass concentration of SOA. The size of the substep is controlled by an error control parameter. The uptake rate of SOA gas precursor is proportional to the uptake rate of sulfuric acid gas, which remains constant during the simulation in MAM.

Two aspect will be tested to verify the convergence of SOAgas precursor and SOA:

  • Different error control parameters will be selected in the test.
  • The uptake rate of SOA gas precursor will be updated at every timestep.

Test driver

The test driver file is skywalker_gasaerexch_timestep.F90 and skywalker_gasaerexch_timestep_update.F90 in the mam_refactor code repository, located under standalone/tests/gasaerexch/

The time integration of SOA gas precursor and SOA is implemented under core/modal_aero_soaexch.F90 mam_soaexch_1subarea subroutine. Because the non-volatile species and semi-volatile species are calculated seperatedly in the mam_gasaerexch_1subarea subroutine and uptake rate need to be derived before the time integration, tests are conducted on the mam_gasaerexch_1subarea subroutine.

  • In skywalker_gasaerexch_timestep.F90 test driver, we test on case where uptake rate remains constant for each timestep.
  • In skywalker_gasaerexch_timestep_update.F90 test driver, we test on case where dry diameter of aerosol is updated according to the current aerosol concentration, namely uptake rate is updated every timestep as the uptake rate calculation depends on aerosol size.
  • Another set of tests is conducted by changing substepping error control parameter.

Input parameters

  • Input parameters are specified using YAML files stored in the mam_x_validation repository. The YAML files are imported to each clone of the mam_refactor repository as part of a submodule. The YAML files for the tests described on this page are located under standalone/tests/mam_x_validation/gasaerexch/gasaerexch_timeconvergence.yaml and standalone/tests/mam_x_validation/gasaerexch/gasaerexch_timeconvergence_update.yaml

  • Different pressure, temperature and timesteps are used to generate input ensembles. Details are below:

Input ensemble

Variable Range
Temperature(K) 180, 200, 233, 273, 298
Pressure(Pa) 1000, 100000
Timestep(s) 0.1, 1, 2, 4, 10, 50, 100, 300, 900, 1800
Substepping error control parameter 0.05, 0.001
  • Because the concentration of SOA gas precursor will deplete within 30min simulation time. A production rate of 10 ppb/timestep SOA gas precursor is assigned in the test to ensure the consistent production of SOA from SOA gas precursor condensation. Time series plot of SOA gas precursor and SOA without(Figure S1) and with(Figure S2) SOA gas precursor production are shown here.

Test output

After executing the verification tests, the output data and plots can be found in your build directory under standalone/tests/gasaerexch/.

The plots are generated using the script standalone/tests/mam_x_validation/gasaerexch/plot_gasaerexch_timestep.py and standalone/tests/mam_x_validation/gasaerexch/plot_gasaerexch_timestep_update.py.

Reference results

Figure 1 shows the result of time convergence test for SOA gas precursor and SOA without stepwise uptake rate update and 0.05 error control parameter. X-axis denotes the timestep and y-axis is the relative error. No convergence shows and have large SOA gas precursor errors.

fig

Figure 1. Relative error of the time convergence test for SOA gas precursor and SOA without stepwise uptake rate update and 0.05 tolerance parameter.

Figure 2 shows the result of time convergence test for SOA gas precursor and SOA with stepwise uptake rate update and 0.05 error control parameter. The error of SOA decrease by order of 1 and no convergence shows for SOA gas precursor and SOA.

fig

Figure 2. Relative error of the time convergence test for SOA gas precursor and SOA with stepwise uptake rate update and 0.05 tolerance parameter.

Figure 2 shows the result of time convergence test for SOA gas precursor and SOA with stepwise uptake rate update and 0.001 error control parameter. Linear convergence rate for SOA gas precursor and SOA are shown in the figure, with a regression slope of 1.06 and 1.10 respectively.

fig

Figure 3. Relative error of the time convergence test for SOA gas precursor and SOA with stepwise uptake rate update and 0.001 tolerance parameter.

Supplement Figures

fig

Figure S1. Time series of SOA gas precursor and SOA aerosol without SOA gas precursor production.

fig

Figure S2. Time series of SOA gas precursor and SOA aerosol with SOA gas precursor production.
Back to top