fab icon indicating copy to clipboard operation
fab copied to clipboard

incremental psyclone

Open bblay opened this issue 3 years ago • 1 comments

Todo: Needs definition. What are the things which, when changed, must trigger reprocessing of a file?

  • Obviously the preprocessed x90 is one.
  • There can be multiple "kernel root" folders too. Should we rebuild if anything in those changes, or can/should we parse and discover just the files?
  • Anything else?

Something's been updated in LFRic since we pinned the version, too. I believe it now uses big X90s and little x90s to differentiate preprocessed source.

"...the basic rule is that PSyclone needs to be re-run if the algorithm (.x90) file, the kernels (included by the .x90) or the transformation script change."

"The transformation script is passed to PSyclone as an argument. That script is a python script..."

bblay avatar Nov 17 '22 08:11 bblay

I believe the psyclone step now already supports incremental builds with prebuild hash calculations: https://github.com/MetOffice/fab/blob/03422d7e4ecfbe71bb7ccbe969631a95219f2d1f/source/fab/steps/psyclone.py#L348 The hash includes the x90 file hash, the kernel hashes, the transformation script hash, the command line argument hash and also the api hash. I have been using it in NGARCH project for some time and the reprocess triggering behavior seems correct up to now.

jasonjunweilyu avatar Jul 18 '25 01:07 jasonjunweilyu

We need to confirm this and close the issue if incremental psyclone works as expected

t00sa avatar Nov 27 '25 09:11 t00sa