5 add fab build script - #6
Conversation
|
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, ...). |
|
Fab PR MetOffice/fab#592 submitted, which will allow us to copy a single file (and remove the duplicated file again once it is merged). |
|
I've hit a problem with my testing and I'm not sure if it's something I've done or a problem with the LFRic software stack! If I run the If I run with my own install of fab and alter the code to generate a traceback, I get a stack trace that points to a problem in fparser: My environment includes fparser 0.24, fab 2.2.0, clang 20.1, gcc 12.2.0, and MPICH 4.3.2. |
|
No idea what is happening :( I did notice that the logging was not set up correctly, hopefully that's the reason why the stack trace wasn't shown (there is an issue that Fab does not abort on analysis errors).
Two questions:
|
|
Dang, I accidentally pushed an update that requires a change to Fab as part of my logging fix :( I've created a new branch |
|
Matthew thinks he has seen something similar before and has suggested that it might be a problem with the pre-processing. I'll do a bit of investigating and let you know how I get on |
Yes, that's why I also wanted the log file and the preprocessed file. It might be that the pre-processed files have line markers (though they should be accepted in fparser 0.2.4, but 0.2.2 and earlier they would trigger an error). Check environment flags - so far I have made no real progress in removing them (due to request to stay compatible with existing builds) - though iirc only actual compiler flags should be picked up ( |
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)
Testing
So far, no testing has been done of the binary.
Security Considerations
Performance Impact
AI Assistance and Attribution
N/A
Code Review