Skip to content

CCPP Framework Meeting Minutes 2020 04 02

goldy edited this page Apr 2, 2020 · 12 revisions

Agenda

"Tour de ccpp_capgen.py"

  • introduction of a post-analysis database dump
    • database contains a lot of information about the run
    • from the command line, via a Python interface, or via a new inspection routine
  • what is needed to transition GFS physics to ccpp_capgen.py
    • handle blocked data structures for the different stages (init, run, ...)
    • GFS data types
    • stricter requirements in ccpp_capgen.py (order of arguments, compare Fortran code and metadata, horizontal_dimension versus horizontal_loop_extent)
  • additional features to be developed in the near future
    • advanced diagnostics (accumulating, averaging, ...)
  • CCPP physics schemes are usable by both ccpp_prebuild.py and ccpp_capgen.py as-is (but ccpp_capgen.py is stricter checking for the requirements, see above)

Proposal Add suite keyword to suite definition file? https://github.com/NCAR/ccpp-framework/issues/275

  • will it make it easier or create problems elsewhere
  • Dom's opinion is to keep ccpp_capgen.py as easy as possible - is this a tradeoff to holding back good development? Please think about it and comment on the issue

Collaboration with NRL on SCM and on GPU/NUOPC caps

  • three areas identified for collaboration: variable information exchange between CCPP and host model, SCM, rejected GPU-NUOPC cap proposal
  • best way to go forward: transfer funds from NRL to NCAR, or assist development at NRL?
  • implementing another vertical advection scheme (spectral element vertical advection scheme) in SCM should be relatively straightforward; NRL would like to get started on this at some point this quarter (Q2/2020)
  • GPU-NUOPC cap SIP proposal
    • NEPTUNE will be GPU enabled in the future, MPAS already is
    • John's work on coordinate-independent code; this goes a long way towards porting to GPUs and covers array transformations (controlling which dimension is innermost).
    • Steve mentioned a technique for writing code that is independent of vertical direction by passing information on which index represents the lowest and highest model layers or interfaces (e.g., index_of_bottom_vertical_layer, see the CCPP Standard Names Dictionary for more information).
  • available funds need to be spent by the end of the calendar year
  • expectations for ccpp_capgen.py are that it will be matured enough to use with "real" physics by the end of the year
Clone this wiki locally