Minutes of the code management group meeting 2021-11-19
Friday 19th November 2021, 10.00am - 11.30am GMT
Meeting via Microsoft Teams - details have been emailed
Met Office: AJH, AH, CH, FM, MD, MG, MS, NC
Leeds: MR, DG
Actions from this meeting
- (ongoing - standing item) CMG to monitor list of bugs and circulate between group for owners.
- (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).
- (ongoing - standing item) ALL with access to keep monitoring ukca_bugs email list.
- (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.
- (ongoing - standing item) ALL to note, review, and remove obsolete/redundant code
- (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.
- (ongoing - standing item) Code Owner to produce draft newsletter for CMG to approve.
- (ongoing - standing item) ALL to consider other rose-stem tests that could be included.
- (ongoing - standing item) ALL to email NLA with suggestions for next set of tutorials.
Actions from the Last Meeting (AJH)
- (ongoing) NLA to put
C_SPECIESdefinitions in the Redundant Code table (short-term), and switch to use
M_SPECIESinstead. 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.
- (ongoing) Monsoon users MASS data Management. Removal commands issued for ~550 umui jobs (total 175Tb). List from Cambridge and Oxford still awaited.
- (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.
- (new) NLA to forward GM email (re: GLOMAP code) to AH for AH to follow-up on.
- (ongoing) JH to update API document to reflect the UMvn12.1 release
- (ongoing) Unprotected rose-stem options: NLA to look at ddepo3_ocean
- (ongoing) Unprotected rose-stem options: MD to look at highorder_scheme
- (ongoing) Unprotected rose-stem options: AJH to look at i_mode_setup=6
- (new) NLA to check temporary logical settings that will be used for UKESM2.
- (new) ALL look at um:#6203 and think about any code/settings they are interested in.
- (new) CH to coordinate on UKESM side what they would want in for UKESM2.
- (new) NLA to set-up a Doodle Poll for the middle-to-end of November 2021.
|#||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.
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
JH spotted. Just diagnostic affected.
LA to open a ticket. cc JM, NC
LA to update with MOSRS ticket
No owner yet
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
|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.|
|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.
|See above, using tile-specific roughness lengths as obtained from JULES|
|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|
Redundant Code (NLA)
Code for deletion
PLEASE REMEMBER TO EDIT THE ORIGINAL REDUNDANT CODE TABLE AND NOT THIS PAGE
- 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|
||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)
|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
PLEASE REMEMBER TO EDIT THE ORIGINAL SCIENCE NOT TESTED TABLE AND NOT THIS PAGE
See also the complete list of unprotected rose-stem options
|1||Use of tropospheric (2D) look-up table photolysis||Still useful to compare against FastJX. May be used for a "fast" configuration.|
|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|
|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.
|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
|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.|
|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.
PLEASE REMEMBER TO USE THE UKCA KEYWORD FOR ALL UKCA CHANGES
NOTE: New requirement for
LFric testing of all changes under src/atmosphere
Round (virtual) Table of current activities, plans