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 understandalone/tests/mam_x_validation/gasaerexch/gasaerexch_timeconvergence.yaml
andstandalone/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.
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.
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.
Supplement Figures¶