-
Notifications
You must be signed in to change notification settings - Fork 64
CCPP Framework Meeting Minutes 2021 12 14
Dom Heinzeller edited this page Dec 15, 2021
·
9 revisions
- 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.
- 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
- Best option would be to pass around the actual quantities and not functions of it
- 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)
- Historical document created? Check with Ligia next week
- 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)