Skip to content

Nemsfv3gfs master ccpp integration#63

Merged
llpcarson merged 4 commits into
NCAR:masterfrom
climbfuji:NEMSfv3gfs_master_ccpp_integration
May 9, 2018
Merged

Nemsfv3gfs master ccpp integration#63
llpcarson merged 4 commits into
NCAR:masterfrom
climbfuji:NEMSfv3gfs_master_ccpp_integration

Conversation

@climbfuji
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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