GlomapSedimentation

From UKCA

Notes on Aerosol sedimentation in UKCA GLOMAP

This work is primarily motivated by the desire to be able to run aerosol sedimentation with a shorter timestep than the rest of UKCA, and potentially to try alternative schemes for sedimentation. The code presently uses a flux-form advection scheme to sediment aerosols, with sedimentation velocity calculated by the routine UKCA_VGRAV_AV_K. In this scheme the sedimentation speed is limited by the model timestep, for stability reasons.

A quick hack has demonstrated that allowing aerosols to sediment more quickly (by substepping the existing scheme with a shorter timestep) makes a significant difference to the simulation of the coarse mode, with knock-on effects on the accumulation mode. However this hack is not suitable for inclusion in the UKCA trunk, and is inefficient as it substeps with the same timestep over all modes and all columns.

From discussions with various people, it appears that this would be an opportunity to make some other changes to the sedimentation code. For example, it was suggested to seperate the sedimentation and dry deposition schemes so that the sedimentation can be substepped without the deposition (but see below), and so that it is easier to unify the aerosol and dry gas deposition in future. Also suggested was moving both the sedimentation and deposition to ukca_emission_ctl so that the deposition can be performed on the same timestep as the emissions (potentially important for dust), and possibly to include the deposition in the boundary layer mixing (tr_mix) along with the emissions. Finally, if making changes to the emissions code, it would make sense to do this in the new netCDF emissions code, since for UKESM we aim to use netCDF as much as possible. However, this would require adapting the netCDF emissions code to include the aerosol emissions.

There is a danger of this morphing into an unmanagable task, particularly as I'm not sure how much time I'll be able to devote to it. So I've tried to come up with a plan that divides the work into sensible steps, each of which would deliver a useful improvement in its own right.


Rough plan

  1. Understand the code better than I do at present. The following plan is based on my initial inspection of the code structure, and more detail will need to be added when I've understood where the diffulties will lie. Illustrate the planned changes with some pseudocode and run it past the Code Management Group.
  2. Split the ukca_ddepaer_incl_sedi routine into seperate routines for sedimentation (loss from levels 2-85) and deposition (loss from level 1). Might there be problems running the sedimentation on a shorter timestep than the deposition?
  3. Change the sedimentation code to work with 3D arrays, and allow each column and mode to substep with a different timestep, diagnosed from Courant number.
  4. Adapt the netCDF emissions code to include the aerosol emissions, including new calls to tr_mix and trsrce in ukca_add_emiss. Consider making these calls use the same code/loop as the chemistry, rather than seperately as in ukca_emission_ctl (of course there may be good reason for that, and note that the order of the two calls is different in the two routines).
  5. Move the sedimentation and deposition into ukca_new_emiss_ctl. Need more investigation to propose where each should sit. My feeling is that sedimentation should be performed before deposition if they have been seperated in step 2, since the sedimentation will result in a large accumulation in level 1, which the deposition should deal with before it is seen by other processes.
  6. Investigate alternative sedimentation schemes if the flexible substepping is too expensive.
  7. Investigate using tr_mix for aerosol deposition and emissions. Diagnostics mights be a particular challenge for this.

Notes:

  • I should be able to test for equivalence at each stage of the above. Bit-comparison won't be possible because calculations will be performed in a different order, and at differing timesteps. By temporarily hardwiring the timesteps in some tests, it should be possible to isolate the impact of the timestep changes from the structural changes.
  • Gerd is making changes to the BVOC plumbing intended for UM9.0, so I need to keep in touch with him.