Skip to content

CCPP Framework Meeting Minutes 2021 12 14

Dom Heinzeller edited this page Dec 15, 2021 · 9 revisions

Agenda


CCPP Visioning Workshop

  • CCPP Physics Code Mgmt Meeting
  • See slides 7 (workshop goals), 9 (workshop audience), and 10 (potential participation in the workshop organizing committee).
    • We should provide the workshop participants with a list of improvements that have been made, and others that have been discussed, maybe already implemented in capgen, or are in development
    • Need to provide education on the topics provided so that people understand what it implies to do actual 3D physics, how to create performant GPU code, ...
  • Ligia and Mike are trying to put together a DTC proposal shortly to make this happen.
  • The timeline for such a workshop is late 2022 or after.

Dictionary of standard names

  • Convenience units, etc (all triggered by https://github.com/ufs-community/ufs-weather-model/pull/907 and associated PRs)
    • Best option would be to pass around the actual quantities and not functions of it
      • But if the function is used in many places, then this slows things down
      • Need to understand how widespread this situation is (is it just log(Pa) or are there more such cases, e.g. in chemistry)
      • We need to be able to support modified variables such as xyz_multiplied_by_timestep_abc, but this is not interoperable
      • Are these non-portable qualifiers in the dictionary?
      • Add information to section "Best practices" in the CCPP technical documentation to try to avoid using these non-portable variables and units, but don't make it a rule
    • If we do want to pass log(pressure), then is there a way to know whether we need to do unit conversions
      • For example, if only diffs of log are used, ore ratios of Pa**kappa are used --> no need to do conversions
      • Could use unit log(Pa) if it matters, and 1 if it doesn't
      • Should be ln() if it is natural log
      • Dom to check
    • Corresponding standard names:
      • finite_volume_mean_edge_pressure_raised_to_the_power_of_kappa
      • natural_log_of_ozone_forcing_data_pressure_levels
      • natural_log_of_h2o_forcing_data_pressure_levels
  • Is specific humidity the mass mixing ratio of vapor with respect to moist air or with respect to total mass (rule 5)?
    • Correct would be w.r.t. total mass, but UFS / ccpp-physics are using it incorrectly as w.r.t. moist air
    • AMS glossary says specific humidity is w.r.t. total mass, but there are other definitions in the literature
    • Outlow use of specific humidity,m and always use mixing_ratio_of_vapor_wrt_xyz?
    • Dom to discuss this with Moorthi and Fanglin (Moorthi on AL until the end of the year)

CCPP requirements document

  • Historical document created? Check with Ligia next week

Other business

  • CMake build instructions/standardization for host models?
  • Idea: provide CMake macro that runs capgen and provides certain information back
    • Standard set of information that the host model needs, e.g. names of all auto-generated files
  • Need to specify all input requirements: list of metadata files (host, scheme), list of type definitions, list of suite definition files, ...
    • Change to: Instead of list of scheme files, take search path (plus list of suites) --> capgen returns list of schemes
    • This works with capgen, but not with prebuild (thus don't bother implementing it there)
Clone this wiki locally