Minutes of the code management group meeting 2021-11-19


Code management group minutes

Teleconference Details

Friday 19th November 2021, 10.00am - 11.30am GMT

Meeting via Microsoft Teams - details have been emailed

Met Office: AJH, AH, CH, FM, JH, MD, MG, MS, NC


Leeds: MR, DG




Actions from this meeting

  1. (ongoing) NLA to put C_SPECIES definitions in the Redundant Code table (short-term), and switch to use M_SPECIES instead. Talk with JH about AQUM tests and requirements. Note that there will be problems with exoplanets and >100km top configs where M_air not constant. LA to make a branch and progress.
  2. (ongoing) Monsoon users MASS data Management. Removal commands issued for ~550 umui jobs (total 175Tb). List from Cambridge and Oxford still awaited. No change
  3. (ongoing) GM (supported by KP/MY/AH) has made a table on UKCA wiki documenting GLOMAP versions. ALL to read, GM & others to update table.
  4. (ongoing) JH to update API document to reflect the UMvn12.1 release
  5. (ongoing) Unprotected rose-stem options: NLA to look at ddepo3_ocean
  6. (ongoing) Unprotected rose-stem options: MD to look at highorder_scheme
  7. (ongoing) Unprotected rose-stem options: AJH to look at i_mode_setup=6
  8. (ongoing) NLA to check temporary logical settings that will be used for UKESM2.
  9. (ongoing) ALL look at um:#6203 and think about any code/settings they are interested in.
  10. (new) Dan, AH to assess and help Graham to lodge required GLOMAP changes to the UM
  11. (new) Neal to add a test for 2-D photolysis as part of Photolysis API changes
  12. (new) MR to discuss with AH, HG and update the CMG on any issues related to UKCA ancil creation in Nesting Suite
  13. (new) NLA, AJH to identify owners for TropChem and StratChem items in the Desirable changes not Tested Table.
  14. (new) JH,AH,AJH to update Mark (and possibly wider CMG) on LFric developments and UKCA aerosol code status.
  15. (new) NLA to set-up a Doodle Poll for the middle of January 2022.

Standing actions

  1. (ongoing - standing item) CMG to monitor list of bugs and circulate between group for owners.
  2. (ongoing - standing item) At CMG future meetings there should be included an appendix listing the open bugs. If a ticket is included it is not an open bug (as the owner of ticket is person doing lodging).
  3. (ongoing - standing item) ALL with access to keep monitoring ukca_bugs email list.
  4. (ongoing - standing item) ALL to think about if code changes will change KGO and let systems team know in good time, and remember to include the UKCA keywords to all UKCA tickets. This should be a standard part of our working practice. Note also the required keywords.
  5. (ongoing - standing item) ALL to note, review, and remove obsolete/redundant code
  6. (ongoing - standing item) ALL closed ticket owners to produce a summary of their change for the UKCA newsletter for special occasions, e.g. to coincide with Composition-Climate Meeting.
  7. (ongoing - standing item) Code Owner to produce draft newsletter for CMG to approve.
  8. (ongoing - standing item) ALL to consider other rose-stem tests that could be included.
  9. (ongoing - standing item) ALL to email NLA with suggestions for next set of tutorials.

Actions from the Last Meeting (AJH)

  1. (ongoing) NLA to put C_SPECIES definitions in the Redundant Code table (short-term), and switch to use M_SPECIES instead. Talk with JH about AQUM tests and requirements. Note that there will be problems with exoplanets and >100km top configs where M_air not constant. LA to make a branch and progress.
  2. (ongoing) Monsoon users MASS data Management. Removal commands issued for ~550 umui jobs (total 175Tb). List from Cambridge and Oxford still awaited.
  3. (ongoing) GM (supported by KP/MY/AH) has made a table on UKCA wiki documenting GLOMAP versions. ALL to read, GM & others to update table.
  4. (new) NLA to forward GM email (re: GLOMAP code) to AH for AH to follow-up on.
  5. (ongoing) JH to update API document to reflect the UMvn12.1 release
  6. (ongoing) Unprotected rose-stem options: NLA to look at ddepo3_ocean
  7. (ongoing) Unprotected rose-stem options: MD to look at highorder_scheme
  8. (ongoing) Unprotected rose-stem options: AJH to look at i_mode_setup=6
  9. (new) NLA to check temporary logical settings that will be used for UKESM2.
  10. (new) ALL look at um:#6203 and think about any code/settings they are interested in.
  11. (new) CH to coordinate on UKESM side what they would want in for UKESM2.
  12. (new) NLA to set-up a Doodle Poll for the middle-to-end of November 2021.

Bugs/Bugfixes (NLA)

Open Bugs

# Description Ticket Owner Comments Comments from this meeting
35 Error in labelling: Surface resistance <--> stomatal resistance ? UM:#1409 Fiona O'Connor Leave open. Garry Hayman started work in offline JULES.
Still ongoing. JM found bug in SO2 deposition, where there is an inconsistency when changing tiles. Making progress.
Leave open. GH gave update, has done a lot of work. Concerned it might not be bit-reproducable, but could be solvable. Encouraging to lodge existing. Resistances done as metadata. Not clear as to timescales.
FOC to encourage Garry Hayman to start lodging JULES code piecemeal.
LA to email GH, cc JM
JM to email GH
GH adding improvements via UM:#5751
GH targeting 12.2
101 Errors in reaction rates and diagnostics UM:#4466 Luke Abraham / Scott Archer-Nicolls There is a need to conserve science config for UKESM1, so changes need to be on a flag.
Colin has been looking at DMSO, as this is not currently used in StratTrop but is in Offline.
Might be able to merge the rate with CEJ changes, but best to leave the diagnostic issues as a separate change.
LA, JM, CEJ, SAN to discuss offline and keep GM in loop.
Use versioning system. Talk about further offline.
Keep ongoing.
LA to do with #103
Do for vn11.6. Quite a large ticket.
Hope to progress for vn11.6
Bump for vn11.7
LA may be able to progress. Versioning has been done separately. Another issue was added to this recently, to do with formation of H2O - may have an impact
Some CRI fixes needed too. May not be able to progress for vn11.7
Some of the fixes have been incorporated in UM:#5057
#5057 didn’t make vn11.8
Will aim for vn12.1, also updates from JMK
Will try for 12.2
110 UKCA solar-cycle routine does not pass NRUN-CRUN test UM:#4828 Luke Abraham To be Lodged after 11.5
Have a solution.
Solution is a bit tricky to check the logic correctly.
Currently testing. May not make vn11.7.
Will not make UMvn11.7 - need to analyse runs to understand what is going on
NLA to investigate further
NLA to chat with OM offline
LA & OM will talk offline
Working on for 12.2
119 Incorrect calculation for gridbox area - only affects GLOMAP-mode diagnostics um:#5506 Calculation of volume appears correct, but area is not. This calculation is missing the factor fv_cos_theta_latitude so will not cause area to tend towards zero at the poles. It also seems to use an unnecessary approximation to the latitude difference (based on sinv_latitude) which may break down at high latitudes. The calculation should perhaps be consistent with subsequent volume calculation but without the delta_r factor. This will likely only affect diagnostics calculated in ukca_emiss_diags_mode, where it is used to convert from kg/m2/s to mol/gridbox/s, although it is also printed out in ukca_aero_ctl.
JH spotted. Just diagnostic affected.
LA to open a ticket. cc JM, NC
LA to update with MOSRS ticket
No owner yet
Needs testing.
GM will have a look, but can’t take it on
As its just diagnostic, may not be that important for UKESM2
Not actually a bug, but is inconsistent between volume & area calculations. Take off as a bug. May be related to mass to calculation differences. Will be moved outside to the parent model.
124 H2 and N2 cannot be set for RCP and WMOA1 scenario routines UM:#5620 Mohit Dalvi Values are hard-wired in the code and cannot be changed without a branch
Will be handled at UM11.8
At least for the next version
Keep open
Keep open
128 Bug in UKCA stratospheric chemistry diagnostics UM:#5839 Luke Abraham pre-UMvn10.0. The indexing/values of diagnostics m01s50i101-i104 are incorrect. Fixes provided for vn11.1 and vn11.7. May affect CMIP6 diagnostics
May be best to lump #101.
NLA to contact JM
Should be fixed for UKESM2
Biggish ticket for 12.2 with bug fixes.
130 Bug in aerosol dry deposition when using 27 surface types in JULES UM:#6088
Partially fixed using UM:#5622
Mohit Dalvi The bug exists because of an erroneous dependency on the array size NTYPE (from JULES_SURFACE_TYPES_MOD) in subroutines UKCA_DDEPAER and UKCA_DDEPAER_INCL_SEDI. This is not appropriate because most of the processing is not written to be dependent on the surface types being used in JULES. A surface type at each location is instead inferred (in UKCA_AERO_CTL) from the roughness length and its index is held in the array ILSCAT. The index values are intended to be interpreted with reference to the JULES 9 type scheme. Only the values 1, 3, 7 and 9 are used, corresponding to forest, grassland, water and ice respectively. The indices are used to access arrays YR, CR and ALPHA that are set up in these aerosol dry deposition routines. The arrays should therefore always be of size 9 with values based on the 9 type scheme, irrespective of the JULES NTYPE value. However, alternative, incompatible arrays are set up if NTYPE is 13, 17 or 27. These were presumably intended to be accessed using the type indices consistent with the other JULES schemes but are actually accessed with the 9-type scheme indices available in ILSCAT. Inappropriate values will therefore be obtained when NTYPE is not 9.
Note that Ticket UM:#5622 will fix the bug when interactive dry deposition is not used in the chemistry or when NTYPE in JULES is 13 or 17 but will not fix it when interactive dry deposition is selected (L_UKCA_INTDD = .TRUE.) and NTYPE is 27. Fixing it for NTYPE = 27 will change results so will require a separate bug fix ticket with appropriate testing and approval.
Fix is simple (~1-line) but testing will take time. Does affect UKESM1 - anything that doesn’t have 9 surface types. CH to pass on to JM.
Ticket opened. MD to take ownership
Had a discussion with Graham and Samuel Remy regarding implemention of the scheme in IFS. Work likely to start later in May.
Simple method (predominant surface type) for mapping from JULES being tested. Will have to determine how to handle pseudo-levels/ ntypes in the segments/chunking before deriving rates for multiple surface types.
Discuss with MR/MG. Implemented a flexible method to determine dominant surface type and use roughness length specific to that tile. Simulations for 20/30 years with GA8 and UKESM1.1 ; results passed on to GMED and UKESM for assessing impact. Also being tested with DM-Chem (Delhi model) for newly added urban sub-tiles.
Aiming for vn12.2
131 Invalid surface roughness input to aerosol dry deposition over land UM:#6088 Mohit Dalvi In the UM, UKCA uses the roughness length with stash code 00026 to infer the surface type for aerosol dry deposition (and for the old non-interactive gas dry deposition scheme). However, this value is only valid over the sea. It seems to be set to 0.5 over the land from the UM data I’ve looked at. This seems to be simply a filler value with no scientific significance. As a consequence of the 0.5 value, the UKCA aerosol dry deposition routines categorise all land as forest in the UM runs (routine ukca_aero_ctl uses z0>0.1m for forest). This will interact with bug #130 in aerosol dry deposition (see above) that occurs when using any number of surface types in JULES other than 9.
In LFRic JH is using the tile values. Not sure how easy this would be to do in the UM. Could be out of scope for this group - potentially ask Adrian Lock or Ian Boutle. NLA to email.
Found e-mail from Ian/Adrian (Feb:2016) suggesting 3-028 instead. Ticket opened. MD to take ownership.
See #130 above.
Exploring the use of type/tile-based surface roughness from JULES, to avoid retrospective stash changes to (GA/GC/UKCA//UKESM) suites. Using tile-specific roughness lengths as obtained from JULES
Part of above change for vn12.2
133 Running a xc40_intel_um_rigorous_noomp-ukca_strattrop_exp test (not part of rose stem), reveals the use of n as an index for rc() array which is out-of-bounds, in ukca_surfddr.F90 here. UM:#6373 Mohit Dalvi The bug is in a section of code where the points are supposed to be set to a minimal value. 10-year simulation with interactive methane indicates minimal impact on burdens. In Code Review Lodged CLOSE

Redundant Code (NLA)

Code for deletion


  • The NG-Composition Project Board has agreed to use the Redundant code table as the Technical Debt Log for UKCA as part of that project. This has highlighted the issue that some areas of code are not listed as being redundant, but are also not tested/used routinely and are not in any rose-stem tests, for example 2D photolysis and the TropIsop and Strat chemistry schemes. We have been asked to review this code and list untested code which is still desirable to be included for testing, and to ensure that other areas of code are listed for deletion.
# Description Ticket Remarks Status Timeframe Owner Comments from previous meetings Comments from this meeting
4 ukca_strat_update.F90 - relax_ozone UM:#1505 None PROPOSED Medium-term Luke Abraham
5 Backward Euler Standard Tropospheric Chemistry UM:#1507 None PROPOSED Medium-term Fiona O'Connor
6 Wet oxidation of SO2 in GLOMAP UM:#4475 None PROPOSED Medium-term Colin Johnson JM to look at this re: UKESM1 c.f. offline GLOMAP. JM to take ownership.
Still needed for CTM. Relevance for standalone code and later coupling to CTM.
7 Updraft velocity - l_conv_tke UM:#3668 Proposed in December 2017. Approval being sought for GA series (likely GA8). PROPOSED Medium-term Alan J Hewitt / Ian Boutle
8 All backward Euler chemistry schemes None Note that this is only for the “hard-coded” BE schemes. Quite a lot of work would be involved, but good as a longer-term aim. Note that problems for AQUM would need to be addressed first. PROPOSED Long-term Luke Abraham
9 Deprecated UKCA netcdf attribute options UM:#2513 'emission_type', string type attributes no longer recommeneded. Need some time for most new code to adopt these. Still used in AQUM files. DEPRECATED Medium-term Nick Savage AQUM are addressing the files. Have gone from operational jobs, have ticket to remove from rose-stem. LN to document. These have been removed from AQUM.
AQUM work has been done.
From AS: In the ancil ticket linked from #2513 (https://code.metoffice.gov.uk/trac/ancil/ticket/782) it says that GA7 depends on the old format files, and as far as I know this is still true. In the 3-step timeline suggested, we haven't reached step 2 unfortunately. That ticket was about ensuring GA8 did not use the old attributes. I believe that GA8 is due for release in the next few months (it has been a very long time coming), so UM vn11.5 may be the last version at which GA7 is supported. Do you mind waiting a bit longer?
AJH to follow-up with LA
10 ASAD families chemistry None Families chemistry has not been used for many years (since at least UM6.1. It is likely that it no longer works if turned on, and it complicates the code making other developments harder DEPRECATED Short-term Luke Abraham
11 Dry deposition 9 PFT option None The 13 PFT option has been adopted for UKESM1.
The 9 PFT option is possibly not being used at all.
Proposed in June 2018.
PROPOSED Long-term Alan J Hewitt
12 Remove explicit C_SPECIES constants and calculate these from M_SPECIES and the mass of air None Will have wide-ranging rose-stem KGO breakages PROPOSED Short-term Luke Abraham
13 Remove temporary logical l_fix_nacl_density
Introduced at UM:#2405
UM:#3490 Requires AMIP testing and a GMED ticket
Could be accepted to GA9
PROPOSED Medium-term Jane Mulcahy See JM GMED action
15 Remove temporary logical l_fix_ukca_impscav
Introduced at UM:#1421
UM:#4145 Approval being sought for GA series (likely GA9)
PROPOSED Medium-term Alan J Hewitt See JM GMED action
16 Remove temporary logical l_fix_improve_drydep
Introduced at UM:#1250
UM:#3997 Approval being sought for GA series (likely GA9)
PROPOSED Medium-term Alan J Hewitt See JM GMED action
17 Remove temporary logical l_fix_ukca_h2dd_x
Introduced at UM:#4157
UM:#4245 Approval being sought for GA series (likely GA9)
PROPOSED Medium-term Alan J Hewitt See JM GMED action
18 Remove temporary logical l_fix_neg_pvol_wat
Introduced at UM:#4383
UM:#4416 Approval being sought for GA series (likely GA9)
PROPOSED Medium-term Alan J Hewitt
21 Remove code behind L_use_stratclim from ukca_fastjx_mod
Introduced prior to MOSRS
UM:#4854 This could either be properly included via a namelist or removed from the UM PROPOSED Medium-term Alan J Hewitt LA contact OW about progressing FastJX-RADAER work
Ties in with API work. MD/NC to take a look, can be removed. Do as part of API.
Relevant person take ownership as part of API work
NC to take ownership as part of his work
22 Remove temporary logical l_fix_ukca_input_meoh_emiss
Introduced at UM:#3031
UM:#4848 Approval being sought for GA series (likely GA9)
PROPOSED Medium-term Mohit Dalvi
24 Remove ability to use of Cambridge 2D model data from ukca_stratf.F90 PROPOSED Neal Carr Need to confirm from wider community for possible tropospheric configs and other choices for top-bdy

AJH has been having LFRic issues with temporary logicals. These have all been set as true (i.e. not allowing users to change them). However, they are not able to be retired at the moment as they are used in GA7 and included in rose-stem. The UKESM rose-stem job will go to 1.1 when the model description paper is published. We think that dry deposition logicals still used in UKESM1.1.

ACTION: NLA to check temporary logical settings that will be used for UKESM2.

Desirable Science not tested


See also the complete list of unprotected rose-stem options

# Description Ticket Remarks Owner
1 Use of tropospheric (2D) look-up table photolysis Still useful to compare against FastJX. May be used for a "fast" configuration. Will be doen as part of photolysis refactoring Neal
2 TropIsop chemistry configuration May be useful in a "fast" configuration & to drive GLOMAP-mode. Useful for low-top configurations.
3 Strat chemistry configuration Useful for stratospheric studies, particularly with a high model top.
4 Seven mode with dust
um:#5957 LFRic will use i_mode_setup=8.
Alan J Hewitt
5 RADAER Maxwell-Garnett
um:#5957 From um:#5342, this will be prefered option in future.
Alan J Hewitt

AJH will add the 2-dust option to this list (i_mode_setup=6) as #6. Close 4 & 5.

Update on UKCA API redesign

Please see the document UKCA_API_design_proposal_v5.pdf for the latest API design.

UPDATE: Please see the document UKCA_Modules_at_UMvn12.0.pdf for the latest categorisation of UKCA files. Please also see ticket um:#6407 which creates a new section UKCA_UM and puts the parent side UM files into this section.

The FastJX change to pass rates to UKCA will not make 12.1 release. JH reminded all developers to be aware of which side of the interface for the module, and to not use variables from the opposite namespace. There is a list in the API design document, although it isn’t quite up-to-date, as some “IX” modules are stated as a mixture of the two but most have been separated out to the parent side. Email JH for further infomation. It was suggested that it may be good to put comments in the code covering whether a routine was a UKCA-side or a parent-model side routine. About to get work underway interfacing UKCA with NAME. Note also that UKCA isn’t thread-safe for OpenMP threads. Variables need to be passed via argument list to achieve this, rather than using shared modules. This work is not yet scheduled, focus is on science functionality. AJH aims to put GLOMAP_CLIM into the same API, and there was some discussion regarding whether code in the UKCA repository should be usable in a standalone context. It was decided that this should be the aim for all code within the separate repository, although it is likely that it won't be possible to do this from the onset and functionality will continue to be tested in a purely GCM context initially.

Progress with Priorities (NLA)

ACTION REQUEST FROM UKCA SCIENCE & MANAGEMENT BOARD: CMG to provide list of priorities & their status, with particular thought to UKESM2 changes that will be required.

The current priorities are:

# Description Owner Desirable for UKESM2? Status Comments from this meeting
1 UKCA API John Hemmings (main) No UKCA API work is progressing (AJH). Radaer API on hold until after GA7 port to LFRic. Functionality of RADAER in LFRic will work without an API although it will be preferable to update this in future.
2 Review UKCA tests to cover all requirements Luke Abraham / Mohit Dalvi Will cover these in a table in future for review.
3 Updates/fixes to GLOMAP routines YES AH asked about the stratospheric changes from a UKESM2 context, and whether there is any help for these.
4 Standalone UKCA configurations Luke Abraham/Scott Archer-Nicholls ExCALIBUR work progressing, currently working on build system.
5 Emissions flexibility Mohit Dalvi
6 Separare UKCA repository Luke Abraham Separate UKCA trac environment set-up on MOSRS here, will hold UKCA code on completion of current ExCALIBUR project.
7 Non-API LFRic work, e.g. Porting science functionality etc. Alan J Hewitt No Porting calculation of CDNC from GLOMAP Climatology aerosols complete.
I will pass required elements of ukca_radaer to ukca_radaer_band_average (um:#5957)
Porting calculation of fields in radaer_band_average to be passed to Socrates underway(lfric:#2488)
Includes RADAER, need to use imode_setup=8
RADAER now callable from LFRic, can do GA-type comparisons from LFRic to UM. JH to put UKCA into LFRic soon - working in an SCM configuration (GLOMAP with offox) - needs more testing. A lot more work to do, possibly until end of 2021.
AJH has tickets going in for 12.1 that would cover all of the basic GA7 but with climatological aerosol. JH tickets will do the prognostic alternative. JH currently has an LFRic-SCM configuration with prognostic aerosol.
8 RADAER API Alan Hewitt (main) No Radaer API on hold until after GA7 port to LFRic.
Functionality of RADAER in LFRic will work without an API although it will be preferable to update this in future.
Not clear if RADAER will work independently of UM in single column mode.
AJH and AH and JH and Ben Johnson and NB need to work out if desirable and practical to run independent of UM.
9 RADAER optimisation NO
10 Dry deposition and Jules tiles YES If Jules adds extra tiles for UKESM2 we may need to hard code options in dry deposition (like in um:#1761)
11 FastJX-GLOMAP coupling YES UMvn10.8 branches exist - see ticket UM:#2689
Note: FastJX rates also need updating - potential for code as well as input-file changes
12 Cloud-J
13 Fixes for chemistry rates and ASAD (bugs #101 & #103) Luke Abraham YES #101 still open, #103 completed (necessary for GC5 ticket GMED:#551)
14 Rc fixes for water (bug #104) UKESM Core Team YES Lodged at UMvn11.7 in ticket UM:#5167
15 CH4 deposition fixes (bug #109) Gerd Folberth YES
16 UKCA STASHmaster PP-codes Luke Abraham Verification system makes some use of existing PP-codes. New items should have a PP-code of 0 and verification team will use STASH items for these if required.
17 Removal of redundant code ALL No Parked whilst GA7.0 is a protected suite.
18 GLOMAP-CLIM API refresh Alan J Hewitt No Parked until science functionality around GLOMAP aerosols ported to LFRic.
19 N48L85 configuration
20 ACTIVATE optimisation TBC No A quick win here is to reduce nwbins in namelist ( see um:#4740 ).
Parked for now.
21 Stratospheric Ozone improvements James Keeble/Luke Abraham YES Work ongoing, covered in ticket UM:#5641.
Note: FastJX rates also need updating - potential for code as well as input-file changes
22 Solar cycle in photolysis Luke Abraham YES Some code lodged at UMvn10.9 (UM:#2587) but needs bugfixing. This work has stalled in ticket UM:#4828 (bug #110).
23 Deposition updates from CSIRO YES Code lodged in UM:#4020 (UMvn11.4, oceanic dry deposition) and UM:#5713 (UMvn11.8, Lightning NOx updates).

ACTION: CH to coordinate on UKESM side what they would want in for UKESM2.


See here for UM vn12.1 tickets on MOSRS.


NOTE: New requirement for LFric testing of all changes under src/atmosphere

Round (virtual) Table of current activities, plans

Person Activity
John LFRic : SCM implemented, proto-GAL in progress. Requried multiple fixes in UM code
Olaf Looking at N conservation in stratosphere
Adrian CASIM in RAL, upgrading UM-chem to latest version
Alan LFRic work: GLOMAP-Clim with RADAER; prognostic GLOMAP dust-only (with climatology for others)
Florent Assessed that RAG+GLOMAP-nitrate works ; others in team assessing Strattrop, CRI for AQ application
Mohit LFRic: Ancillary input for proto-GAL UKESM2: Aerosol dry deposition improvements
Neal Moving all photolysis schemes outside UKCA
Dan Nesting runs for specific Volcanic eruptions
Catherine Tracking UKCA changes req for UKESM2 ; Reviewing Garry's Dry deposition ticket
Mark supporting Masaru for Nested runs
Marc UKESM-hybrid: added rose-stem test ; moving ACTIVATE to Senior component