Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nemsfv3gfs master ccpp integration #63

Merged
merged 4 commits into from
May 9, 2018

Conversation

climbfuji
Copy link
Collaborator

This PR enables the integration of ccpp-framework (and ccpp-physics) in the current trunk of FV3 in directories ccpp/{framework,physics}.

Most changes are required for the build system so that it can be used with the existing SCM and with FV3 (current trunk). For the FV3-current trunk, the cmake configuration is cleaner and streamlined between the different CMakeLists.txt (and with ccpp-physics). To avoid introducing all these changes for SCM at the same time, the current - to be improved - cmake config for SCM is retained. A new variable PROJECT is introduced that allows to distinguish between different builds (currently 'CCPP-FV3' for FV3-current trunk and default='unknown' for SCM). The cmake build system needs to be reworked, best would be to introduce project 'CCPP-SCM' for the SCM build and use 'unknown' for building the CCPP standalone.

A new attribute 'initialized' is introduced for type ccpp_t (cdata structure) to test the initialization state of cdata. This is required for calling fast physics in FV3 dynamics through CCPP.

For FV3-current trunk, the list of schemes and their dependencies and their caps is written to makefile and cmakefile snippets and used during the cmake build of ccpp-physics (as opposed to FV3v0, where only the auto-generated list of caps is used, or SCM where all of it is hardcoded). This requires minor changes to the Python prebuild script and configs.

This PR is related to several others listed in a follow-up comment. Results are bit-for-bit identical with FV3v0 and SCM.

…tion to existing makefile includes.

Introduction of "dependencies" for schemes that allow to use the makefile/cmakefile snippets for compiling the physics library (using the list of dependencies, schemes and caps)

New host model configuration for current trunk of FV3 (currently called FV3v1), rename existing FV3 to FV3v0.
…ed with the existing SCM and FV3 (v1/current trunk). For the FV3-current trunk, the cmake configuration is cleaner and streamlined between the different CMakeLists.txt (and with ccpp-physics). To avoid introducing all these changes for SCM at the same time, the current - to be improved - cmake config for SCM is retained. A new variable PROJECT is introduced that allows to distinguish between different builds (currently 'CCPP-FV3' for FV3-current trunk and default='unknown' for SCM). The cmake build system needs to be reworked, best would be to introduce project 'CCPP-SCM' for the SCM build and use 'unknown' for building the CCPP standalone.
…k, update of ccppphys library version number in accordance with changes to cmake config in ccpp-physics
… functionality to test and set the initialization state of cdata
@climbfuji
Copy link
Collaborator Author

All PRs related to this change (note that no changes are needed for gmtb-scm):
NCAR/ccpp-physics#76
https://github.com/NCAR/gmtb-fv3/pull/46

Copy link
Contributor

@llpcarson llpcarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@llpcarson llpcarson merged commit 527d96f into NCAR:master May 9, 2018
@climbfuji climbfuji deleted the NEMSfv3gfs_master_ccpp_integration branch June 27, 2022 02:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants