I have been attempting to debug a problem for some time and now realise I need specialist expertise.
My suite u-ce487 is set up to perturb multiuple model parameter values simultaneously. Each model variant is allocated an index, so there are multiple atmos_main tasks. In this case, atmos_main001 and atmos_main002 have scale factors for BB emissions (0.5 and 2.0 respectively). But, output from these tasks is identical.
Note, that this style of perturbation to BB emission flux (and other parameters) worked without error on ARCHER, but has not yet worked on ARCHER2.
Debug commands are included in the ukca_add_emiss_mod.F90 routine
of my branch
A few pertinent debug WRITE statements can be found by searching for ‘ACURE_ERROR’.
The first of these writes out lat/lon indices and the value of an mask we use to apply scale factors regionally (acure_bb_emiss_region). In this simple example, the scale factors are the same for each region (0.5, or 2.0 for atmos_main001 and atmos_main002). I wrote these out to validate the scale factors are being applied to all lat/lon pairs, so kept all pe_output following advice in ticket #195 Retaining all pe output by avoiding housekeeping Scale factors are applied as intended, which confirmes our regional scaling ancilliary is read and used correctly as a mask.
The second debug statement writes out the values of a) the scale factor to be applied to BB emissions after they’re read in (aero_scaling_2d_carb_bb) and the value of the scale factor from our perturbation wrapper for one of the regions (acure_carb_bb_ems_rsh). These values are exactly as intended, 0.5 and 2.0 for all lat/lon pairs in atmos_main001 and atmos_main002 respectively.
The values of ‘aero_scaling_2d_carb_bb’ are then applied in the same routine as a scale factor to BC from BB. This worked as intended on ARCHER, but on ARCHER2 it is as if all scale factors are 1 (ignored - no change). There is a logical (l_acure_carb_bb_ems) to indicate if this emission source should be scaled, which logs show is true.
Note, I have used BB as an example here, but apply the same scale factors to fossil fuel (ff) and residential (res, or biofuel) emissions, with no effect on ARCHER2.
Summary: regional scale factors and regional ancillaries are combined to define a scale factor for BB emissions in each lat/lon correctly. The code for these scale factors is unchanged from ARCHER to ARCHER2, but on ARCHER2 there is no effect.
Any thought or ideas on how I can debug this problem further are welcome.