Skip to content

CCPP Framework Meeting Minutes 2019 01 24

goldy edited this page Mar 9, 2020 · 1 revision

Discussion about Steve's new capgen:

  • blocked data structures are still an issue when running physics over all blocks at once
  • proposed solution to create temporary flat fields from blocked data not yet fully implemented
  • currently still passing encompassing derived data types for contiguous memory access

Dom's new static build w/o cdata:

  • works fine with NEMSfv3gfs REPRO mode
  • has issues with NEMSfv3gfs PROD mode (crashes or gives different results on Theia/Intel15)
    • crashes could be tracked back to Intel 15 when passing uninitialized/invalid data to subroutines
    • Intel 18 tolerates this
    • note from follow-up GMTB meeting: we need to address this in the future, we don't want to create code that passes invalid/uninitialized data to subroutines
  • capgen code pretty similar to new no-cdata static build, which should make the transition easier in the future

Static versus dynamic build:

  • still needed? GMTB to follow up with sponsors, also about hybrid build (which requires the dynamic build option)
  • there are advantages for having the dynamic build, but more discussion is needed if those justify the costs for maintaining it
  • what kind of flexibility do we need, and what is the best way to achieve it?
  • where to draw the line between host model and CCPP? At the host model cap level? This will become important when working on the NUOPC-CCPP integration

How to specify which files to consider for compilation?

  • filtering for static build as done now? CCPP prebuild returns a list of files (caps, schemes, dependencies; subset of files defined in ccpp_prebuild_config.py) that need to be compiled for a suite in the static build, or all available files as defined in ccpp_prebuild_config.py for the dynamic build

New Python checkout/testing script:

  • can be used for checking out the code only without running the tests
  • Steve wants to give this a try

PR procedures - which branches to use?

  • Steve is going to use ccpp-framework master branch for capgen
  • GMTB to give up gmtb/develop: merge existing development from gmtb/develop to master, change static-no-cdata PR to target master (gmtb/ccpp for FV3 and NEMSfv3gfs)
Clone this wiki locally