Minutes of the code management group meeting 2023-11-20

From UKCA
Revision as of 17:49, 16 November 2023 by Nla27 (talk | contribs) (→‎Open Bugs)

Code management group minutes

Teleconference Details

Monday 11th September 2023, 10.00am - 11.30am GMT

Meeting via Zoom - details have been emailed

Met Office:

Cambridge:

Leeds:

NIWA:

CSIRO:

Apologies:

Actions from this meeting

Actions from the Last Meeting (NLA)

Minutes of the code management group meeting 2023-09-11

  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. May want to move to redundant code table at some point
  2. (ongoing) GM/DG to update table on UKCA wiki documenting GLOMAP versions. DG/GM to consider the code and lodging process for GLOMAP developments and consider a suitable rose-stem test supported by NLA.
  3. (ongoing) JH on update API document to UMvn13.4 release. NLA to provide feedback before it is be circulated.
  4. (ongoing) ALL look at um:#6203 showing other unprotected rose-stem options and think about any code/settings they are interested in.
  5. (ongoing) NLA, AJH to identify owner for TropChem item in the Desirable changes not Tested Table. AJH to arrange call with NLA to discuss this and creation of rose-stem jobs. Should also update the UKCA UMDP to reflect which configurations are supported/widely used.
  6. (ongoing) JH, AJH, NLA breakdown bigger priority items into milestones. The API has hit its first milestone
  7. (ongoing/new) NLA to set up a release notes page on the UKCA trac following the 13.4 release, add more milestones, add a "hopefully" milestone, and add an "API" keyword to the working practices
  8. (new) PMJ to send NLA the details of the simple column job he has developed for the NAME work
  9. (new) MR to send details of Git migration to NLA
  10. (new) JH to make page on UKCA trac to document the allowed 7 UM modules. NLA to link to working practices.
  11. (new) NLA to send round Doodle Poll for November.

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.

Tickets (NLA)

Tickets on MOSRS:


PLEASE REMEMBER TO USE THE UKCA KEYWORD FOR ALL UKCA CHANGES

NOTE: The UM requirement for LFric testing of all changes under UM:src/atmosphere, UKCA:src/science, and UKCA:src/control/core

Please also give any feedback on the UM release cycle to NLA to pass-back to UM Sys.

Message from UM Sys - please take care when considering keywords. It is important to get these correct for the Code Review process.

Update on UKCA API redesign (JH)

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 Complete
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 currently works without an API although it will be preferable to update this in future.
2 UKCA and NAME coupling John Hemmings (main) No ukca:#25 was lodged for UM13.2
Now working with RAQ. PMJ has been able to build UKCA as a shared library for NAME use.
3 Review UKCA tests to cover all requirements Luke Abraham / Mohit Dalvi Will cover these in a table in future for review.
Updated testing coverage on Linux and can run 1x1 decomposition
4 Updates/fixes to GLOMAP routines YES AH asked about the stratospheric changes from a UKESM2 context, and whether there is any help for these.
5 Standalone UKCA configurations Luke Abraham/Scott Archer-Nicholls ExCALIBUR work progressing.
Aim to remove UKCA from UM trunk at vn12.3.
See UKCA Box Model page
6 Emissions flexibility Mohit Dalvi
7 Separare UKCA repository Luke Abraham Separate UKCA trac environment set-up on MOSRS here, will hold UKCA code on completion of current ExCALIBUR project.
Aiming for vn12.3.
UKCA removed from UM at UMvn13.0 - see UKCA repo
Closed
yes
8 Non-API LFRic work, e.g. Porting aerosol 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.
JH now has UKCA working in proto-GAL7 (LFRic) config. Needs to couple with convection & plume scavenging.
Convection & plume scavenging has been done.
AJH - some of this has been done or is in progress.
yes
9 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 RADAER optimisation Alan Hewitt (main) NO AJH highlighted that there have been some discussions about this - a few people interested in this (James Manners, AH, Ben Johnson, AJH). Have had someone looking to see if something could be changed to make it faster to make a trimmed-down version with less calculations for e.g. NWP.
AJH and BJ to look at making number of integration points a user variable
AJH and others to look at emulation of RADAER
AJH has functionality to do 1 integration point now. BJ is going to lead this one and see what happens when run with this for use in a weather context. Would give a ~4x speed-up for RADAER.
11 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)
Aerosol Dry Deposition will be considered in the JULES context once the gas-phase changes have been committed.
Completed for UM13.1
yes
12 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 Cloud-J
14 Fixes for chemistry rates and ASAD (bugs #101 & #103) Luke Abraham YES #101 still open, #103 completed (necessary for GC5 ticket GMED:#551)
Issues on EX1A.
Closed - see also UKESM:#841 for UKCA package ticket
yes
15 Rc fixes for water (bug #104) UKESM Core Team YES Lodged at UMvn11.7 in ticket UM:#5167 yes
16 CH4 deposition fixes (bug #109) Gerd Folberth YES Closed yes
17 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.
18 Removal of redundant code ALL No Parked whilst GA7.0 is a protected suite.
19 GLOMAP-CLIM API refresh Alan J Hewitt No Parked until science functionality around GLOMAP aerosols ported to LFRic.
20 N48L85 configuration
21 ACTIVATE optimisation TBC A quick win here is to reduce nwbins in namelist ( see um:#4740 ).
Parked for now.
There does not seem to be resource to look at this at present.
This could be tested for UKESM-fast. Another potential change would be to alter the call to only when there are clouds
22 Stratospheric Ozone improvements James Keeble/Luke Abraham YES
UKESM:#729
Work ongoing, covered in ticket UM:#5641.
Note: FastJX rates also need updating - potential for code as well as input-file changes
See also UKESM:#841 for UKCA package ticket
23 Solar cycle in photolysis Luke Abraham YES
UKESM:#732
Some code lodged at UMvn10.9 (UM:#2587) but needs bugfixing. This work has stalled in ticket UM:#4828 (bug #110).
UM:#4828 lodged for UMvn12.2.
See also UKESM:#841 for UKCA package ticket
24 Deposition updates from CSIRO YES
UKESM:#730
UKESM:#739
Code lodged in UM:#4020 (UMvn11.4, oceanic dry deposition) and UM:#5713 (UMvn11.8, Lightning NOx updates).
See also UKESM:#841 for UKCA package ticket
25 Sol/Insol Anthony Jones (main) No ukca:#14 was lodged for UM13.2 yes
26 Glomap aerosol and GPU Alan J Hewitt (main) No Started at vn13.3

Bugs/Bugfixes (NLA)

Open Bugs

# Description Ticket Owner Comments Comments from this meeting
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
Tested it quickly - N2 is used from namelist but not obvious, but H2 needs further testing
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.
See if can be done for 12.3
Nice to do ASAP, but if just diagnostics might be able to do at a later time.
136 There appears to be a bug in some Section 51 diagnostics. 6598 51996 and 51999 are fine.
51921 and 51922 are broken.
Other fields unknown.
Problem uncovered during 6358
May just linger. Should we take the broken ones out?
MD has opened a ticket to see which ones fail and which ones work
MD has tested, some things came up, need to be re-tested again
140 Heaviside Function cannot have multiple level sets um:#6816 The Heaviside function needed to scale UKCA pressure-level diagnostics is valid only for a single set of pressure levels from Stash requests. If some Sec 51/52 diagnostics are requested on say 19 pressure-levels and the same/ different ones on 36 pressure-levels, the Heaviside field in output will be applicable to only one of these.
May be able to request multiple Heaviside functions
The UM is able to do this for other Heaviside functions for climate diagnostics.
143 Error in print statements from UKCA_TRACERS_COPY_FROM_UM The final species listed in the diagnostic print statement seems to have very large concentrations (O(1E+08)) compared to others in the ppm-ppt range. Does not seem to affect model output. Reported by James Weber.
144 interchangeable use of specific humidity and water vapour mixing ratio #6813 UKCA includes calculations of relative humidity, clear-sky relative humidity and saturation vapour pressure. Relative humidity calculations should be based on water vapour mass mixing ratio but are in part based on specific humidity. Also, the calculation of saturation vapour pressure is derived from saturation mixing ratio but uses a formula for deriving SVP from saturation specific humidity. This interchangeable use of specific humidity (ratio for moist air) and mixing ratio (ratio for dry air) in existing configurations introduces small numerical errors in UM and LFRic model runs. These bugs were identified at UM version vn12.2 and have been highlighted by comments in code lodged with UM ticket #6660 (in ukca_main1-ukca_main1.F90 and atmos_ukca_humidity_mod.F90). All UKCA configurations are affected.
JH doesn’t think it’s complicated but not particularly trivial either.
145 all_ntp not explicitly dimensioned in UKCA_MAIN Possible fix here all_ntp not being dimensioned explicitly in ukca_main1-ukca_main1.F90. Highlighted in NCAS CMS ticket
https://cms-helpdesk.ncas.ac.uk/t/nested-ukca-suite-on-archer2/604
raised by Paul Field. Grenville Lister has found the cause and implemented a possible fix
https://code.metoffice.gov.uk/trac/um/changeset/110132/main/branches/dev/grenvillelister/vn12.0_all_ntp_fix
147 Missing products in Sec-50 diagnostics: Mismatch in ukca_chem_master and asad_flux_dat
50-092 STRATOSPHERIC OH LOSS (B153) Products for (OH + H2) changed under scheme v121 but not reflected in asad_flux_dat
50-123 STRAT O3 LOSS: HO2 + NO3 (B61) Product O2 not available for StratTrop
After chem v121/ always
Luke Abraham NLA to take a look
149 CRI-Strat photolysis bug ukca:#29
um:#7205
John Hemmings There is a bug that causes the wrong photolysis rate field to be output for the JNO2 diagnostic when using the CRISTRAT scheme. This results from an indexing problem in photol_diags in ukca_um_photol_ctl_mod.F90 (UM vn13.2) causing the wrong photolysis rate field to be output.
In lines 641-667, the loop used to find the index for accessing the required field data in ‘photol_rates’ relies on finding the position of the ‘jno2’ label in the ratj_varnames array and does not stop searching until the end of the array. In the CRISTRAT scheme there are multiple ‘jno2’ labels with different quantum yields and only one (with yield = 100%) is the correct one for the NO2 reaction. The others are for different reactions whose rates are derived from that. The index selected will be the last of the ‘jno2’ entries which is for the wrong reaction when there are multiple entries. The same processing is used for other photolysis rate labels but I don’t think these have multiple entries.
The ratj_varnames array referred to above is returned by a call to the ukca_get_photol_reaction_data API routine (dummy argument varnames_ptr). It holds the fname component of the ratj_defs structure for each photolysis reaction in the chemistry scheme. The inline documentation for this routine in ukca_chem_defs_mod.F90 does not indicate that the list returned may contain duplicates. This should be made clear to reduce the risk of misuse in future.
The bug will be corrected by UKCA:#29 and linked UM ticket #7205. These tickets will remove the existing UM-side code for the photolysis rate diagnostics and replace it with code using the new UKCA diagnostic handling scheme. This will access jrates after their input to UKCA as environmental driver data not before and it uses a more robust method to index the correct fields.
150 ukca_ddepctl bug for 27 tiles ukca:#19 Will alter results of 27 tile ukesm1 runs.
Fixed in Jules code by Garry, so no bug in UKESM2.
Will affect any job where ice isn’t the last tile.
Not that not all UKCA configurations use JULES - e.g. ACCESS
May not fix in UKCA - will only fix in JULES repo.

If it’s a small enough change, JM may sign off the fix. Will still be a while until CSIRO will use the latest UM versions. ||

151 minor UM depdency bug ukca:#29 A minor dependency bug in ukca_emiss_diags_mode_mod.F90 was introduced by Ticket #34 where the copydiag routine is used directly from the UM module copydiag_mod. This means that at um13.3 an extra UM module is required to build UKCA outside the UM e.g. when coupling with NAME. Instead, the routine should be used from the module `ukca_um_legacy_mod` allowing it to be replaced with a stub in non-UM builds.

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.
  • It is noted that we may have more time to work on these once LFRic work is done, and most can't be retired as under rose-stem for GA7.
# 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 AJH may be able to remove 9 PFT option, but it might be better to do when removing other dry-dep temporary logicals.
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)
GMED:#402
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)
GMED:#393
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)
GMED:#410
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)
GMED:#421
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)
GMED:#461
PROPOSED Medium-term Mohit Dalvi CLOSED
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
25 Change from using ukca_chem_master.F90 to a file-read for the chemical mechanism PROPOSED Short-term Luke Abraham Current chem_master module has compiler issues with that require changes to optimisation level on some compilers. A file read would be more flexible and would allow the mechanism to be more easily changed not requiring UM/UKCA code tickets.
26 highorder_scheme PROPOSED Mohit Dalvi May need to test this in rose-stem


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

# 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
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. Luke Abraham

Round (virtual) Table of current activities, plans

Person Activity

A.O.B. & D.N.M. (NLA)

Date of next meeting (NLA)