Make modifications needed to build a Python-wrapped version of SHiELD #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR makes changes required for building a Python wrapped version of SHiELD. It does two main things:
coupler_main.F90
driver into static libraries, which downstream applications can link to (for now I did this only for theshield
configuration option, but I could make a similar change for thesolo
configuration as well).nopic
/pic
option to theCOMPILE
,BUILDlibfms
, andBUILDnceplibs
scripts, and adding anPIC
option to the Makefile templates for thegnu
,intel
, andnvhpc
compilers.Fixes #27
How Has This Been Tested?
These changes have been tested in ai2cm/SHiELD-wrapper#1. The continuous integration setup there builds the fortran model and its dependencies using the
COMPILE
script, builds the Python wrapper, and runs several tests. An important test checks that the Python-wrapped model produces bit-for-bit identical results to the fortran executable for an identically configured run.Checklist:
Please check all whether they apply or not