Nan Error When Prescribing Land Use


I keep getting the EG_BICGSTAB (NaNs in error term in BiCGstab after 1 iterations) or the North/South halos too small for advection error when attempting to prescribe PFT fraction (stash 216) in a Archer2 run (u-cp508). I have run with Diagnostic Print Status but can’t see any obvious solution. The suite runs for ~10 mins before crashing.

u-cp508 is coupled and I am overwriting the land use generated by Triffid to investigate a particular LU scenario. I know this general approach works as I have had coupled Archer2 suites (with Triffid on) (e.g. u-cp448) succeed when prescribing LULC derived from UKESM CMIP6 model output (e.g.

However, in this case I am trying to prescribe LULC from a scenario I have developed from an external source (CESM). I did the necessary PFT conversions, created a netCDF file and used xancil to make the ancil file (/work/n02/n02/jweber/Ancils_CESM_Land/Timeseries/maxforest_216_timeseries_OUT.anc). I followed Jeff’s advice in Using xancil and xconv to create timeslice ancillary files for this. The maxforest_216_timeseries_OUT.anc fails on Archer2 but succeeds when run in coupled suites on Monsoon (e.g. u-cn793). I have looked at the ancil in xconv and it looks reasonable.

To test my processing code, I extracted the raw data from the UKESM model derived stash ( and ran this through my processing script - u-cp508 ran fine with the resulting ancil. I’ve also done further tests where I duplicated the UKESM data and replaced one PFT field with the field corresponding field from my new data - this also caused the model to crash.

This is quite confusing as the new ancil file runs on Monsoon and makes me think I may need to adjust my Archer2 suite.

Would you have any suggestions?

Many thanks for your help,


Just an update on this, it is only a problem when i_co2_opt = 3 / l_co2_interactive = True and I think it is being caused by a sudden large change in the PFT land cover (stash 216). From adding various print statements to my branch (dev/jamesweber/vn12.1_base) I think the error is occurring in the UM code somewhere after atmosphere/convection/tracer_total_var.F90 and before atmosphere/dynamics_diagnostics/sl_tracer_norm.F90. Is there any documentation about the order in which modules are called in the UM?

On a separate issue, I’ve trying to setup pptransfer to Jasmin but one links on the CMS webpage discussing this doesn’t seem to be working. The main page is
UKESM1.1-coupled Release Notes and the link is Could you point me to the update version of this page?

Many thanks,


Hi James,

In answer to your pptransfer question there’s an extraneous _ in the link:

I’ll fix the UKESM page shortly.


Great, thanks Ros, I’ll give that a go.