Skip to content

5 add fab build script - #6

Open
Joerg Henrichs (hiker) wants to merge 5 commits into
MetOffice:mainfrom
hiker:5_add_fab_build_script
Open

5 add fab build script#6
Joerg Henrichs (hiker) wants to merge 5 commits into
MetOffice:mainfrom
hiker:5_add_fab_build_script

Conversation

@hiker

@hiker Joerg Henrichs (hiker) commented Jul 30, 2026

Copy link
Copy Markdown

PR Summary

Add a FAB-based build script for MONC.

Code Reviewer: Sam Clarke-Green (@t00sa)

This PR adds a simple FAB build script.

Linked issue:
MetOffice/fab#588
(for now there is a work-around in place by duplicating a single file).

Code Quality Checklist

(Some checks are automatically carried out via the CI pipeline)

  • I have performed a self-review of my own code
  • My code follows the project's style guidelines
  • Comments have been included that aid understanding and enhance the readability of the code
  • My changes generate no new warnings

Testing

So far, no testing has been done of the binary.

Security Considerations

  • I have reviewed my changes for potential security issues
  • [N/A] Sensitive data is properly handled (if applicable)
  • [N/A] Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • [N/A] Performance of the code has been considered and, if applicable, suitable performance measurements have been conducted

AI Assistance and Attribution

N/A

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

@github-actions github-actions Bot added the cla-signed The CLA has been signed as part of this PR - added by GA label Jul 30, 2026
@hiker

Copy link
Copy Markdown
Author

This seems to work for a simple build with gfortran now (debug, safe, and high compilation mode). I have added settings for other compilers (intel classic+llvm, cray) based on the existing settings in fcm-make, and a setup for nvidia (based on LFRic). The latter will very likely not work. Note that I could not even test build any other compiler except GNU.

Note that for now I had to duplicate one file (monc_driver.F90). I have it locally working without the duplication, but it needs an update to Fab (I am waiting for feedback from the UKMO which implementation they prefer). For testing and progressing the initial Fab build, this will work for now, once we have the next Fab release done, we can remove the duplication again.

I need help from a dev here. I don't know how the casim/socrates integration would work at all - I have command line flags added to disable these integrations (which is the default, i.e. it will use the corresponding stub files), but with the integration, likely additional flags will be required (i.e. is casim etc. linked in as library?? Search path for these, ...).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed as part of this PR - added by GA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants