-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
I would like to work out how exactly we want to include code intended for coupled applications. At the moment, we use all 3 possible methods in different places:
- Preprocessor directives e.g. science/casa-cnp/bgcdriver.F90, science/misc/cable_climate.F90. Also note that
UM_CBLis the only preprocessor directive that's active at the moment-ESM15andUM_BUILDare not defined. - Namelist options e.g. science/roughness/cable_roughness.F90, science/gw_hydro/cable_gw_hydro.F90
- Inclusion of files via CMakeLists.txt
My opinion is that the best approach in the long term is to cut the preprocessor directives entirely, and rely on namelist options and inclusion/exclusion of files via CMake to get the desired application-dependent behaviour. The removal of preprocessor directives wouldn't happen particularly soon, but it might influence the way I work on the library for AM3. I think we have discussed this before, but I couldn't find anything written down. Thoughts @ccarouge @JhanSrbinovsky @har917 @rml599gh?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels