UKCA Chemistry and Aerosol UMvn13.9 Tutorial 13

From UKCA

UKCA Chemistry and Aerosol Tutorials at UMvn13.9

Difficulty MEDIUM
Time to Complete 1-2 hours
Video instructions Walkthrough (YouTube)

Remember to run mosrs-cache-password.

What you will learn in this Tutorial

In this tutorial you will learn how to output and assess aerosol impacts from chemical changes within UKCA.

You will make use of the python scripts that you used during Tutorial 6 (Examining Aerosol Impacts Part 1).

Task 13.6: Calculate the difference in aerosol impacts when Sec_Org is no longer formed from ALICE

TASK 13.6: You should now remove the formation of Sec_Org from the chemical reaction added in Task 8.1, giving

and assess the impact this has on the aerosol diagnostics calculated in the previous tasks, Task 6.2, Task 6.3, and Task 6.4.

Note: as this a very short run (that is still spinning-up) and you will only be considering a single timestep, the results will be incredibly noisy.

Python notebooks

The previous python notebooks provided can be used to difference the AOD, SSA, and TOA fields.

You should edit the python notebooks from these previous Tasks in this Tutorial to calculate the AOD, SSA, & TOA from your sensitivity run, remembering to save the output to different files.

The python notebook provided at

Tutorials/UMvn13.9/notebooks/iris_UM-UKCA_T131.ipynb

that can be seen online here


has been provided to facilitate the differencing and plotting of these files.

Code changes required to modify or remove a reaction

Modifying a reaction is very similar to adding a new one, although simpler as you are only changing what is already there. The exact routines that will need to be altered will depend on the reaction, but likely include:

ukca_chem_master.F90

You must edit the master list of reactions, given by ratb_defs_master for bimolecular reactions, ratt_defs_master for termolecular reactions, rath_defs_master for heterogeneous reactions, or ratj_defs_master for photolysis reactions.

ukca_config_defs_mod.F90

You may need to adjust the values of nr_therm or nr_phot if you adjust the qualifier or disqualifier options. This may mean changing the values for the aerosol chemistry and/or non-aerosol chemistry definitions as appropriate.

asad_bimol.F90, asad_trimol.F90, ukca_hetero_mod.F90, asad_hetero.F90, ukca_phot2d.F90, and ukca_strat_update.F90

If you added any special code for the reaction(s) to asad_bimol.F90, asad_trimol.F90, ukca_hetero_mod.F90, asad_hetero.F90, ukca_phot2d.F90, or ukca_strat_update.F90 it will need to be altered accordingly. The location of the reaction in the complete list is usually found by searching on the reactants and products, and if these change then the lookup will fail unless it is altered here too.

asad_flux_dat.F90

If there are any diagnostics to output the reactions you are modifying, you may need to alter this specification as well if you have changed the reactants and/or products. You will learn more about this in the next tutorial.

Solution to Task 13.6

You were asked to

  • You should now remove the formation of Sec_Org from the chemical reaction added in Task 8.1, giving

and assess the impact this has on the aerosol diagnostics calculated in the previous tasks, Task 6.2, Task 6.3, and Task 6.4.

and were given the hints

  • Remember to remove Sec_Org from the diagnostics as well as the reaction.
  • As Sec_Org is now no longer included, it should no longer have the a qualifier.
  • You should re-calculate these quantities now, from the current exisitng files, before making code changes and re-running.

You should re-use the above python notebooks provided to do these, saving to different files. As we had already added options with and without Sec_Org as a product, the changes are relatively simple and are all contained in the UKCA code.

The specific UKCA changes made are:


Index: src/science/core/chemistry/ukca_chem_master.F90
===================================================================
--- src/science/core/chemistry/ukca_chem_master.F90	(revision 7806)
+++ src/science/core/chemistry/ukca_chem_master.F90	(revision 7813)
@@ -107,7 +107,7 @@
 INTEGER, PARAMETER :: n_het_master  =  18 ! number of heterogeneous reactions
 INTEGER, PARAMETER :: n_dry_master  = 163 ! number of dry deposition reactions
 INTEGER, PARAMETER :: n_wet_master  = 161 ! number of wet deposition reactions
-INTEGER, PARAMETER :: n_bimol_master = 1214 ! number of bimolecular reactions
+INTEGER, PARAMETER :: n_bimol_master = 1213 ! number of bimolecular reactions
 INTEGER, PARAMETER :: n_ratj_master = 183 ! number of photolysis reactions
 INTEGER, PARAMETER :: n_ratt_master = 116 ! number of termolecular reactions
 
@@ -6241,12 +6241,9 @@
 ! B745 - updates for 121
 ratb_t1(745,'HO2       ','EtCO3     ','OH        ','EtOO      ','CO2       ',  &
 '          ',1.89e-13,  0.00,  -1040.00, 0.00, 0.00, 0.00, 0.00,st,0,0,121),   &
-! B746 - updates for 121 (ALICE & BOB tutorials) - aerosol chemistry
-ratb_t1(746,'ALICE     ','OH        ','BOB      ','Sec_Org    ','          ',  &
-'          ',2.70e-11,  0.00,   -390.00, 0.00, 0.00, 0.00, 0.00,st+cs,a,0,121),&
-! B746 - updates for 121 (ALICE & BOB tutorials) - no aerosol chemistry
+! B746 - updates for 121 (ALICE & BOB tutorials)
 ratb_t1(746,'ALICE     ','OH        ','BOB      ','           ','          ',  &
-'          ',2.70e-11,  0.00,   -390.00, 0.00, 0.00, 0.00, 0.00,st+cs,0,a,121) &
+'          ',2.70e-11,  0.00,   -390.00, 0.00, 0.00, 0.00, 0.00,st+cs,0,0,121) &
 ]
 
 !----------------------------------------------------------------------

These differences can be found here:

Tutorials/UMvn13.9/worked_solutions/Task13.1/Task13.1_ukca.patch

Sample output from this task can be found at

Tutorials/UMvn13.9/sample_output/Task13.1/

Checklist

When modifying chemical reactions, remember to make changes for diagnostics and special cases, as well as altering ukca_chem_master.F90.
Python can be used to process and visualise Unified Model output.


Tutorial 14

UKCA Chemistry and Aerosol Tutorials at UMvn13.9


Written by Luke Abraham 2025.