Alex Archibald has suggested that rather than running FASTJX it might be much more computationally efficient to use the photolysis tables instead. The instructions for doing this are at https://code.metoffice.gov.uk/trac/UKESM/wiki/ticket/707/create_jobs_photolysis and I've run
Getting the photolysis tables to work involved some significant bodging. About 30 files were missing, so I use symoblic links to jo2.dat for these missing files to get u-bw695 and u-bw702 to run for one month. Hence, the science for these runs is bound to be rubbish, but hopefully this is sufficient for a reasonable computational test.
Benchmark, u-bw526 | ASCII photolysis table, u-bw695 | Binary photolysis table, u-bw702 | |
UM_SHELL | 2907s | 2753s | 2793s |
UKCA_MAIN1 | 466s | 355s | 363s |
UKCA_FASTJX or UKCA_STRAT_PHOTOL | 114s | 23s | 23s |
The table above shows that using photolysis tables reduces photolysis to a small computation - around 23s. It was about 114s, which is 24% of the total time in UKCA_MAIN1 (466s) and 3.1% of total runtime (2907s). And it's reduced to 23s, which is about 4.9%/6.5% of the total time in new/original UKCA_MAIN1 (466s/355s), and is about 0.8% of total runtime. Hence, it's saved about 2.3% on the total runtime.
We'd expect reading a binary file to be quicker than ascii (u-bw702 versus u-bw695), but for small files then most of the time is probably opening the file anyway. Hence, not surprising that we're not seeing a difference between u-bw695 and u-bw702.